Commit Graph

99 Commits

Author SHA1 Message Date
ChengLei Shao
d98714d9fd
featEnable permission (#229)
* feat: acl skip

* feat: skip-manager

* feat: root user permission skip

* fix: test

* feat: set user role

* fix: code review

* feat: setDefaultRole for users
2022-03-11 10:10:57 +08:00
ChengLei Shao
ad700c61b8
Plugin error handler (#222)
* feat: validation error with i18n

* feat: plugin-error-handler

* del: error-handle.test.ts

* feat: field name with i18n

* fix: yarn build
2022-03-06 12:07:56 +08:00
chenos
d4bd033917 feat: improve code 2022-03-03 12:15:17 +08:00
chenos
18b4feb104 fix: custom error handler 2022-03-02 22:50:07 +08:00
ChengLei Shao
86065fa208
feat: error handle middleware (#214)
* feat: error handle middleware

* feat: application error handler

* feat: handle with sequelizeValidationError

* fix: test

* fix: test
2022-03-02 12:50:15 +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
d1ac62ddaf feat(client): improve acl module 2022-02-26 23:03:58 +08:00
chenos
cf89f4f428 fix: app install with clean option 2022-02-22 15:14:32 +08:00
chenos
407f9d2d85 fix(acl): availableActions 2022-02-19 17:14:43 +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
c5f639338f refactor: mockDatabase 2022-02-15 00:20:25 +08:00
chenos
ffbf4ecb66 feat: app.acl support 2022-02-11 23:59:03 +08:00
chenos
47fa83032c fix: build error 2022-02-10 18:38:05 +08:00
chenos
ab28a2be4c fix: missing app command args 2022-02-07 21:54:07 +08:00
chenos
851c97b52a fix(server): adjust the position of beforeInstall 2022-02-07 10:07:39 +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
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
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
72a968b29d fix: Module '"@nocobase/database"' has no exported member 'uid'. 2022-01-08 18:04:55 +08:00
chenos
732d31009e v0.6 2021-12-06 21:23:34 +08:00
chenos
c2ff7882bc
feat: database next (#130)
* FIX: database test with sqlite

* more types

* filter test

* split filter parser

* filter test

* filter test: hasMany

* define inverse association for belongsTo & hasMany

* chore: console.log

* repository count method

* chore: Collection

* repository filter & appends & fields & expect

* repository: sort option

* chore: test

* add: test

* find & findAndCount

* chore: test

* database-next: update guard

* database-next: update guard associationKeysToBeUpdate

* chore: comment

* update-guard OneToOne Association

* has one repository

* support through table value

* belongs to many repository

* has many repository

* has many repository find

* fix: has many find and count

* clean code

* add count method

* chore: multiple relation

* chore: single relation

* repository find

* relation repository builder

* repository count

* repository count test

* fix test

* close db afterEach test

* sort with associations

* repository update

* has many repository: destroy

* belongs to many repository: destroy

* add transaction decorator

* belongs to many with transaction

* has many with transaction

* clean types

* clean types

* clean types

* repository transaction

* fix test

* single relation repository with transaction

* single relation repository with transaction

* fix: test

* fix: option parser fields append

* fix: typo

* fix: string type

* fix: import

* collection field methods

* cleanup

* collection sync

* fix: import

* fix: test

* collection update field

* collection update options

* database hook

* database test

* database event test

* update database event

* add async emmit mixin

* async model event

* database import

* fix: model hook type

* fix: collection event

* recall model.init on collection update

* skip redefine collection test

* skip collection model update

* add model hook class

* global model event support

* chore

* chore

* change utils import

* add field types

* database import

* more import test

* test case

* fix: through model init...

* bugfix

* fix

* update database import

* collection sync by foreachModel

* fix collection model sync

* update

* add field types

* custom operator

* sqlite array field

* postgresql array field

* array query escape

* mysql array operators

* date operators

* array field sqlite fix

* association operator

* date operator empty & notEmpty

* fix: fields import

* fix array field nested association

* filter parse prepare

* fix test

* string field empty

* add date operator test

* field option types

* fix typo

* fix: operator name conflict

* rename function

Co-authored-by: Chareice <chareice@live.com>
2021-12-06 21:12:54 +08:00
chenos
11cded6153 chore: v0.5.0-alpha.34 2021-11-23 08:23:34 +08:00
chenos
3479b7ea27 chore: v0.5.0-alpha.33 2021-11-13 22:24:51 +08:00
chenos
7be6327458 chore: v0.5.0-alpha.32 2021-11-09 17:14:11 +08:00
chenos
7a35638eda chore: v0.5.0-alpha.31 2021-11-09 16:28:27 +08:00
chenos
829f969668 chore: v0.5.0-alpha.30 2021-11-09 13:07:41 +08:00
chenos
ca2bee7d9a fix: If it is already installed, skip the installation process 2021-11-09 13:04:10 +08:00
chenos
4ea7d74211 chore: v0.5.0-alpha.29 2021-11-08 23:06:31 +08:00
chenos
cce2253532 chore: v0.5.0-alpha.28 2021-11-08 22:54:19 +08:00
chenos
5cacee4e7f chore: v0.5.0-alpha.27 2021-11-08 20:47:20 +08:00
chenos
7611beea0f chore: v0.5.0-alpha.26 2021-11-08 20:27:59 +08:00
chenos
479f64f197
feat: support i18n (#99)
* feat: i18next

* multi language data

* feat(client): locale support

* en-US for collections

* us-EN for routes

* en-US for routes

* en-US for attachments

* feat: partial translations

* translation

* add AntdConfigProvider

* translation

* translation

* feat: translation

* feat: add translation

* fix: improve translation

* feat: improve translation

* fix: SyntaxError: Unexpected token ) in JSON at position

* typo

* feat: improve translation

* feat: improve translation

* feat: language settings can be saved on the server

* feat: lang option of init cli

* demo translation

* typo

* change address field to textarea

* address data

* feat: chart translation

* feat: chart translation

* improve translation

* signin,signup,signout...

Co-authored-by: Zhou <zhou.working@gmail.com>
2021-11-08 19:32:59 +08:00
chenos
8376c6d1b2 chore: v0.5.0-alpha.25 2021-11-01 17:29:27 +08:00
chenos
b5c587fc94 chore: v0.5.0-alpha.24 2021-11-01 15:20:30 +08:00
chenos
41b023987b chore: v0.5.0-alpha.23 2021-10-28 22:59:51 +08:00
chenos
85acc268fd fix(create-nocobase-app): cannot find module 'sqlite3' 2021-10-28 22:58:50 +08:00
chenos
2253471670 chore: v0.5.0-alpha.22 2021-10-25 14:37:22 +08:00
chenos
181872cf07 chore: v0.5.0-alpha.21 2021-10-18 13:04:14 +08:00
ChengLei Shao
05ecb25d1b
feat: create nocobase app with simple & quickstart option (#87)
* feat: create nocobase app with simple & quickstart option

* chore: delete template file

* create-nocobase-app: add env API_PORT fallback

* chore: log

* env default fallback

* move config dir

* change has yarn

* chore: prettier

* fix: npm running issue

* database testing support sqlite

* once...

* chore: typo

* fix: sqlite test

* update readme

* feat: copy .env.example to .env at create-nocobase-app

* create-nocobase-app: change sqlite3 to github master

* create-nocobase-app: .env template

* create-nocobase-app: update .env

* chore: typo

* update README

* chore: Application constructor

* feat: sqlite demo data support

* fix test

* fix: application error

* chore: plugin-client run sql

* fix: application createCli

* fix: can choose whether to register actions

* chore: model compile error

* fix: support sqlite

* fix: demo data set index sequence on postgresql

* chore: code reduce

* fix: operators are compatible with sqlite

* add impor demo option to init command

* update env

Co-authored-by: chenos <chenlinxh@gmail.com>
2021-10-18 12:49:37 +08:00
chenos
d80c875d5e chore: v0.5.0-alpha.20 2021-10-12 22:27:38 +08:00
chenos
fda20f83c3 chore: v0.5.0-alpha.19 2021-10-10 22:30:16 +08:00
chenos
516c1be50d chore: v0.5.0-alpha.18 2021-10-10 13:06:09 +08:00
chenos
3e04f81a41 chore: v0.5.0-alpha.17 2021-10-10 12:59:29 +08:00
chenos
dafe8f14d0 chore: v0.5.0-alpha.16 2021-10-08 23:16:46 +08:00
chenos
23bdada69c chore: update gitHead 2021-10-08 00:37:39 +08:00
chenos
e7df1f93c4 chore: v0.5.0-alpha.15 2021-10-08 00:33:40 +08:00
chenos
2fa8280803 chore: v0.5.0-alpha.14 2021-10-07 21:57:01 +08:00
chenos
8561502384 chore: v0.5.0-alpha.13 2021-10-07 21:33:32 +08:00
chenos
b2f3bd4894 chore: v0.5.0-alpha.12 2021-10-07 19:39:35 +08:00