ChengLei Shao
39ee4b8873
feat: application supervisor ( #2353 )
...
* chore: skip sync localization-management plugin enable status
* chore: unSyncPlugins array
* chore: remove install at dev
* chore: gateway and supervisor
* chore: install command
* chore: remove app manager
* chore: share plugin
* chore: wsserver
* chore: websocket server
* chore: websocket connection with app status
* feat: socket server at gateway
* chore: loading message
* chore: ready status
* chore: handle app error
* feat: restart app at supervisor
* feat: health check endpoint
* chore: test
* chore: test
* chore: test
* chore: test
* chore: build
* chore: test
* chore: build
* chore: application ready status
* chore: error message
* chore: handle application error
* chore: handle error in load
* chore: report error in websocket
* chore: ws error
* chore: ws error
* chore: typo
* chore: switch app ready status at install
* chore: test
* chore: test
* chore: test
* chore: test
* feat: add WebSocket client
* chore: start gateway
* chore: start command in application
* chore: code
* chore: pm command
* chore: run start after load sub app
* feat: application fsm
* refactor: server life cycle (#2402 )
* refactor: server life cycle
* fix: test error
* fix: test error
* fix: test error
* fix: app.start
* fix: cronjob stop
* fix: db.sync before upgrade
* fix: pm.get
* fix: test error
* fix: test error
* fix: test error
* test: add test cases
* fix: remove PluginType
* chore: start application after install
* chore: fsm
* chore: working status
* chore: working command
* chore: remove swith app ready status
* chore: switch status after working done
* chore: ws status
* chore: gateway error
* chore: test
* chore: stopping status
* chore: test
* chore: test
* feat: app proxy
* chore: application destory
* chore: application message changed with status
* chore: test
* chore: test timeout
* test: remove listener add by plugin
* test: remove listener add by plugin
* chore: test
* feat: app maintaining
* fix: add AppMaintainingDialog
* feat: off
* test: gateway http response
* test: gateway with errors
* chore: unkown error
* chore: websocket message
* chore: ws message
* chore: code
* chore: error format
* chore: delay app load
* feat: improve code
* chore: application initializing status
* chore: supervisor with app status
* chore: command status response
* chore: test
* chore: ws message
* chore: test
* fix: command running message
* feat: restart
* chore: code
* chore: status transition
* chore: test
* fix: improve code
* fix: error
* fix: restart
* fix: command
* chore: reset client app tag when app selector changed
* chore: error report
* fix: application status
* fix: build
* chore: disable help command dispatch
* chore: test
* test: multi apps test
* fix: improve code
* fix: test
* fix: test
* fix: multi apps single running
* fix: improve code
* fix: app status
* chore: move plugin static file to gateway
* feat: static file handler
* chore: test
* chore: enable plugins in share collection
* chore: gateway serve upload files
* fix: improve client
* chore: ws nginx config
* fix: gateway with naonoid
* fix: db sync
* fix: loading
* fix: ping
* fix: locale load
* fix: yarn start --quickstart
* fix: add debug log
* chore: application started event
* chore: running working message payload
* chore: nginx log
* chore: nginxconf
* chore: working message log
* feat: logs
* feat: compression
* fix: remove koa-send and koa-static
* fix: remove -e
* fix: remove nginx
* fix: remove -e
* fix: __appName
* chore: delay install sub application
* chore: sync plugin status
* fix: boot sub app
* fix: main app reload
* fix: test
* fix: app status
* test: field.bind block event loop
* feat: newrelic
* feat: debug log
* chore: upgrade
* fix(file-manager): test error
* fix: default app selector
* fix: reload after maintained
* chore: boot sub app
* chore: application destroy command
* chore: destroy command
* chore: clean code
* chore: package.json
* chore: maintaining message
* chore: test
* fix: collection.sync
* feat: add test cases
* chore: application
* fix: test error
* feat: improve codes and add test cases
* fix: test error
* fix: pm enable and disable
* fix: pm.disable
* feat: update docs
* chore: update dockerfile
---------
Co-authored-by: chenos <chenlinxh@gmail.com>
2023-08-24 17:47:45 +08:00
YANG QIA
be6b949f55
feat(auth): support signing in with username ( #2376 )
...
* feat(auth): support signing in with username
* chore: compatibility && add INIT_ROOT_USERNAME
* chore: add default username of root user
* chore: add notice
* fix: typo
* chore: change rule of username
* fix: sqlite add unique constraint
---------
Co-authored-by: chenos <chenlinxh@gmail.com>
2023-08-19 22:02:26 +08:00
YANG QIA
70d5b9e44b
feat: localization management ( #2210 )
...
* feat: init localization-management
* feat: resource api
* Merge branch 'main' into T-62
* chore: change name
* feat: basic feature
* feat: support filter & sync
* feat: support auto get texts afterSave
* Merge branch 'main' into T-62
* chore: upgrade
* fix: dependency
* fix: field type
* fix: type error
* chore: remove some translations
* feat: support extract text from menu
* chore: cache text keys
* chore: remove test key
* fix: issue of extracting menu titles
* feat: translate collections & fields name
* fix: remove unique of text
* refactor: improve cache
* chore: remove listeners after disable
* chore: translation
* fix: lang switch bug
* refactor: actions & filter
* fix: translation
* refactor: merge lang bundles at backend
* fix: style & field name
* fix: translate issues
* fix: cache bug
* fix: translation merge bug
* fix: translate issues
* fix: map translation
* fix: translation issues
* fix: card title bug
* feat: cover mobile client tabbar
* fix: menu title
* refactor: add locale plugin
* chore: merge locale plugin
* fix: map translation
* chore: remove no data
* style: change button style
* fix: sync bug
* docs: add README
* chore: change name
---------
Co-authored-by: chenos <chenlinxh@gmail.com>
2023-07-17 23:23:44 +08:00
Dunqing
817646d68d
feat(api-keys): the expiration field support custom option ( #2186 )
...
* feat(api-keys): the expiration field support custom option
* feat: support never option
* feat: support if expiresIn = never the expiresIn will replace to 1000y
* fix: toggle datepicker
* feat: update syntax
* fix: option order
* docs: update
* fix: maskCloseable should be false
* refactor: performance and remove unused code
* feat: should not allow clear
* fix: decode maybe fail
* fix: i18n
2023-07-06 16:33:28 +08:00
Dunqing
25a3a8affa
feat: support token blacklist ( #2168 )
...
* feat: support token blacklist, Close T-799
* feat: clean
* fix: possible token does not exist
* fix: update
* feat: update
* feat: add node-cron to delete expired token
* fix: findOrCreate not work and add test case
* test: add token-blacklist tests
* feat: add test cases for blacklist in authManager
* test: update better
* fix: should hidden token field
* test: clean
* test: clean
* fix: should stop cron in afterStop
* refactor: move delete expired token in token blacklist service
* feat: remove plugin disable/enable logic
* fix: clean
* test: revert
* fix: cron typo
2023-07-05 21:57:57 +08:00
Dunqing
6cfd586175
feat(plugin-api-keys): support fetch api via api-keys ( #2136 )
...
* feat(plugin-api-keys): support fetch api via api-keys
* feat: full support
* fix: missing parseToken in auth
* feat: add created at column
* feat: configure snippet
* fix: remove unused code
* fix: revert
* chore: update deps
* feat: improve role
* fix: avoid create api key without not exist role
* feat: improve select roles
* refactor: when no X-Role is found, roles should not be randomly assigned
* feat: improve code
* feat: improve current role
* fix: revert
* fix: revert apilicent
* fix: revert auth
* feat: improve currentRole logic
* feat: use resourcer.use instead it
* refactor: remove api-keys-auth
* fix: type
* refactor: move jwt to authManager
* refactor: remove unused code
* refactor: remove protected
* Revert "refactor: remove unused code"
This reverts commit 8f81535ab7e9c412bdc4d4bc05abad64ff60ba3f.
* feat: remove unused code
* feat: improve code
* fix: test error
* test: update test
* test: add test cases
* docs: update
* chore: update X-Role
* fix: token's roleName not work
* docs: update usage
* fix: i18n Add APi key
* docs: update capital
* docs: update
* feat: clean
* Update package.json
* Update roles.ts
* fix: api key
---------
Co-authored-by: chenos <chenlinxh@gmail.com>
2023-06-30 11:20:35 +08:00
YANG QIA
24601aa66f
feat(auth): support custom authentication ( #2007 )
...
* feat(auth): init auth package & collection
* feat(auth): register
* feat(auth): use authenticator
* feat(auth): mapRoles
* feat(auth): refactor
* feat(auth): base auth class
* feat(auth): add plugin
* chore(auth): test
* chore(auth): add test cases
* feat(auth): authenticators pane
* chore(auth): custom hook useAuthTypes
* feat(auth): authenticator pane
* chore(auth): store options schema using context
* feat(auth): signInPage provider
* feat(auth): signUpPage provider
* chore(auth): solve build errors
* chore(auth): add dependency
* chore(auth): remove dependency cycles
* chore(auth): add plugin-auth to preset
* chore(auth): fix test
* feat(auth): authenticator enable status
* fix(test): fix test using new authentication
* feat(auth): migration, set up basic auth
* chore(auth): can set options ui by component
* fix(test): workflow manunal.test
* fix(test): typo
* feat(auth): support multi-language
* chore(auth): imporve code
* chore(auth): hide button if no configuration
* chore(auth): readme
* chore(auth): remove allowSignup prop
* chore(auth): move configure pane to edit form
* fix(auth): jwt options bug
* feat(auth): init sms-auth
* chore(auth): at least authenticator required
* chore(auth): add test
* feat(auth): support sms auth
* fix(auth): fix test
* chore(auth): move findOrCreateUser to AuthModel
* chore(auth): history compatible processing
* feat(auth): support SAML auth
* chore(auth): saml auth list
* chore(saml-auth): improve ui
* Merge branch 'main' into feat/authentication
* chore(auth): improve code
* fix(saml-auth): fix bug
* fix(saml-auth): fix saml options
* chore(saml-auth): compatible processing && ut
* fix(auth): signin page bug
* chore(auth): saml compatible processing
* feat(auth): oidc-auth
* fix(oidc-auth): bug
* fix(oidc-auth): bug
* fix(auth): fix test
* chore(auth): filter enabled authenticator
* chore(oidc): add field map
* chore(auth): update readme
* docs(auth): create sms-auth readme
* feat(auth): allow signup config
* test(auth): fix test
* feat(auth): allow saml and oidc use http
* chore(oidc-auth): extends timeout
* docs(auth): update readme
* feat(auth): support sort
* docs(saml): update readme
* feat(auth): support sort all authenticator
* Merge branch 'main' into feat/authentication
* Merge branch 'main' into feat/authentication
* feat: improve code
* docs(auth): add doc
* Merge branch 'main' into feat/authentication
* chore: update yarn.lock
* feat: improve code
* chore(acl): write role to acl if it exists in database and not found … (#2001 )
* chore(acl): write role to acl if it exists in database and not found in acl
* fix: test
* fix: eager load with nested association (#2002 )
* chore: upgrade vitest
* chore: edit
* refactor: auth class
* fix: set options
* chore(acl): write role to acl if it exists in database and not found … (#2001 )
* chore(acl): write role to acl if it exists in database and not found in acl
* fix: test
* fix: eager load with nested association (#2002 )
* chore: upgrade vitest
* chore: add migrations
* test: fix api-client test
* chore: add sms-auth
* feat: avoid no permission after auth type disabled
* fix: translation
---------
Co-authored-by: chenos <chenlinxh@gmail.com>
2023-06-07 23:46:42 +08:00