Commit Graph

192 Commits

Author SHA1 Message Date
Nathan.fooo d1c82b7811
chore: enable access control by env (#394) 2024-03-18 19:34:44 +08:00
Zack Fu Zi Xiang 7e7ee7cc2a
feat: workspace invite admin frontend 2024-03-18 12:33:08 +08:00
Nathan.fooo c5112cc761
chore: use collab without gc (#391) 2024-03-17 17:03:05 +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
Nathan.fooo 47e14d3b25
fix: potential duplicate init sync (#381)
* fix: potential duplicate init sync

* chore: clippy
2024-03-13 09:53:25 +08:00
Nathan.fooo ff80014c2f
feat: Multi connect test (#372)
* chore: test multiple connect attempt

* chore: eable hash

* chore: pair message

* chore: fmt
2024-03-07 09:21:08 +08:00
Zack Fu Zi Xiang c293929b11
feat: added tests for inviting member which has not signed up yet 2024-03-06 14:01:57 +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 e9ee0d12fa
Merge branch 'main' into workspace-invite 2024-03-04 15:47:57 +08:00
Nathan.fooo 15c03e4f85
refactor: realtime dir (#363)
* refactor: realtime dir

* chore: fmt

* chore: fix test

* chore: fix test

* chore: fix test
2024-03-04 12:53:44 +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 5f4d53b15b
feat: added context when committing to invite workspace members 2024-03-04 11:02:39 +08:00
Zack Fu Zi Xiang 8d1d7943a2
chore: mark biz function as deprecated 2024-03-04 09:18:43 +08:00
Zack Fu Zi Xiang 65d69ef0fd
fix: owner invite permission 2024-03-04 00:59:11 +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
Zack Fu Zi Xiang f8b9f623cf
feat: delete all files when workspace is deleted 2024-02-28 18:24:17 +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 8e9031c669 chore: add expire duration 2024-02-24 15:47:28 +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 d1a17bbccd
Merge branch 'main' into workspace-add-email 2024-02-21 14:43:03 +08:00
Nathan.fooo 3ab768fb14
chore: disable all casin func (#338)
* chore: disable all casin func

* chore: rename
2024-02-21 14:02:37 +08:00
Nathan.fooo cbcf43081f
chore: add disable collab ac feature flag (#336) 2024-02-21 09:47:38 +08:00
Nathan.fooo 399f7ba2b5
chore: abort sync when the update can not apply (#335)
* chore: abort sync when the update can not apply

* chore: fix ci
2024-02-21 09:22:26 +08:00
Zack Fu Zi Xiang 7c49359278
chore: merge with main 2024-02-20 15:54:14 +08:00
Nathan.fooo 225887dbee
chore: remove sink lock (#334)
* chore: remove sink lock

* chore: clippy
2024-02-20 14:26:26 +08:00
Nathan.fooo 119d6abe53
chore: enable collab ac (#333) 2024-02-20 11:59:44 +08:00
nathan 558fafc589 chore: disable collab ac 2024-02-20 10:54:32 +08:00
Nathan.fooo 2992f44e44
docs: casbin (#332) 2024-02-20 10:53:33 +08:00
Zack Fu Zi Xiang 4413f61f26
Merge branch 'main' into workspace-add-email 2024-02-20 10:16:58 +08:00
Nathan.fooo 8e36792dd9
fix: metrics (#331) 2024-02-20 08:34:57 +08:00
nathan 1b00f4ba86 chore: disable collab ac 2024-02-20 07:06:37 +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 118de057a4
chore: cargo clippy 2024-02-20 02:00:31 +08:00
Zack Fu Zi Xiang f9d9977076
chore: merge with main 2024-02-20 00:40:42 +08:00
Nathan.fooo d4f7aac93a
test: add test (#327)
* test: add test

* test: add test

* test: add test

* test: add test

* test: add test
2024-02-19 17:12:07 +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 815be08d3b
chore: metrics for access control (#326)
* chore: metrics for access control

* chore: fix test
2024-02-19 12:26:35 +08:00
Nathan.fooo f713ebedaa
chore: cache policy when load (#325) 2024-02-19 10:01:40 +08:00
Nathan.fooo c9a3cd6b1b
chore: rename dir (#324)
* chore: rename dir

* chore: clippy
2024-02-19 08:28:32 +08:00
Nathan.fooo 43b46f4259
chore: use dashmap (#322) 2024-02-19 02:59:05 +08:00
Nathan.fooo 05c1b7b2db
feat: Stream msg (#320)
* chore: refactor group
2024-02-18 16:34:47 +08:00
Nathan.fooo 2f0f093331
refactor: access control (#318)
* refactor: dir

* chore: update

* fix: test

* chore: fix test

* chore: clippy

* chore: update config

* chore: update
2024-02-17 01:15:06 +08:00
Zack e1ac591ea0
Merge pull request #310 from AppFlowy-IO/admin-frontend/self-host-env
Admin frontend/self host env
2024-02-09 15:15:56 +08:00
Nathan.fooo 263fdbafdc
Disable casbin (#313)
* chore: disable casin test

* chore: disable casin test
2024-02-09 15:07:39 +08:00
Zack Fu Zi Xiang 0b08ab34ea
chore: cargo clippy 2024-02-09 12:49:29 +08:00
Zack Fu Zi Xiang 8b271eedd5
chore: cargo clippy 2024-02-09 12:22:25 +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 fa13422a05
chore: logs (#302)
* chore: logs

* chore: logs
2024-02-07 13:00:29 +08:00
Nathan.fooo 6f2faff21f
chore: fix log (#301) 2024-02-07 08:15:57 +08:00
Nathan.fooo d851b303bf
refactor: async send ws message in http request (#296)
* refactor: async send ws message in http request

* chore: update

* chore: update logs

* chore: update logs

* chore: clippy

* chore: add device id in header

* chore: fix test

* chore: fix device_id

* chore: fix client id

* chore: ratelimt for client

* chore: bump collab
2024-02-06 15:21:48 +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 4127f21792
chore: remove logs (#291)
* chore: remove logs

* chore: clippy
2024-02-03 14:50:32 +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 14a146d65f
chore: add logs (#286)
* chore: add logs

* chore: add logs

* chore: add logs
2024-02-03 07:40:18 +08:00
Fu Zi Xiang 0f4fe7bd7b
chore: merge with main 2024-01-24 12:17:50 +08:00
nathan bb1029077c refactor: template 2024-01-24 11:46:23 +08:00
Fu Zi Xiang 353065dfbf
feat: add optional name param for workspace creation 2024-01-24 11:35:44 +08:00
nathan bb103531e2 refactor: template 2024-01-24 11:31:53 +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
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 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 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 208a353fef
fix: client api - channel management (#191)
* chore: add logs

* chore: remove dropped channels
2023-12-01 10:52:54 +08:00
Nathan.fooo 62abd8abbf
feat: return request id to client api (#186)
* docs: update

* chore: add logs

* chore: test

* feat: return request id to the client

* feat: print request id in client api

* fix: lock table when creating new user
2023-11-30 07:40:52 +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