Commit Graph

172 Commits

Author SHA1 Message Date
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
chenos
28a7cdbefb fix(database): ignore .d.ts 2022-03-19 20:51:02 +08:00
chenos
542dc7dace fix(database): lost transaction 2022-03-18 15:14:23 +08:00
ChengLei Shao
4c0af45105
feat: init sort field values (#236)
* feat: init sort field values

* feat: handle sequelize afterSync hook
2022-03-14 13:24:00 +08:00
ChengLei Shao
fe8c2576d0
feat: ne operator (#233) 2022-03-13 19:34:24 +08:00
ChengLei Shao
accb2a59b9
test: update reverseField (#231)
* test: update reverseField

* fix: reverseField test

* feat: throw error when reverseField exists
2022-03-11 10:08:58 +08:00
ChengLei Shao
e76eb1edac
add: test (#224)
* add: test

* feat: updateAssociation Skip reverseAssociationPair

* feat: reverseAssociationPair with HasMany && HasOne
2022-03-06 19:12:44 +08:00
chenos
72d2699769 feat: improve code 2022-03-04 20:45:21 +08:00
ChengLei Shao
534a6e43ee
fix: array $noneOf with null (#220)
* fix: array $noneOf with null

* fix: mysql test
2022-03-04 18:13:48 +08:00
ChengLei Shao
b4dc7f6199
fix: filter parser with number in key (#219)
* fix: filter parser with number in key

* fix:test
2022-03-03 22:02:15 +08:00
ChengLei Shao
4e9baf3957
fix: array operator query error (#217) 2022-03-03 12:09:25 +08:00
ChengLei Shao
b354313c0e
fix: operator query value (#216)
* fix: operator query value

* fix: operator query value
2022-03-02 22:01:32 +08:00
chenos
afab15327e feat: improve code 2022-03-02 18:35:49 +08:00
ChengLei Shao
aa1c84e72a
feat: string operators (#215)
* feat: string operators

* fix: remove filter

Co-authored-by: chenos <chenlinxh@gmail.com>
2022-03-02 15:13:06 +08:00
ChengLei Shao
5d974d7e32
fix: empty operator with $or filter (#212) 2022-02-28 22:29:18 +08:00
ChengLei Shao
1db71b166d
feat: sortBy through table value (#209) 2022-02-27 23:02:26 +08:00
ChengLei Shao
3be12644ed
feat: sort in collection fields (#207)
* feat: sort in collection fields

* fix: sort should call before hidden

* mov: test file

* refactor: toJSON with traverseJSON

* fix: toJSON test

* fix: sortBy with hidden field
2022-02-26 15:12:18 +08:00
chenos
585d9dd580 feat(client): improve the sub table field 2022-02-25 16:24:50 +08:00
chenos
449c307eb9 fix(database): add test cases 2022-02-23 22:27:08 +08:00
chenos
872ee79146 refactor(database): model toJSON without the hidden fields 2022-02-23 18:18:38 +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
351bb88245
fix: postgres array operator (#200) 2022-02-20 10:33:26 +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
f7a30e4103 fix(database): export uid field options 2022-02-19 17:16:12 +08:00
ChengLei Shao
78e89b76ef
fix: option parser test (#195) 2022-02-17 17:41:30 +08:00
chenos
9c422b7879 fix(database): typings 2022-02-17 16:16:05 +08:00
ChengLei Shao
86e0f071e4
fix: nest append (#194) 2022-02-17 12:56:52 +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
adfac15aba fix(database): parse sort 2022-02-15 17:36:32 +08:00
chenos
6bf416d5c4 fix(database): remove dropAllTables 2022-02-15 09:09:13 +08:00
chenos
c5f639338f refactor: mockDatabase 2022-02-15 00:20:25 +08:00
chenos
c538fdf73a fix(database): the options.where object is empty 2022-02-14 21:27:50 +08:00
chenos
db3285d452 fix(database): mock db 2022-02-13 13:41:17 +08:00
chenos
51ca12cc87 feat(plugin-china-region): improve code 2022-02-12 12:38:57 +08:00
ChengLei Shao
785077a6f3
fix: update guard with Model instance (#186) 2022-02-12 12:36:22 +08:00
chenos
c2725ac9ca fix(database): remove the setUpHooks method 2022-02-11 14:52:04 +08:00
chenos
695b953a8f fix(sort-field): the value of the scopeKey attribute is null 2022-02-11 14:50:53 +08:00
chenos
16d07e9b4a feat: add sortable parameter to collection options 2022-02-11 14:34:33 +08:00
Chareice
6013b4d274 feat: remove method 2022-02-11 09:43:45 +08:00
Chareice
3e1cad643b feat: server hooks model 2022-02-11 09:43:45 +08:00
chenos
7e76c54012 feat: using crypto.scrypt instead of bcrypt 2022-02-10 19:53:18 +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
chenos
6e95278ce4 fix(database): missing context in hook 2022-01-25 17:08:35 +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
chenos
f0eb2eee20 feat: improve the params of the ctx.action 2022-01-23 12:42:35 +08:00
ChengLei Shao
f67658129f
Feat/plugin UI schema v0.6 (#143)
* v0.6

* plugin-ui-schema: insert && getJsonSchema

* plugin-ui-schema: insert schema with sort

* plugin-ui-schema: node with x-index

* insert adjacent method

* chore: insert

* typo

* insert with x-uid

* fix: getSchema by subtree

* add ui-schema actions

* fix: mysql compatibility

* remove ui-schema when remove node tree

* ui schema patch

* ui_schemas.create

* test cases

* test cases

* fix(database): reset changed before update

* feat: insert ui schema node after created

* feat:  patch ui schema node after updated

* fix: sqlite error

* uid

* cleanup

* test cases

* feat: ui_schema items type support

* fix: insert items node

* fix: get inner type

* change items struct

* add insert return value

* add insert return value

Co-authored-by: chenos <chenlinxh@gmail.com>
2022-01-19 10:09:30 +08:00
chenos
380b5e8c7a
Feat/plugin collection manager (#147)
* refactor: collection manager plugin

* feat(database): magic attribute model

* MagicAttributeModel

* load collections & fields options

* collections filterTargetKey
2022-01-19 10:02:52 +08:00
ChengLei Shao
fd32705954
feat: acl (#153)
* 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

Co-authored-by: chenos <chenlinxh@gmail.com>
2022-01-18 16:38:03 +08:00