Commit Graph

317 Commits

Author SHA1 Message Date
Zack Fu Zi Xiang 395486adc3
fix: fix various publish issues 2024-06-29 11:23:23 +08:00
Bartosz Sypytkowski 71899ec792 chore: disabling indexing on workspace prunes collab embeddings 2024-06-28 09:09:18 +02:00
Bartosz Sypytkowski 2f37f621b2 fix: collab update violating primary key 2024-06-28 07:11:33 +02:00
Bartosz Sypytkowski 9ea085d6db chore: fix cargo formatting 2024-06-28 05:40:44 +02:00
Bartosz Sypytkowski b79fe41af3 chore: moving embeddings into collabparams 2024-06-28 05:39:56 +02:00
Bartosz Sypytkowski b1ebbecc5f chore: moving appflowy indexer into appflowy cloud 2024-06-28 05:39:53 +02:00
Bartosz Sypytkowski b978033c77 fix: make search results visible for members 2024-06-26 13:03:11 +02:00
Bartosz Sypytkowski 6592f00a20 chore: change query to use workspace directly 2024-06-25 08:07:32 +02:00
Bartosz Sypytkowski 2ff2a77465 fix: do not throw errors if indexer found document before workspace was created 2024-06-25 07:30:48 +02:00
Bartosz Sypytkowski ef27a148b9 chore: rename workspace settings disable indexing to disable search indexing in database queries 2024-06-24 10:54:42 +02:00
Zack Fu Zi Xiang 0bf6d3bd60
feat: change doc name to publish name 2024-06-21 11:18:44 +08:00
Zack Fu Zi Xiang 0adbf132be
chore: merge with main 2024-06-20 21:15:25 +08:00
Nathan.fooo a3af38162e
chore: fix upload filem meta key by adding parent dir as prefix (#635)
* chore: fix upload filem meta key by adding parent dir as prefix

* chore: fix test
2024-06-20 21:12:28 +08:00
Zack Fu Zi Xiang b525e333f0
feat: batch unpublish 2024-06-20 12:05:12 +08:00
Zack Fu Zi Xiang 31f5c786a6
chore: merge with main 2024-06-20 11:20:16 +08:00
Zack Fu Zi Xiang d4dd350da1
feat: batch publish item with metadata 2024-06-20 11:15:08 +08:00
Nathan.fooo 30f87457f3
feat: support uploading file with multiple part (#625)
* refactor: replace crate

* chore: remove s3-rust crate

* chore: test multiple upload

* chore: client api

* chore: client api

* chore: v1 version upload,download

* chore: fix test

* chore: fix test

* chore: remove workspace test

* chore: fix wasm build

* chore: update path

* chore: update path

* chore: rename

* chore: expose file entity

* chore: introduce client-api-entity

* chore: fix build

* chore: new url

* chore: fix test

* chore: merge main

* chore: fix clippy
2024-06-19 13:06:58 +08:00
Zack Fu Zi Xiang 6c09839728
feat: batch metadata 2024-06-19 01:30:51 +08:00
Zack Fu Zi Xiang 09828c5eea
feat: add impl for get collab info 2024-06-18 19:07:48 +08:00
Zack Fu Zi Xiang 18e9d0abae
feat: use view id 2024-06-18 18:20:05 +08:00
Bartosz Sypytkowski 9ea4de06fd
Merge pull request #630 from AppFlowy-IO/track-ai-responses
chore: change open ai token tracking to daily basis
2024-06-18 10:04:04 +02:00
Bartosz Sypytkowski 9ca904f943 chore: change open ai token tracking to daily basis 2024-06-18 06:53:39 +02:00
Zack Fu Zi Xiang d2cb0d4486
chore: remove unneeded api 2024-06-17 21:33:36 +08:00
Zack Fu Zi Xiang cb74f38ac8
fix: json metadata 2024-06-16 20:41:50 +08:00
Zack Fu Zi Xiang 05b284f7e7
feat: client code for namespace changes 2024-06-16 14:06:04 +08:00
Zack Fu Zi Xiang 233b757698
feat: add published endpoints 2024-06-15 21:47:11 +08:00
Zack Fu Zi Xiang 2ab59e79a3
feat: get published collab meta data 2024-06-15 21:20:59 +08:00
Zack Fu Zi Xiang de413844dc
feat: put and get published collab data 2024-06-15 14:59:18 +08:00
Zack Fu Zi Xiang 94bd62869c
feat: delete publish collab 2024-06-15 11:51:05 +08:00
Zack Fu Zi Xiang 18da7b873b
feat: publish namespace and metadata 2024-06-14 21:35:39 +08:00
Bartosz Sypytkowski b52369de7f
feat: add workspace settings with disable indexing option (#606)
* feat: add workspace settings with disable indexing option

* chore: added api workspace settings endpoint

* chore: add workspace settings read and write to client api

* chore: add tests for workspace settings client api

* fix: enforce authorization rules on workspace settings api

* chore: fix appflowy indexer test configuration

* chore: add dotenvy to appflowy indexer tests

* chore: override appflowy indexer env vars for tests

* chore: add appflowy indexer preindex env var
2024-06-06 09:26:21 +08:00
Bartosz Sypytkowski 58e01f4e8d
fix: index documents with missing embeddings at service start (#597)
* feat: appflowy-indexer indexes documents with missing embeddings at start

* chore: add tests to check initial indexing of collabs

* chore: log user search requests and response

* fix: wrong appflowy openai api key env var name

* chore: fill openai keys for integration testing

* chore: silence flaky test
2024-06-04 16:50:06 +08:00
Nathan.fooo b36715dc24
chore: generate answer manually (#594)
* chore: generate answer manually

* chore: rename

* chore: return reply message id

* chore: save message

* chore: commit schema files
2024-06-03 08:06:23 +08:00
Nathan.fooo 1cc5b58254
chore: update client api (#593) 2024-06-02 20:20:14 +08:00
Nathan.fooo edfcb5c1ea
chore: extend chat message with meta (#592) 2024-06-01 19:32:39 +08:00
Nathan.fooo 1537c4d1f6
chore: update chat test (#590) 2024-05-30 17:15:13 +08:00
Bartosz Sypytkowski c4702bbbdf
feat: Workspace token usage (#584)
* feat: register open ai token usage during indexing

* feat: register open ai token usage during search

* chore: fixed open ai token usage when searching for documents
2024-05-29 16:07:56 +08:00
Bartosz Sypytkowski d3e59fa801
feat: Appflowy-indexer service and /api/search endpoint (#582)
* feat: implement appflowy-indexer and search api endpoint

* chore: store embedding content type

* chore: more descriptive messages for open ai missing key

* chore: fix sqlx errors in tests

* chore: document watcher - change plain text rendering to use depth-first scan

* chore: added nested document blocks example
2024-05-28 21:09:29 +08:00
Khor Shu Heng 93b4a1516c
feat: add postgres listeners for collab service (#575) 2024-05-27 09:12:32 +08:00
Nathan.fooo 559d924cd1
feat: stream chat message (#577)
* chore: save author id

* chore: stream response

* chore: stream chat message
2024-05-26 22:44:08 +08:00
Nathan.fooo ae3e075475
chore: Integrate with client-api, update chat message (#574)
* chore: update

* chore: get chat message with next back option

* chore: update next back

* chore: return answer

* chore: return answer

* chore: return answer

* chore: update client api

* chore: fix ci
2024-05-24 15:04:50 +08:00
Nathan.fooo 4eb1e6bceb
chore: generate history using redis steam (#570)
* chore: combine test

* chore: add snapshot test

* chore: add test
2024-05-23 07:57:20 +08:00
Nathan.fooo 05e7f1cda7
Integrate ai chat (#569)
* chore: fix compile

* chore: implement client api

* chore: implement client api

* chore: clippy
2024-05-22 11:18:07 +08:00
Zack ec7eb54bfc
chore: Self host improvement (#561)
* fix: remove multiple ways to specify database name

* feat: resent email for already invited user

* feat: mailer address from smtp username

* feat: allow user defined smtp port
2024-05-18 08:33:08 +08:00
Nathan.fooo 4c00ddd593
chore: Chat history (#546)
* chore: imple sql curd

* chore: update chat

* chore: select messages

* chore: update test

* chore: update schema

* chore: update
2024-05-11 20:41:21 +08:00
Nathan.fooo 388d38428b
chore: revamp post realtime endpoint (#536)
* chore: revamp  post realtime endpoint

* chore: fix clippy

* chore: fix fmt
2024-05-08 22:06:37 +08:00
Nathan.fooo 70262a1ac4
chore: try to not block actor mailbox (#534)
* chore: add test

* chore: spawn task to handle message

* chore: update error message
2024-05-08 16:54:05 +08:00
Nathan.fooo 359433f14c
fix: pool timeout when there are too many put blob requests (#533)
* fix: pool timeout when there are too many put blob requests

* chore: fix clippy

* fix: dont use transaction while putting data

---------

Co-authored-by: Zack Fu Zi Xiang <speed2exe@live.com.sg>
2024-05-08 12:20:06 +08:00
Zack 8870607569
Merge pull request #528 from AppFlowy-IO/email-link-reuse
feat: reuse email link
2024-05-06 15:04:12 +08:00
Zack Fu Zi Xiang 572271f751
feat: reuse email link 2024-05-06 14:18:36 +08:00
Bartosz Sypytkowski 47e6f1e8b1
Update Yrs and AppFlowy-Collab (#518)
* chore: updated collab dependencies to v0.2

* chore: update collab to v0.2 and yrs to v0.18

* chore: pinned collab to specific revision

* chore: fix clippy errors

* chore: update commit id

---------

Co-authored-by: nathan <nathan@appflowy.io>
2024-05-06 11:30:02 +08:00
Zack Fu Zi Xiang 9adf3f883c
feat: improve email workspace invitations 2024-04-30 11:07:29 +08:00
Zack Fu Zi Xiang 6e74449ab1
feat: accept workspace invite email 2024-04-29 19:40:20 +08:00
Khor Shu Heng cbedbcb748
chore: patch for RUSTSEC-2024-0336 (#503) 2024-04-28 13:58:28 +08:00
Nathan.fooo 7b4b9d0c10
chore: folder data check (#496)
* chore: folder data check

* chore: stop observe remote change when specific type of collaboration object override with incorrect data

* chore: commit sqlx file
2024-04-26 13:20:06 +08:00
Nathan.fooo a0593b5502
chore: refactor return response with object id (#494)
* chore: refactor return response with object id

* chore: fix ci

* chore: fix ci
2024-04-24 12:07:54 +08:00
Nathan.fooo 9e1c06a5af
chore: update log (#480) 2024-04-20 10:53:35 +08:00
Nathan.fooo 970fbaed57
feat: using transaction to write multiple records (#477)
* chore: impl batch write

* chore: update test

* chore: using save point to optimize write

* chore: update docs

* chore: fix test

* chore: increase write speed

* chore: use redis sorted set

* chore: fallback to write to disk directly when fail to queue

* chore: fix test

* chore: fix test

* chore: update log

* chore: add metrics
2024-04-19 15:22:57 +08:00
Nathan.fooo 4168d72390
chore: using redis conn for each action (#476)
* chore: batch insert

* chore: opti redis conn

* chore: fix test
2024-04-17 11:41:50 +08:00
nathan 585bd83f1c chore: update log 2024-04-16 21:10:16 +08:00
Nathan.fooo 8ab7815740
chore: reduce pool lock (#475)
* chore: reduce pool lock

* chore: clippy
2024-04-16 20:26:26 +08:00
Nathan.fooo f3279e9b4e
feat: implement grpc for history server (#470)
* ci: docker compose for ci

* chore: add test

* chore: imple grpc

* chore: fix test

* chore: fix ci
2024-04-16 14:10:56 +08:00
Nathan.fooo 3901356e8a
chore: bump collab version (#471) 2024-04-15 12:35:14 +08:00
Nathan.fooo 28e0e74fd1
feat: Implement history(1) (#466)
* chore: update collab commit

* chore: collab history test

* chore: collab history test

* chore: impl redis stream

* chore: impl redis stream test

* chore: impl migration

* chore: implement history sql

* chore: add test

* chore: add test

* chore: fix test

* chore: update log and test

* chore: add xtask

* chore: clippy

* chore: impl api

* chore: add missing sqlx files

* chore: fix test

* chore: fix test
2024-04-15 09:18:19 +08:00
Nathan.fooo baeeb2c5ce
chore: do not wait insert to redis finish when calling get collab (#468) 2024-04-13 10:26:05 +08:00
nathan 131c9ed65f chore: use join 2024-04-08 17:23:26 +08:00
Nathan.fooo b1c3d779ba
chore: reduce save collab db operations (#455)
* chore: reduce save collab db operations

* chore: clippy

* chore: add test

* chore: add test

* chore: add test
2024-04-08 14:50:51 +08:00
Nathan.fooo 428c3feef2
chore: create default workspace database (#454)
* chore: create default workspace database

* chore: fix clppy
2024-04-06 21:04:12 +08:00
Nathan.fooo d77fb77a3a
feat: validate collab data before writing to disk (#425)
* chore: validate collab

* chore: update test

* chore: partition key

* chore: save collab

* chore: save collab
2024-03-29 14:55:51 +08:00
Nathan.fooo d30cf93a1f
feat: sync protocol (#421)
* chore: send full update when it's first time to sync

* chore: update last sync at
2024-03-27 21:39:47 +08:00
Nathan.fooo 3e36dae50d
chore: remove collab ac cache (#420)
* chore: remove collab ac cache

* chore: update member write workspace role

* chore: fix test

* chore: clippy
2024-03-26 21:36:24 +08:00
Nathan.fooo c015ee7c7e
fix: peer sync (#408) 2024-03-22 21:32:41 +08:00
Zack Fu Zi Xiang 44ced4036e
Merge branch 'main' into leave-workspace 2024-03-20 09:35:00 +08:00
Zack Fu Zi Xiang c8133302c1
feat: remove storage limit 2024-03-19 22:13:59 +08:00
Zack Fu Zi Xiang 5f220ab0b0
feat: user leave workspace 2024-03-19 21:58:56 +08:00
Nathan.fooo a31c246b67
feat: Access control group (#395)
* chore: access control for group

* chore: access control for workspace

* chore: add test

* chore: enforce group

* chore: update docs
2024-03-19 12:57:08 +08:00
Zack Fu Zi Xiang 5fa6ccdcdb
feat: workspace invitation view shared and accept 2024-03-18 15:59:07 +08:00
Zack Fu Zi Xiang 1dbffaf4f0
Merge branch 'main' into frontend-admin/user-usage 2024-03-14 17:52:20 +08:00
Zack Fu Zi Xiang 0048533914
feat: total document usage 2024-03-14 17:50:19 +08:00
Nathan.fooo 40fc18a499
feat: only enforce when permission change (#382)
* feat: only enforce when permission change

* chore: fix client api ci

* chore: fix test

* chore: fix test
2024-03-13 17:14:43 +08:00
Zack Fu Zi Xiang 9b28edb5bc
feat: use email for af workspace invitation table 2024-03-06 11:29:07 +08:00
Zack Fu Zi Xiang 36c0181032
Merge branch 'main' into workspace-invite-2 2024-03-05 09:34:35 +08:00
Nathan.fooo 0e4442159e
chore: support client version when connect using webscoket (#368)
* chore: support client version when connect using webscoket

* chore: update tokio version

* chore: fix audit

* chore: fix wasm test

* chore: update

* chore: update

* chore: update

* chore: update
2024-03-05 07:22:56 +08:00
Zack Fu Zi Xiang f70995ad05
chore: better error handling for accepting invitation 2024-03-04 20:55:57 +08:00
Zack Fu Zi Xiang 1af1b877ef
Merge branch 'main' into workspace-invite 2024-03-04 12:40:48 +08:00
John Vandenberg 63527e3cae
fix: typos (#359)
* Fix typos

* chore: solve conflict

---------

Co-authored-by: nathan <nathan@appflowy.io>
2024-03-04 11:32:42 +08:00
Zack Fu Zi Xiang 17a965a30b
chore: remove commented blocks 2024-03-04 09:11:44 +08:00
Zack Fu Zi Xiang 439a59ed2d
chore: save current progress 2024-03-03 19:06:24 +08:00
Zack Fu Zi Xiang bc3fccfcea
chore: merge with main 2024-03-03 14:37:50 +08:00
Zack Fu Zi Xiang f1e81d59c4
test: crud flow for workspace invites 2024-03-03 14:26:03 +08:00
Nathan.fooo 0e57de98d8
refactor: Access control (#361)
* refactor: access level

* refactor: access control

* refactor: enforce action

* refactor: collab cache

* chore: fix test

* chore: fix test

* chore: fix test

* chore: fix test

* chore: commit migration file

* chore: commit migration file
2024-03-03 12:55:12 +08:00
Zack Fu Zi Xiang e8328fd0a4
feat: workspace invitations 2024-03-03 02:48:01 +08:00
Nathan.fooo 2cf857bd00
feat: optimize websocket message (#351)
* chore: send multiple message

* refactor: message

* refactor: message

* fix: test

* fix: test

* fix: test

* chore: docs

* fix: test

* chore: support compress

* chore: interval retry

* chore: fix test

* chore: merge main

* chore: clippy

* chore: clippy

* ci: fix test

* chore: clippy

* chore: clippy
2024-03-02 02:53:14 +08:00
Zack 79a0dd43c6
feat: Create workspace (#357)
* feat: initialize collab for user after workspace creation

* fix: add permission before adding new collab for new workspace

* chore: simplify logic
2024-02-29 13:02:27 +08:00
Nathan.fooo 5ed6a14943
chore: reduce lock required (#353)
* chore: spawn local task

* chore: spawn local task

* chore: spawn local task

* chore: spawn local task

* chore: fix test

* chore: fix test

* chore: clippy

* chore: clippy

* chore: clippy

* chore: clippy
2024-02-27 18:50:44 +08:00
Zack Fu Zi Xiang 7abba9d7ef
feat: add workspace icon field 2024-02-27 11:26:31 +08:00
Nathan.fooo deffd074b9
chore: check collab before insert (#349)
* chore: check collab before insert

* chore: fix audit

* chore: speed test

* chore: add expirate duration for cache encode collab

* chore: fix test
2024-02-25 12:38:07 +08:00
Nathan.fooo 10fc8dd2fe
chore: use Redis cache for enforcer (#348)
* chore: use redis cache

* chore: use redis to cache enforce result

* fix: test

* fix: test

* fix: test

* fix: test
2024-02-24 15:45:53 +08:00
Nathan.fooo b71e443d3f
refactor: write snapshot (#345)
* chore: increase max connection size of pg (#344)

* chore: refactor snapshot

* chore: fix test

* chore: fix test

* chore: fix test

* chore: metric

* chore: clippy

* chore: fix test

* chore: fix test
2024-02-23 14:36:06 +08:00
Nathan.fooo b73e7045dc
chore: use redis as encoded collab cache (#342) 2024-02-23 00:36:37 +08:00
Zack Fu Zi Xiang ba989e64f3
feat: added rename workspace 2024-02-22 11:13:37 +08:00
Zack Fu Zi Xiang ad0f477505
revert to workspace-add-email 2024-02-22 11:09:50 +08:00
Zack Fu Zi Xiang c50f872bb7
Revert "Merge pull request #328 from AppFlowy-IO/workspace-add-email"
This reverts commit 5e7794646a, reversing
changes made to d5869742c2.
2024-02-22 10:48:10 +08:00
Zack Fu Zi Xiang 446518adf6
feat: api: add rename endpoint 2024-02-22 10:31:51 +08:00
Zack Fu Zi Xiang 4413f61f26
Merge branch 'main' into workspace-add-email 2024-02-20 10:16:58 +08:00
Nathan.fooo 5cd16d7544
chore: load user id and uuid when start (#329)
* chore: load user id and uuid when start

* chore: fix test

* chore: fix test
2024-02-20 05:43:33 +08:00
Zack Fu Zi Xiang 32fe1cc24d
feat: send email and create user if adding member but member not exist 2024-02-19 15:40:36 +08:00
Nathan.fooo a1494f0d09
feat: Realtime metrics (#309)
* chore: add metric

* chore: add metric

* chore: clippy

* chore: clippy

* ci: set rust version

* ci: set rust version

* ci: set rust version
2024-02-09 12:02:54 +08:00
Nathan.fooo e1307f4f5d
chore: cache within memory size (#305)
* chore: cache within memory size

* chore: update
2024-02-08 08:06:41 +08:00
Nathan.fooo 03471f3af7
chore: update feature of actix (#304)
* chore: update feature of actix

* chore: add logs
2024-02-08 02:32:25 +08:00
Nathan.fooo 6f2faff21f
chore: fix log (#301) 2024-02-07 08:15:57 +08:00
Nathan.fooo d497f2ab62
fix: pg lock (#299)
* chore: fix pg lock

* chore: fix pg lock
2024-02-06 13:44:39 +08:00
Nathan.fooo 1cfb38d7a2
chore: fix pg lock (#298) 2024-02-06 08:57:10 +08:00
Nathan.fooo 1a7866e651
chore: use redis to cache collab data (#294)
* chore: use redis to cache collab data

* chore: create table

* chore: use cache

* chore: period check group status

* chore: remove trait

* chore: update logs

* chore: update logs

* chore: update logs

* chore: update logs
2024-02-05 09:54:16 +08:00
Nathan.fooo 2d8579caab
Logs for apply update (#293)
* chore: add logs

* chore: add logs

* chore: clippy
2024-02-05 01:37:28 +08:00
Zack Fu Zi Xiang f849f39133
chore: add flakes to gitignore 2024-01-28 02:01:15 +08:00
Fu Zi Xiang 353065dfbf
feat: add optional name param for workspace creation 2024-01-24 11:35:44 +08:00
Fu Zi Xiang 7c95f6556a
feat: added test case and use triggers 2024-01-23 14:48:25 +08:00
Fu Zi Xiang 27b7b8b5b8
feat: add workspace and delete workspace 2024-01-23 12:10:55 +08:00
Fu Zi Xiang 001abfa2ac
fix: cargo deny check advisories 2024-01-18 18:46:47 +08:00
Zack 97d1bb532c
feat: revamp storage api (#251)
* feat: revamp storage api

* feat: client api add method to generate url

* feat: remove some unused deps

* feat: upgrade deps

* feat: add mime to resp
2024-01-11 00:32:11 +08:00
Nathan.fooo 284e2bf638
chore: compress collab data (#249)
* chore: compress collab data

* chore: custom buffer size

* chore: compression ws message

* chore: update log

* chore: update log

* chore: update client max body size

* chore: update client api

* docs: update docs

* chore: retry transaction

* chore: update timeout

* chore: stop previous loop

* chore: log ping error

* chore: log send error

* chore: log error

* chore: update log

* chore: async compress

* feat: stream payload

* chore: update load

* chore: update

* chore: update log

* chore: fix cmt

* fix: client message from http

* chore: bump collab
2024-01-10 08:05:57 +08:00
Nathan.fooo 4886d3d474
chore: rename error message (#247) 2024-01-05 07:29:06 +08:00
Nathan.fooo 8e38ae7b69
refactor: remove rust-s3, sqlx from client-api (#245)
* refactor: remove rust-s3, sqlx from client-api

* chore: fmt

* chore: add ci check

* chore: add ci check

* chore: add ci check
2024-01-05 06:12:01 +08:00
Nathan.fooo c5fe447250
feat: bump collab (#243)
* chore: bump collab

* chore: bump collab

* chore: bump collab
2024-01-03 08:40:26 +08:00
Nathan.fooo a455c9de8e
chore: refactor logs (#236)
* chore: add logs

* chore: return ws state

* fix: init the collab from disk
2023-12-27 05:20:40 +08:00
Nathan.fooo a07cc0b903
feat: Insert multiple collab (#233)
* chore: remove panic hook

* chore: support insert multiple collabs
2023-12-25 02:03:41 +08:00
Nathan.fooo 453329dc0c
feat: try to resotre from snapshot when fail to initialize the collab in CollabStoragePlugin (#222) 2023-12-18 02:27:49 +08:00
Nathan.fooo 69ed6ff4e8
feat: create snapshot for collab (#221) 2023-12-17 13:38:55 +08:00
Zack 24ab19f2a5
feat: use sqlx row stream to load collab policy (#217)
* feat: use sqlx row stream to load collab policy

* fix: access control object type
2023-12-17 11:24:51 +08:00
Nathan.fooo b39621e389
refactor: reduce select all workspace memebers call (#216)
* refactor: reduce select all workspace memebers call

* chore: docker build

* refactor: move tests

* chore: expose enforcer on tests

* refactor: update workspace member when recv pg notification

* chore: update test

* chore: commit sqlx file
2023-12-17 02:46:05 +08:00
Zack 377d7ad8f7
opti: Select all collab members (#215)
* feat: use af member stream for populating policies

* fix: add missing sqlx files

* chore: removed unused function
2023-12-16 13:02:37 +08:00
Nathan.fooo cd2c0a3114
fix: casbin access control (#214)
* chore: fix access control

* fix: create user update collab permissions

* chore: select workspace role it's not found in cache

* fix: encode buffer error

---------

Co-authored-by: Jiraffe7 <twajxjiraffe@gmail.com>
2023-12-16 08:27:57 +08:00
Jiraffe7 36ef0f13b0
feat: casbin access control (#178)
* feat: casbin for access control

* fix: method to generate database url instead of ToString

* fix: hold write lock when modifying policies

* chore: fix compile

* fix: remove db constraint for lib integration tests

---------

Co-authored-by: nathan <nathan@appflowy.io>
2023-12-11 11:08:15 +08:00
Nathan.fooo c0f5c2ce7e
feat: fix flaky test (#202)
* test: fix

* fix: flaky test
2023-12-09 12:48:46 +08:00
Nathan.fooo 58ffae16b1
feat: enable create default documents for user when sign up (#184)
* chore: send collab with interval

* feat: create workspace template
2023-11-29 06:11:20 +08:00
Nathan.fooo 79a02edd00
feat: notify user via websocket after profile changed (#164)
* feat: notify user via websocket after profile changed

* chore: update

* chore: update
2023-11-14 12:47:10 +08:00
Nathan.fooo 29b39f9ba3
feat: Client api url (#162)
* chore: expose client base url
2023-11-13 20:43:04 +08:00
Nathan.fooo c7e90eb24b
feat: stop recv messages when subscribe drop (#159)
* feat: stop recv messages when subscribe drop

* chore: update collab rev

* chore: fmt
2023-11-11 12:04:52 +08:00
Nathan.fooo f626e4a3b2
chore: log for broadcast (#154)
* chore: return not found

* chore: add logs

* chore: handle ws error

* chore: add logs

* chore: add logs

* chore: ping

* chore: ping

* chore: add log

* chore: update

* chore: update

* chore: update
2023-11-09 14:24:32 +08:00
Nathan.fooo f1dad07caa
feat: http init sync (#151)
* fix: bugs

* chore: support message type

* refactor: ws message

* feat: post realtime message

* feat: use proto to reduce message size

* ci: update

* ci: install protoc

* ci: update docker

* chore: update ci

* ci: update docker

* ci: fix

* ci: fix

* ci: fix
2023-11-08 15:41:39 +08:00
Nathan.fooo 41e01b91fc
feat: update collab rev and fix some bugs (#148)
* chore: remove todo

* chore: update collab rev

* chore: fmt

* chore: fmt

* chore: cache collab user

* fix: internal error

* ci: fix test

* chore: update collab rev

* ci: fix
2023-11-05 22:43:20 +08:00
Nathan.fooo 9c911a3a94
refactor: Error (#143)
* chore: remove api

* chore: update log

* refactor: error

* chore: fmt

* ci: fix test

* ci: fix

* chore: remove unstable
2023-11-02 17:17:34 +08:00
Nathan.fooo 5020d4738a
feat: Integrate workspace member (#140)
* chore: update client api

* chore: return user name in the workspace memeber

* chore: optimize logs
2023-10-25 20:44:30 +08:00
Nathan.fooo 8c1c5d0cd9
feat: insert uid instead of gen it from db (#139) 2023-10-25 12:18:33 +08:00
Nathan.fooo 7c503372e0
feat: client-api integration: save user meta data (#133)
* chore: update

* feat: get user workspace info

* feat: return list of workspace

* feat: return latest workspace id

* feat: latest workspace id

* test: add tests
2023-10-23 15:03:31 +08:00
Nathan.fooo d0d2e916a7
refactor: hiding sqlx row entitis from client api (#132) 2023-10-22 22:10:03 +08:00
Nathan.fooo 7a309c6f69
feat: insert user metadata (#131) 2023-10-22 19:21:23 +08:00
Nathan.fooo 1aba1f0cf4
feat: workspace usage test (#129)
* feat: workspace usage test

* test: add tests
2023-10-22 17:52:10 +08:00
Nathan.fooo fe5ef43333
refactor: workspace member crud (#128)
* refactor: workspace member crud

* refactor: update user api

* test: fix test
2023-10-21 20:50:32 +08:00
Nathan.fooo 417d9f1d41
feat: cache workspace member & fix some bugs (#127)
* chore: insert collab member when inserting workspace member

* refactor: test directory

* chore: remove triggers

* test: add more test

* chore: cache workspace memeber role

* chore: update test
2023-10-20 19:43:36 +08:00
Nathan.fooo cb9cdb9280
feat: collab permission test (#126)
* chore: check permission for collab storage proxy

* feat: add permission tests

* chore: skip log
2023-10-19 17:12:21 +08:00
Nathan.fooo 9dc7bbeee0
feat: Collab access control (#120)
* chore: check collab message with access permission

* chore: imple collab permission service

* refactor: migrations

* chore: collab member ops

* chore: collab permission

* chore: update can edit workspace collab

* chore: fix test

* feat: fetch collab members

* chore: fix test

* chore: fix client api

* chore: check permission for collab storage proxy
2023-10-17 14:00:04 +08:00
Nathan.fooo 88be0c2433
refactor: access control (#118)
* refactor: access control

* chore: fix test
2023-10-15 10:56:56 +08:00
Nathan.fooo 3e73adc82d
feat: workspace manager & test (#117)
* chore: add workspace tests

* chore: add slqx files

* feat: update workspace member role

* chore: update
2023-10-14 12:23:23 +08:00
Nathan.fooo 5c58f95f9f
feat: workspace access control (#115)
* feat: workspace access control

* feat: extact workspace id from path

* feat: create member with permission set

* chore: update sqlx files

* chore: fix cargo toml warn

* chore: clippy
2023-10-13 20:02:29 +08:00
Fu Zi Xiang 574d2661a1
chore: fix linting 2023-10-13 12:12:12 +08:00
nathan 16d226ffd0 chore: update insert user sql 2023-10-13 11:29:35 +08:00
nathan fa3d679770 chore: replace sqlx error with custom DatabaseError 2023-10-13 11:19:33 +08:00
nathan 7b77805d8d chore: add logs 2023-10-13 10:37:28 +08:00
Nathan.fooo ef726092be
refactor: file storage (#110)
* refactor: return file id after save to disk

* test: add tests

* chore: mine type

* test: disbale two client sync test

* chore: get file with url

* refactor: client api
2023-10-11 21:36:57 +08:00
Nathan.fooo 128590652e
refactor: collab storage dir (#108) 2023-10-10 08:45:29 +08:00
Nathan.fooo ad5b5b631d
feat: Set token from external (#107)
* chore: set token

* chore: set token

* chore: update

* chore: rm log
2023-10-09 23:07:34 +08:00
Nathan.fooo 089b3046ab
chore: implement batch get (#106)
* chore: implement batch get

* chore: add request id and update the local_server.sh

* chore: update collab commit id
2023-10-08 23:53:16 +08:00
Nathan.fooo d3186cc07a
feat: websocket config (#99)
* chore: enable tls feature

* chore: update ws client

* chore: update ws client

* chore: expost database entities

* chore: update ws nginx config

* chore: rename error file

* chore: fix clippy
2023-10-05 17:43:50 +08:00
Zack 583f82b7fb
refactor: collab http (#89)
* refactor: collab http

* fix: sqlx uuid in types client_api
2023-10-04 16:59:03 +08:00
Nathan.fooo 19ee96db4a
chore: rename crate (#82) 2023-09-28 22:20:48 +08:00