Commit Graph

31 Commits

Author SHA1 Message Date
Zack Fu Zi Xiang 2e2ec23430
chore: merge with main 2024-11-07 14:59:51 +08:00
khorshuheng 3169277830 feat: add section timestamp to get favorite/recent/trash endpoints 2024-10-24 12:22:21 +08:00
Zack 60c589bd9c
feat: CRUD interface for custom namespace (#882)
* feat: listing all published_info

* fix: add sqlx files

* feat: add additional fields for publish info

* feat: get and set default publish info

* chore: cargo sqlx prepare

* fix: cargo clippy

* fix: test case exe order

* chore: cargo sqlx

* feat: get info and meta from workspace namespace

* chore: cargo sqlx

* feat: add original doc info for published view

* chore: log all publish endpoints

* fix: default values for publish info extra fields

* feat: move namespace restriction to gateway
2024-10-19 10:09:54 +08:00
Khor Shu Heng 8c14612f98
feat: refactor access control to enable swapping implementation (#859) 2024-10-10 13:04:47 +08:00
Zack Fu Zi Xiang 6777ed8f5d
feat: add database listings 2024-09-25 14:46:26 +08:00
khorshuheng c686aa91a6 feat: add retrieve sections endpoints 2024-09-12 13:02:14 +08:00
khorshuheng a97c1fbf1b feat: add additional folder view fields, allow different root id, filter invalid view 2024-09-11 17:37:55 +08:00
khorshuheng a7a1a2f8a4 chore: reuse get collab folder 2024-09-03 15:40:33 +08:00
khorshuheng 56b9f9daf4 feat: published view outline endpoint 2024-09-03 15:27:59 +08:00
Zack 826546c5cb
feat: duplicate published doc (#700)
* chore: test collab sync

* feat: folder view for user workspace

* feat: add private indicator

* chore: use collab cache instead

* chore: initial impl

* chore: cargo sqlx

* fix: write back to collab cache

* fix: assign page id

* fix: text map

* chore: connect api and refactor

* chore: switch to using mem storage

* fix: collab type

* feat: use group manager to manage sync

* feat: try add send command instead

* chore: add client api code

* feat: try use sink and stream from group collab

* chore: disable sync first

* fix: insert page before stopping group

* feat: add extra for view

* feat: add metadata to doc

* fix: icon

* fix: page circular dep

* fix: page circular dep

* fix: live update

* feat: database initial impl

* feat: workspace database

* chore: link database

* fix: database validation

* fix: workspace database oid

* fix: workspace database oid

* fix: specify view layout

* feat: add txn when inserting collab and rework database views

* fix: parent view id for new database

* fix: database view for folder

* fix: database ids

* fix: database row id

* fix: main database layout and write database before folder

* fix: metadata for non database main view

* chore: database in doc wip

* chore: filter visible views

* chore: use structure value instead of json

* chore: database in doc wip

* fix: remove child item push

* fix: main database view meta

* chore: rework inline database in doc

* fix: make duplicate more error forgiving

* chore: use get instead of get key value

* chore: merge with main

* feat: set max depth for folder view

* chore: update dependency counter

* chore: remove unneeded arg

* chore: simplify collab new from source

* chore: remove unneeded param

* chore: rename and doc

* feat: rework inline database and use duplicated ref

* chore: simplify params

* chore: fmt

* feat: deduplicate database wip

* fix: compatible with newer appflowy version

* fix: database views

* feat: database in doc

* chore: cargo clippy

* chore: update dockerfile rust toolchain

* fix: doc inline db parent id

* fix: database id

* fix: document data modification

* chore: minor refactor and todo

* chore: remove unneeded nesting

* fix: enforce ordering for views to add

* chore: add doc and test case for folder view

* fix: remove the need for cloning published collab

* fix: some review

* chore: move folder conversion logic

* fix: remove collab folder deps on shared entity

* chore: cargo fmt

* fix: compile

* chore: remove group manager dependency

* fix: dep count

* fix: add messages sent by server

* fix: dep count

* chore: add test for doc ref and inline doc database

* chore: cargo clippy

* chore: add more test scenarios

* chore: fix tests

* chore: get database id

* chore: update collab

* chore: add more assert and database row id checks

* fix: suggestions from review

* chore: sqlx

* fix: accumulate collab before insert

* chore: add tokio spawn blocking for encoding

* fix: reduce limit for publish collabs

---------

Co-authored-by: Bartosz Sypytkowski <b.sypytkowski@gmail.com>
Co-authored-by: nathan <nathan@appflowy.io>
2024-09-03 09:12:29 +08:00
Khor Shu Heng c79267d42a
feat: migrate collab access control to collaboration service (#548)
* feat: migrate collab access control to collaborate service

* feat: migrate workspace access control to separate crate
2024-05-15 15:24:07 +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 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
Nathan.fooo 6f2faff21f
chore: fix log (#301) 2024-02-07 08:15:57 +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 9cd1f5ab0a
feat: cache uid (#290)
* feat: cache uid

* chore: remove select uid call

* chore: break loop if mailbox close
2024-02-03 13:08:49 +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 4d113425fe
feat: override collab when create (#234)
* feat: override collab when create

* chore: clippy

* chore: fmt
2023-12-25 09:40:32 +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 69ed6ff4e8
feat: create snapshot for collab (#221) 2023-12-17 13:38:55 +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
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
Nathan.fooo c0f5c2ce7e
feat: fix flaky test (#202)
* test: fix

* fix: flaky test
2023-12-09 12:48:46 +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 d088fd2ec8
feat: ws frame size (#146)
* chore: update ws frame size

* chore: update

* chore: update frame size to 64 kb

* chore: fix merge

* chore: update

* chore: update collab rev

* chore: update

* chore: update

* chore: update

* chore: update

* chore: update

* chore: update ws state

* chore: update pg max connect

* chore: fix crash
2023-11-04 21:42:06 +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 d0d2e916a7
refactor: hiding sqlx row entitis from client api (#132) 2023-10-22 22:10:03 +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