Commit Graph

32 Commits

Author SHA1 Message Date
chenos
271e91b452
feat: improve acl module (#283)
* feat: improve code

* fix: rowKey

* fix: ctx.state.currentUser

* fix: improve code

* fix: menu item permission

* fix: x-acl-action

* fix: skipScopeCheck

* feat: relationship resource permission

* fix: createdById
2022-04-12 12:02:58 +08:00
ChengLei Shao
118899887c
fix: destroy own records (#285)
* fix: acl own with no createdById field collection

* fix: acl delete with createdById

* fix: github action
2022-04-12 00:14:33 +08:00
ChengLei Shao
2f6aeacbd8
fix: acl write (#280) 2022-04-11 10:09:55 +08:00
chenos
f791d43716
feat: acl provider (#279)
* feat: acl provider

* feat: menu server hook

* feat: improve code

* fix: fields filter
2022-04-10 19:22:39 +08:00
chenos
ab633af627 feat: anonymous role 2022-04-08 16:17:39 +08:00
ChengLei Shao
81978711e4
featPlugin multiple apps (#248)
* feat: multiple apps plugin

* feat: multipleAppManager in Application

* stage

* fix: export error

* test: multiple app

* application model

* feat: create application with plugins

* load and install after sub application created

* create subApp database beforeInstall

* sub apps listen to main app start & stop events

* refactor: getPluginName as package name

* feat: load apps on mainApp starts

* fix: test

* feat: beforeGetApplication event

* fix: test

* fix: test with sqlite memory database

* test: lazyLoad application

* fix: test with sqlite memory

* chore: clone database collection & promise.all
2022-03-28 22:01:10 +08:00
ChengLei Shao
9e27e50595
feat: role check action (#234) 2022-03-13 19:36:37 +08:00
chenos
72d2699769 feat: improve code 2022-03-04 20:45:21 +08:00
chenos
271111902f feat: improve code 2022-03-02 20:08:11 +08:00
chenos
afab15327e feat: improve code 2022-03-02 18:35:49 +08:00
chenos
9704f8a342 feat: improve acl module 2022-02-28 22:10:04 +08:00
ChengLei Shao
5e51973b21
feat: plugin install (#211)
* feat: plugin install

* fix: install options
2022-02-28 21:49:50 +08:00
chenos
78f75f5a2f feat: improve users module 2022-02-28 14:25:50 +08:00
ChengLei Shao
9dd590c459
fix Collection rest api (#205)
* test: collections rest api

* test: add more test cases

* fix: test case

* fix: Error: src/schema-component/antd/array-table/TableRecordActionDesigner.tsx(3,38): error TS2307: Cannot find module '@nocobase/client' or its corresponding type declarations.

* fix: belongsToMany create with empty value

* fix: relation query  test

* test: appends + sort

* fix: belongsToMany find error

* fix: add cleanDb to fix database test

* fix: mysql test

Co-authored-by: chenos <chenlinxh@gmail.com>
2022-02-22 23:38:13 +08:00
Junyi
46afc05898
Feat(plugin workflow): add more instructions (#201)
* test(plugin-workflow): add getter cases

* feat(plugin-workflow): add query type for node instruction

* feat(plugin-workflow): add crud instructions for node type

* fix(plugin-workflow): fix transaction

* fix(plugin-workflow): fix context data of model trigger
2022-02-20 21:23:39 +08:00
ChengLei Shao
000587380b
fix: postgres sort with appends issue (#198)
* fix: postgres sort with appends issue

* fix: role menus api error

* feat: add exists params in roles.collections api

* refactor: remove uid field on uiSchemas table

* test: toggle role menus

* fix: plugin-acl test

* feat: sync data to acl before app start

* fix: mysql ui-schema sql compatibility

* feat: writeRolesToACL in plugin-acl
2022-02-20 01:23:04 +08:00
chenos
118abe1de5 fix(plugin-acl): roles.resources target key is the resource name 2022-02-19 18:29:34 +08:00
chenos
72b66a028c fix(plugin-acl): adjust roles collection options 2022-02-19 17:15:42 +08:00
chenos
407f9d2d85 fix(acl): availableActions 2022-02-19 17:14:43 +08:00
chenos
992befe89e fix(plugin-acl): display roleName 2022-02-18 20:26:50 +08:00
chenos
0440591868 feat: rename ui_schemas to uiSchemas 2022-02-16 00:22:47 +08:00
ChengLei Shao
99bfd75776
fix: test with database (#193)
* fix: ui schema test

* fix: sqlite array query

* fix: acl test

* fix: plugin-users test

* fix: database test with postgres

* fix: test with db.getTablePrefix

* fix: test with mysql database

* fix: test with sqlite database

* fix: test with  mysql

* fix: test order with mysql

* chore: test clean database

* chore: mockServer clean

* chore: app cleanDb

* chore: plugin-users cleanDb
2022-02-15 22:32:02 +08:00
chenos
ffbf4ecb66 feat: app.acl support 2022-02-11 23:59:03 +08:00
Chareice
a2037d90c9 feat: revokeResource when roleResource deleted 2022-02-11 23:24:10 +08:00
Chareice
e92a21f072 feat: add new fields when role has action permission 2022-02-11 23:24:10 +08:00
chenos
ac7abedbb8 feat: acl middleware support 2022-02-11 19:31:53 +08:00
chenos
a507267b72 feat: code cleanup 2022-02-11 18:13:14 +08:00
ChengLei Shao
8e4336cbe1
feat(server): improve application (#177)
* feat: getRepository

* getRepository return type

* export action

* refactor(plugin-acl): plugin

* refactor(plugin-action-logs): plugin class

* refactor(plugin-china-region): plugin class

* refactor: plugin class

* fix: cli start command

* feat: pass install-command options into app.install

* fix: cli args

Co-authored-by: chenos <chenlinxh@gmail.com>
2022-02-07 01:14:00 +08:00
Junyi
d24c5629d4
fix(root): fix dependencies in packages to avoid building errors (#178) 2022-02-02 19:08:33 +08:00
ChengLei Shao
15950ece05
Application (#175)
* feat: getRepository

* getRepository return type

* export action

* add: acl

* feat: setResourceAction

* feat: action alias

* chore: code struct

* feat: removeResourceAction

* chore: file name

* ignorecase

* remove ACL

* feat: ACL

* feat: role toJSON

* using emit

* chore: test

* feat: plugin-acl

* feat: acl with predicate

* grant universal action test

* grant action test

* update resource action test

* revoke resource action

* usingActionsConfig switch

* plugin-ui-schema-storage

* remove global acl instance

* fix: collection manager with sqlite

* add own action listener

* add acl middleware

* add acl allowConfigure strategy option

* add plugin-acl allowConfigure

* change acl resourceName

* add acl middleware merge params

* bugfix

* append fields on acl action params

* acl middleware parse template

* fix: collection-manager migrate

* add acl association field test

* feat(plugin-acl): grant association field actions

* chore(plugin-acl): type name

* feat(plugin-acl): regrant actions on resource action update

* feat(plugin-acl): regrant action on field destroy

* fix(plugin-acl): test

* fix(plugin-acl): test run

* feat(plugin-acl): set default role

* feat(plugin-users): set user default role

* test(plugin-users): create user with role

* feat(plugin-users): create user with role

* feat(application): application hook

* feat(database): reconnect

* feat(database): application life cycle

* feat(database): sync with option

* feat(database): hook position

* feat(database): hook position

* feat(database): remove load in start

* fix(application): get plugin

* feat(test): loadAndInstall

* feat: improve code

* feat: improve code

* fix: listen options

* fix: bug

* test(database): add test case

Co-authored-by: chenos <chenlinxh@gmail.com>
2022-01-30 11:11:36 +08:00
ChengLei Shao
7a7ab2ef41
feat: add acl plugin (#169)
* feat: getRepository

* getRepository return type

* export action

* add: acl

* feat: setResourceAction

* feat: action alias

* chore: code struct

* feat: removeResourceAction

* chore: file name

* ignorecase

* remove ACL

* feat: ACL

* feat: role toJSON

* using emit

* chore: test

* feat: plugin-acl

* feat: acl with predicate

* grant universal action test

* grant action test

* update resource action test

* revoke resource action

* usingActionsConfig switch

* plugin-ui-schema-storage

* remove global acl instance

* fix: collection manager with sqlite

* add own action listener

* add acl middleware

* add acl allowConfigure strategy option

* add plugin-acl allowConfigure

* change acl resourceName

* add acl middleware merge params

* bugfix

* append fields on acl action params

* acl middleware parse template

* fix: collection-manager migrate

* add acl association field test

* feat(plugin-acl): grant association field actions

* chore(plugin-acl): type name

* feat(plugin-acl): regrant actions on resource action update

* feat(plugin-acl): regrant action on field destroy

* fix(plugin-acl): test

* fix(plugin-acl): test run

* feat(plugin-acl): set default role

* feat(plugin-users): set user default role

* test(plugin-users): create user with role

* feat(plugin-users): create user with role

Co-authored-by: chenos <chenlinxh@gmail.com>
2022-01-30 10:37:27 +08:00
ChengLei Shao
bd285e0ba9
Plugin acl (#166)
* feat: getRepository

* getRepository return type

* export action

* add: acl

* feat: setResourceAction

* feat: action alias

* chore: code struct

* feat: removeResourceAction

* chore: file name

* ignorecase

* remove ACL

* feat: ACL

* feat: role toJSON

* using emit

* chore: test

* feat: plugin-acl

* feat: acl with predicate

* grant universal action test

* grant action test

* update resource action test

* revoke resource action

* usingActionsConfig switch

* plugin-ui-schema-storage

* remove global acl instance

* fix: collection manager with sqlite

* add own action listener

* add acl middleware

* add acl allowConfigure strategy option

* add plugin-acl allowConfigure

* change acl resourceName

* add acl middleware merge params

* bugfix

* append fields on acl action params

* acl middleware parse template

* fix: collection-manager migrate

Co-authored-by: chenos <chenlinxh@gmail.com>
2022-01-24 14:10:35 +08:00