ajie
d7821bf6d7
feat: support user role union ( #6301 )
...
* feat: support merge role function
* feat: test
* fix: snippets merge bug
* feat: support with-acl-meta allowedActions
* feat: support mobileRoutes role union
* feat: support union role of data source manager plugin
* fix: merge action fields
* fix: merge action
* chore: code clean
* fix: perform a deep clone of the object in the toJSON method
* refactor: mergeRole code migration
* fix: desktopRoutes test
* fix: build
* refactor: optimze acl role code and add test
* fix: bug
* fix: skip test
* fix: acl role action whitelist invalid
* fix: actions bug
* chore: merge develop
* chore: desktop routes code
* fix: test
* feat: support set system role mode
* fix: test
* fix: snippets bug
* chore: update text
* fix: test
* fix: test
* fix: text
* fix: text
* refactor: optimze code
* refactor: optimze code
* refactor: optimze code
* refactor: optimze code
---------
Co-authored-by: 霍世杰 <huoshijie@huoshijiedeMacBook-Pro.local>
Co-authored-by: chenos <chenlinxh@gmail.com>
2025-03-12 09:03:33 +08:00
nocobase[bot]
7f403f010a
Merge branch 'next' into develop
2025-03-09 00:09:36 +00:00
Sheldon Guo
79ef798b38
fix(auth): handle non-existent user with 401 error and update locale messages ( #6381 )
...
* fix(auth): handle non-existent user with 401 error and update locale messages
* fix(auth): enhance error handling for 401 status with specific error codes
* fix(auth): improve 401 error handling by checking for specific error codes
2025-03-09 08:09:13 +08:00
nocobase[bot]
9732a71ede
Merge branch 'next' into develop
2025-03-03 22:54:25 +00:00
Sheldon Guo
f2c3f54109
fix(auth): accidentally logged out due to WebSocket authorization. ( #6342 )
...
* fix(auth): improve logging by including full context and error details
* fix(auth): enhance logging with error handling for token renewal
* feat(auth): init checkToken
* feat(auth): implement checkToken method with detailed token status and user information
* fix(auth): update check method to handle expired tokens and improve token renewal process
2025-03-04 06:54:01 +08:00
YANG QIA
c53b613517
refactor: verification ( #6026 )
...
* refactor: verification
* refactor: update
* chore: update
* feat: verificator
* chore: update
* chore: crud
* feat: bind
* feat: unbind
* fix: auth-sms
* feat: update
* chore: add test cases and fix bug
* fix(auth-sms): tests
* chore: update
* chore: i18n
* chore: update
* chore: update
* fix: required form fields
* chore: uid field
* fix: remote select
* fix: test
* fix: test
* fix: menu
* chore: description
* fix: test
* chore: update
2025-03-01 22:25:56 +08:00
Sheldon Guo
b748fa2471
fix: auth check failed before api token expired ( #6291 )
...
* refactor: streamline token validation logic in BaseAuth class
2025-02-26 07:33:27 +08:00
chenos
76e5e7c1c0
fix: skip auth check in the public form ( #6284 )
...
* fix: skipAuthCheck
* fix: before auth
* fix: skip auth
* feat: add skipAuth option to ResourceActionOptions
* feat: add skipNotify option to ResourceActionOptions
---------
Co-authored-by: sheldon guo <sheldon_66@163.com>
2025-02-25 19:59:46 +08:00
Sheldon Guo
acb61e214f
fix(auth): enhance token concurrent update and auth error handling logic ( #6208 )
...
* fix: add optional chaining for safe access to response headers in auth middleware
* fix: add skipNotify option to handle error notifications in SSE stream
* fix: handle expired session error in auth flow and remove unused cache update
* fix: implement renewed JTI cache duration and update related tests
* fix: add skipNotify option to updateUnreadMsgsCount for improved notification handling
2025-02-14 10:55:02 +08:00
Sheldon Guo
feb9074e56
refactor(test): modify the test function login to be asynchronous and update the relevant test cases ( #6181 )
...
* refactor(test): modify the test function login to be asynchronous and update the relevant test cases
2025-02-08 13:53:30 +08:00
Sheldon Guo
0144e2e510
fix(auth): use loginWithJti to update authentication-related test cases and prevent errors ( #6175 )
...
* refactor(auth): update login method to use loginWithJti for test cases
2025-02-07 17:45:48 +08:00
Sheldon Guo
cab54e9ebb
fix(auth): update client auth middleware logic to prevent token update failure due to concurrency ( #6135 )
...
* feat(auth): add logging for token renewal process and new error code for stream requests
* feat(auth): session expiration check everytime
* feat(auth): validate token validity period against session validity period
* fix(auth): correct wording for session validity period in localization file
* fix(auth): update redirect logic to handle specific auth error codes
* fix(auth): correct error response structure for token renewal and stream requests
* fix(auth): add token expiration check to update token status
* fix(notification): add skipAuth option to SSE stream request
* fix(auth): simplify redirect logic in auth check middleware
* fix(auth): update logging to include request headers and enhance error handling in auth middleware
2025-02-06 15:31:18 +08:00
Sheldon Guo
cc6928c7d0
feat(auth): support token security ( #5948 )
...
* feat(auth): support token security config
---------
Co-authored-by: chenos <chenlinxh@gmail.com>
Co-authored-by: xilesun <2013xile@gmail.com>
2025-01-18 22:18:51 +08:00
Katherine
5d5f455b3c
feat: supports configuring dynamic environment variables and secrets ( #5966 )
...
* feat: environments plugin
* feat: improve code
* fix: improve code
* feat: improve code
* refactor: package description
* feat: bulk import
* fix: remove
* refactor: file manager support environment variables
* refactor: file manager support environment variables
* refactor: map manager support environment variables
* refactor: support environment variables
* refactor: support environment variables
* refactor: support delete environment variables
* fix: bug
* refactor: workflow support environment variables
* refactor: email environment variables
* refactor: support bulk import
* refactor: support bulk import
* refactor: support bulk import
* refactor: support bulk import
* refactor: code improve
* feat: env
* chore: update
* feat: environment
* fix: bug
* fix: acl snippet
* fix: acl snippets
* chore: map manager
* refactor: support line break
* refactor: support password
* chore: environment variables
* fix: bug
* fix: bug
* chore: enviroment variables
* chore: system settings
* fix: improve code
* feat: verification
* feat: map
* feat: file-manager
* feat: notification
* fix: bug
* feat: workflow
* fix: improve code
* fix: bug
* feat: data-source
* feat: auth
* fix: error
* fix: bug
* refactor: description
* refactor: locale
* refactor: locale
* refactor: locale
* refactor: code improve
* refactor: locale
* refactor: locale
* style: style improve
* fix: error
* fix: bug
* fix: bug
* refactor: environment
* fix: ellipsis
* refactor: password
* fix: bug
* fix: bug
* fix: bug
* fix: bug
* fix: bug
* chore: test
* fix: cache
* fix: mysql dialect options
* refactor: email config form
* fix: bug
* fix: bug
* fix: authenticator.dataValues parse
* fix: include undefined
* fix: json
* fix: json parse
* chore: enviromentProvider
* fix: acl
* fix: rowKey
* fix: update ProviderOptions.tsx
* feat: get app instance
* fix: bug
* fix: text
* fix: build error
* fix: error
* chore: migration rules options
* chore: migration rules
* refactor: code improve
* feat: env v2
* chore: environment varibales
* chore: environment serve
* fix: getVariables
* feat: improve code
* fix: bug
* chore: collection options for migration
* chore: tree collection options
* chore: migration rules
* chore: migration rules
* chore: env api
* chore: env api
* fix: optionsKeysNotAllowedInEnv
* fix: required true
* fix: improve code
* fix: app refresh
* fix: remove db.import
* fix: type error
* fix: map
* refactor: locale improve
* refactor: tx-cos
* fix: undefined
* refactor: code improve
* chore: use bookworm
* fix: npm add user
* fix: npm login
* fix: npm adduser
* fix: npm adduser
* fix: expect
* fix: expect
* fix: environmentVariables
* refactor: support bulk delete & filter
* refactor: locale improve
* feat: filter
* refactor: useGlobalVariable
* fix: scope
* fix: bug
* fix: optionsKeysNotAllowedInEnv
* fix: test error
* fix: test
* fix: test
* feat: improve code
---------
Co-authored-by: chenos <chenlinxh@gmail.com>
Co-authored-by: Chareice <chareice@live.com>
2025-01-08 09:32:49 +08:00
YANG QIA
84cfa82304
feat: security ( #5923 )
...
* feat: password policy
* feat: password validator
* fix(inbox): i18n of channel title
* feat: atomic counter
* fix: bug
* fix: bloom
* chore: i18n
* fix: counter
* fix: build
* fix: bug
* fix: z-index
* fix: export
* test: add redis cache test
* fix: test
* fix: test
* fix: test
* fix: bug
* fix: form reset
* fix: locale
* fix: version
* fix: separate cache for sub apps
* chore: update
2024-12-29 08:33:27 +08:00
nocobase[bot]
049ddc95e9
Merge branch 'next' into develop
2024-11-27 06:25:20 +00:00
YANG QIA
78a20e8fd9
feat(basic-auth): allows to add more fields of user collection in sign up form ( #5741 )
...
* feat(basic-auth): allows to add more fields in sign up form
* feat: backend
* feat: add reactions
* fix: bug
* fix: bug
* chore: optimize
2024-11-27 14:24:56 +08:00
nocobase[bot]
b15f532ce2
Merge branch 'next' into develop
2024-11-27 04:24:25 +00:00
YANG QIA
d62f9507a6
Revert "feat(basic-auth): allows to add more fields in sign up form ( #5717 )" ( #5739 )
...
This reverts commit ac80dd8a3c1aae04d95599e9c2cfd0776825662b.
2024-11-27 12:24:00 +08:00
nocobase[bot]
0b62ae834a
Merge branch 'next' into develop
2024-11-27 03:43:01 +00:00
YANG QIA
ac80dd8a3c
feat(basic-auth): allows to add more fields in sign up form ( #5717 )
...
* feat(basic-auth): allows to add more fields in sign up form
* feat: backend
* feat: add reactions
* fix: bug
2024-11-27 11:42:35 +08:00
mytharcher
5824f1fb15
Merge branch 'next' into T-4910
2024-11-15 11:03:16 +08:00
ChengLei Shao
aad8fd7bab
chore: add middleware name ( #5594 )
...
* chore: middleware name
* chore: add name to middleware
* chore: logging
2024-11-06 00:29:06 +08:00
mytharcher
2ac5457583
Merge branch 'next' into T-4910
2024-10-14 17:23:56 +08:00
YANG QIA
bd942342b0
fix(auth): should set user token as invalid when changing password ( #5212 )
...
* fix(auth): should log user out when changing password
* fix: add passwordChangeTZ
* fix: clear local token when token is invalid
* fix: test
* fix: field name
2024-09-06 14:43:14 +08:00
mytharcher
9b9e03ea19
refactor(plugin-field-sort): move sort field to plugin
2024-08-26 18:27:10 +08:00
mytharcher
c1db4f2e0c
fix(auth): fix test case
2024-08-26 18:26:16 +08:00
YANG QIA
0adf5fb6b7
chore(auth): change char length limit of username to 1-50 ( #4502 )
2024-05-27 17:39:39 +08:00
jack zhang
62b2b5c68b
chore: add copyright information to the file header ( #4028 )
...
* fix: add license code
* fix: bug
* fix: bug
* fix: upgrade
* fix: improve
* chore: add copyright information to the file header
* fix: d.ts bug
* fix: bug
* fix: e2e bug
* fix: merge main
---------
Co-authored-by: chenos <chenlinxh@gmail.com>
2024-04-30 15:51:31 +08:00
YANG QIA
8b88b29b5e
test: add backend unit tests ( #4000 )
...
* test: add backend unit tests
* test: cas
* test: oidc & saml
* test: sql collection
* fix: test files
* test: data-visualization
* test: localization
* fix: test
2024-04-16 17:56:48 +08:00
YANG QIA
d23f3a3999
docs: add api comment ( #3868 )
...
* docs: add api comment
* chore: update
* fix: build
2024-04-03 12:30:33 +08:00
katherinehhh
af6113c8ef
feat: support for multiple data sources ( #3418 )
...
* refactor: collectionName display with tablePrefix
* fix: bug
* fix: schema toolbar no ddata source (T-3182)
* fix: unit test bug
* fix: useAssociationNames support data source
* chore(RecordProvider_deprecated): add collectionName
* fix: deprecated
* refactor: default value
* refactor: default value
* fix: fastRefresh=false
* style: fix action link style (T-3228)
* fix: should not diaplay Save mode for some Action (T-3217)
* chore: remove group title (T-3194)
* fix: extend collections bug
* chore: transaction
* fix: filter block only current data source (T-3226)
* fix: fix filter block in drawer (T-3224)
* fix: avoid error when editing field (T-3232)
* fix: primary key name in postgres
* chore: test
* chore: test
* refactor: forgin key support select and input
* fix: doc bug
* fix: change duplllicte divier name
* feat: throughScope
* fix: bug
* refactor: local improve
* fix: fix parent record of Add child in tree table (T-3235)
* fix: block template filter by dataSource(T-3234)
* chore: change table primary key
* refactor: index for primarykey & unique
* chore: test
* fix: should not display filter blocks option if no association field (T-3242)
* fix: dataSourceKey
* refactor: sourcekey & forginkey & targetkey limit type
* fix: bug
* chore: test
* fix: upload action
* fix: unit test
* fix: useSourceIdFromParentRecord
* fix: permissions
* fix: oho association field should has default fieldnames
* fix: useSourceIdFromParentRecord
* fix: tableSelectorProvider collection undefined
* fix: bug
* chore: validate association keys
* fix: apply mixin bug
* fix: getPrimaryKey
* fix: bug T-3253
* fix: collection unit test
* chore: validate association keys
* fix: create collection
* fix: getCollection in TableBlockProvider
* refactor: association key in data source manager
* fix: improve doc
* fix(relationshipBlocks): fix sourceId (T-3257,T-3264)
* fix: plugin acl test
* chore: correct field options
* fix: dataScope resource
* fix: improve doc
* fix: appVersion = '<0.20.0-alpha.1'
* refactor: fieldNames
* refactor: primarykey & unique & autoIncrement shuld not support edit in third dataSource
* fix: bug
* fix: gantt block params tree
* fix: style
* fix: wording & icon
* fix: bug
* fix: roles cache
* refactor: calender & express & file collection support preset fields
* fix: decode uri
* refactor: migrate files [wip] (#3584 )
* refactor: migrate blockSettings:table
* refactor: migrate fieldSettings:TableColumn
* refactor: migrate TableBlockInitializer
* fix: fix import path
* refactor: migrate TableActionInitailizers
* refactor: migrate TableColumnInitializers
* refactor: migrate TableActionColumnInitializers
* refactor: migrate TableColumnSchemaToolbar
* refactor: migrate TableSelectorInitializer
* refactor: migrate blockSettings:tableSelector
* refactor(tableSelector): migrate e2e
* refactor(form): migrate e2e
* refactor: migrate FormBlockInitializer
* refactor: migrate CreateFormBlockInitializer
* refactor: migrate RecordFormBlockInitializer
* refactor: migrate blockSettings:createForm
* refactor: rename file name
* refactor: migrate blockSettings:editForm
* refactor: migrate FormActionInitailizers
* refactor: move to a new file
* refactor: migrate formItemInitializers
* refactor: migrate FormItemSchemaToolbar
* refactor: migrate fieldSettings:FormItem
* chore: fix build
* fix: fix weird path error
* fix: rename formActionInitializers
* fix: create collection field
* refactor: throughCollection
* fix: datasources get permission
* fix: throughCollection
* fix: throughCollection
* fix: register initializer components
* refactor: targetkey & source key must be unique
* refactor: targetkey & source key must be unique index
* fix(customRequest): avoid error when clicking button
* chore: error message when add multiple primary keys
* fix: target key in hasMany
* fix: default value should not support edit in outside dataSource
* fix: test
* fix: update associations (#3586 )
* fix: source key
* fix: addAccessor
* fix: updateAssociations
* fix: bugs
* fix: remove test.only
* refactor: migrate RecordReadPrettyFormBlockInitializer
* refactor: migrate singleDataDetailsBlockSettings
* fix(users): filter bug
* refactor: migrate readPrettyFormActionInitializers
* refactor: migrate readPrettyFormItemInitializers
* refactor: migrate DetailsBlockInitializer
* refactor: migrate multiDataDetailsBlockSettings
* feat: validate association key pairs
* chore: default title
* refactor: migrate detailsActionInitializers
* refactor: migrate e2e
* refactor: migrate ListBlockInitializer
* refactor: migrate listBlockSettings
* refactor: migrate listActionInitializers
* refactor: migrate listItemActionInitializers
* fix: create collection
* fix: remove fieldsHistoryRepository.createMany
* test(e2e): fix error message for roles.name
* fix: sync indexes in postgres
* chore: test
* test: acl test
* test(e2e): fix sort error
* refactor: remove useless code
* test: kanban e2e
* fix: load user
* fix: test
* test: fix unit tests
* fix: db.sync
* test: updateRole
* fix: test
* fix: settings and initializer performance improve
* fix: update role resources
* fix: add block
* fix: fix T-3308
* test: fix e2e
* test(e2e): skip fix block
* chore: skip test in sqlite
* fix: change initializer menu key
* test(collectionManager): fix e2e
* refactor: sort field availableTypes
* fix: client core performance optimization
* refactor(GridCard): migrate e2e
* refactor: migrate GridCard
* fix: bug
* refactor: migrate utils
* refactor: migrate filter-form
* fix: change Record to CollectionRecord
* chore: acl migration
* chore: acl migration
* chore: migration of acl
* refactor: migrate Collapse
* chore: error message
* fix: update associations
* chore: update collection search to be case-insensitive
* refactor: migrate Markdown
* fix(WorkflowTodos): x-toolbar typo
* feat: admin change password
* feat: check foreign key && target key value in update associations
* chore: dataSource permission
* refactor: dataSource permission
* fix: acl support data source permission
* fix: fix T-3307
* chore: test
* refactor: locale improve
* chore: locale
* chore: sqlite test config
* chore: create user with roles test
* chore: test
* test: fix mock data to avoid duplication
* chore: test
* fix: load table with tablePrefix
* chore: move action in datasource
* chore: number field to sort field type
* test: optimize dropdown
* chore: upgrade @playwright/test to v1.42.1
* fix: fix invalid path for Windows
* test: fix e2e
* chore: kanban Sort field
* fix: kanban
* fix: kanban
* refactor: create sort in kanban
* refactor: create sort field in kanban
* refactor: locale improve
* refactor: locale improve
* fix: sync with null default value
* refactor: collectionFieldInterfaceSelect
* fix: move action
* fix: update associations
* fix: test case
* chore: test
* test: optimize e2e
* feat: remvoe Duplicate for single details block (T-3195)
* fix(fieldNames): should use primaryKey as default value (T-3322, T-3319)
* fix: use filterTargetKey as fieldNNames.value
* test: fix e2e
* test: fix e2e
* test(kanban): fix e2e
* test(blockTemplate): should clear template at end of test
* refactor: migrate fields
* refactor: migrate actions
* refactor: migrate menu
* refactor: migrate page
* refactor(SchemaSettings): unify naming style
* fix: scopeKeyOptions undefined
* refactor(SchemaInitializers): unify naming stle
* fix(bi): chart filter fields
* chore: acl snippets
* refactor: replace CreateFormBlockInitializers to blockInitializers:createForm
* refactor: replace to blockInitializers:customizeCreateForm
* refactor: replace block intializers name
* refactor: replace action initializers name
* refactor: replace field initializers name
* style: fix hover style for column action (T-3297)
* refactor: revert some codes
* chore: update comment
* fix: revert record deprected
* fix: remove pro-plugins
* fix: bug
* chore: replace iframeBlockSchemaSettings to blockSettings:iframe
* Revert "refactor: revert some codes"
This reverts commit 991021ceaeecc5d27113a51e501a4abd439edcd2.
* Revert "refactor: replace field initializers name"
This reverts commit b47b808d06305741b56302e3dad1dd256658fad4.
* Revert "refactor: replace action initializers name"
This reverts commit eab1b6e3d986d1c3dc80d75fa6230fa948e3a33e.
* Revert "refactor: replace block intializers name"
This reverts commit 50ab9da177f344d037184a17746cb1d0e037a826.
* Revert "refactor: replace to blockInitializers:customizeCreateForm"
This reverts commit 77b9f59bb14d944fd8c42006e899861196589748.
* Revert "refactor: replace CreateFormBlockInitializers to blockInitializers:createForm"
This reverts commit e9a38b0b4d9fabc571b7d9cdc8929914f5e2a367.
* Revert "refactor(SchemaInitializers): unify naming stle"
This reverts commit 542390899fa84d212a8dbbe7f77e0f19befa6ae8.
* Revert "refactor(SchemaSettings): unify naming style"
This reverts commit 8566735922c4a157efccdb3830deaedeb08c6f6a.
* Revert "chore: replace iframeBlockSchemaSettings to blockSettings:iframe"
This reverts commit 884f6df92fdc860a50500025f132904e9528002f.
* refactor: create sorting field in kanban
* refactor: create sorting field in kanban
* fix: style
* fix: bug
* fix(SideMenu): fix the problem of invalid add menu (T-3331)
* fix: translation
* feat: client en-US docs
---------
Co-authored-by: xilesun <2013xile@gmail.com>
Co-authored-by: dream2023 <1098626505@qq.com>
Co-authored-by: Zeke Zhang <958414905@qq.com>
Co-authored-by: chenos <chenlinxh@gmail.com>
Co-authored-by: Chareice <chareice@live.com>
2024-03-03 23:06:24 +08:00
YANG QIA
8633ec3735
refactor(logger): improve logger format ( #2664 )
...
* refactor(logger): improve logger format
* chore: improve log format
* feat(logger): plugin-logger
* feat: allow to download log files, close T-1917
* chore: update yarn.lock
* chore: improve log format
* fix: add maxsize params
* chore: add userId field to request
* chore: remove userId from request
* chore: change userId in response
* chore: change action in response
* chore: add database logger
* fix: build
* fix: test
* chore: solve conflicts
* fix: escape delimiter in message
* refactor: improve create logger api
* chore: update app logger options
* chore: remove colorize for json
* fix: bug of data2tree
* fix: test
* chore: log
* chore: remove GITHUB_ACTION check
* fix: bug
* chore: change version
* fix: transports
* fix: mockServer
* chore: use new plugin settings api
* fix: version
* fix: build
* feat: support logfmt
* fix: build
* fix: build
* fix: test
* chore: update config
* fix: test
* fix: bug
* fix: test
* fix: format
* chore: update path
* fix: build
* fix: bug
* chore: update comment
* fix: allow to custom format
* fix: package.json
* fix: version
* fix: bug
2023-12-27 13:56:13 +08:00
ChengLei Shao
261d4c4137
refactor: establish a sound testing system ( #3179 )
...
* chore: use vitest to replace jest
* chore: support vitest
* feat: vitest 1.0
* fix: test
* chore: yarn.lock
* chore: github actions
* fix: test
* fix: test
* fix: test
* fix: test
* fix: jest.fn
* fix: require
* fix: test
* fix: build
* fix: test
* fix: test
* fix: test
* fix: test
* fix: test
* fix: test
* fix: test
* fix: dynamic import
* fix: bug
* chore: yarn run test command
* chore: package.json
* chore: package.json
* chore: vite 5
* fix: fix variable test
* fix: import json
* feat: initEnv
* fix: env.APP_ENV_PATH
* chore: get package json
* fix: remove GlobalThmeProvider
* chore: update snap
* chore: test env
* chore: test env
* chore: import module
* chore: jest
* fix: load package json
* chore: test
* fix: bug
* chore: test
* chore: test
* chore: test
* chore: test
* chore: test
* fix: import file in windows
* chore: import module with absolute file path
* fix: test error
* test: update snapshot
* chore: update yarn.lock
* fix: front-end tests do not include utils folder
* refactor: use vitest-dom
* fix: fix build
* fix: test error
* fix: change to vitest.config.mts
* fix: types error
* fix: types error
* fix: types error
* fix: error
* fix: test
* chore: test
* fix: test package
* feat: update dependencies
* refactor: test
* fix: error
* fix: error
* fix: __dirname is not defined in ES module scope
* fix: allow only
* fix: error
* fix: error
* fix: error
* fix: create-app
* fix: install-deps
* feat: update docs
---------
Co-authored-by: chenos <chenlinxh@gmail.com>
Co-authored-by: dream2023 <1098626505@qq.com>
Co-authored-by: Zeke Zhang <958414905@qq.com>
2023-12-21 20:39:11 +08:00
YANG QIA
06f11a2d08
refactor(auth): move auth client from core to the plugin & refactor auth client api ( #3215 )
...
* refactor(auth): auth client api
* fix: build
* fix: dependencies
* fix: fix T-2777
* fix: fix T-2776
* chore: update type
* fix: build
* fix: allowSignUp
* fix: file name
* fix: file name
* refactor: client api
* fix: build
* chore: update name
* fix: tsx must be loaded with --import instead of --loader
* fix: type
* fix: type
* fix: type
* fix: type
* fix: bug
* chore: improve wording
* fix: test
---------
Co-authored-by: chenos <chenlinxh@gmail.com>
2023-12-21 20:19:25 +08:00
YANG QIA
474b09c7f2
perf(server): optimize performance of APIs ( #3079 )
...
* perf: add perf_hooks
* perf: add cache
* fix: test
* feat: support bloom filter
* feat: caching token black list
* perf: caching i18n instance
* fix: test
* fix: test
* chore: remove prePerfHooks on app
* chore: improve i18n instances cache
* chore: remove performance measure
* fix: package.json
* perf: optimize cache strategy
* fix: test
* fix: bug
* test: storer of auth-manager
* fix: afterDestroy hook when updating null value
* fix: version
* chore: fix bug and add test
* fix: test
* fix: test
2023-12-12 23:02:09 +08:00
ChengLei Shao
d751b30b34
chore: expose auth manager option in application ( #2894 )
2023-10-23 15:41:35 +08:00
YANG QIA
89361ef61c
fix(auth): SSO issues ( #2733 )
...
* fix(auth): sso switch popup to rediect (fix T-2024)
* refactor: auth process optimization
* fix: test
* chore: add error handler
* fix(auth): sso redirection issue of sub app
* Revert "refactor(auth): OIDC, SAML auth switch popup to redirectction (#2737 )"
This reverts commit beb4793051103d3fa14d4ec072b490b7f7407ca8.
* Revert "Revert "refactor(auth): OIDC, SAML auth switch popup to redirectction (#2737 )""
This reverts commit 301a85d7671d42670ceba40d97de21283f9eb617.
* refactor(oidc): improve validate logic
* refactor(saml): improve auth logic
* fix: test
* refactor(cas): improve auth logic
* chore: add error handler
* fix(oidc): subapp callback issue
* fix: add dependency
* chore: add dependency
* fix(auth): set default `userBindField:email`
2023-10-12 00:54:00 -05:00
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