1694eb6d73
15 Commits
Author | SHA1 | Message | Date | |
---|---|---|---|---|
|
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> |
||
|
1e0bedca86
|
feat: api documentation plugin (#2255)
* feat: api doc plugin * fix: merge * chore: upgrade swagger ui to latest * feat: get paths from recourser * feat: configure security * feat: add models * feat: reimplement resource action * feat: support render schemas correctly * feat: support load swagger documentation * refactor: implement `SwaggerManager` * fix: re import * feat: update info * refactor: do not use the cache strategy for the time being * feat: support collection builtin actions * fix: incorrect tag * feat: support different swagger json for different plugins * feat: support load server package * feat: support visit from plugin center * feat: add schemas for mapConfiguration * feat: update * fix: update tags * feat: support only render plugin that has swagger content * refactor: use swagger-ui-react instead of swagger-ui-dist * fix: clean * fix: reset * refactor: update plugin place * fix: revert * fix: remove version * fix: type error * feat: swagger doc * refactor: improve apis * feat: add doc * feat: support destination cache * fix: avoid authorization override * fix: auth bug * feat: update documentation * fix: typo * feat: support json * fix: key * fix: update yarn.lock * feat: update swagger doc * feat: swagger doc * docs: add auth swagger files (#2341) * docs: add auth swagger files * fix: yarn.lock * fix: skip core * feat: swagger doc * docs: improve auth docs * fix(theme-editor): avoid crashing * feat(theme-editor): improve api doc * docs: add localization-management swagger * docs(plugin-workflow): add api doc (#2379) * fix: remove files * fix: aaa * fix: dist * fix: load swagger * feat: acl api doc (#2494) * chore: acl api doc * feat: ui schema api doc * feat: multi apps api doc * chore: ui schema doc * feat: collection api doc * chore: association api doc * chore: single association doc * feat: move action doc * chore: list parameters * feat: update swagger doc * chore: collectionIndex to first * fix: test error * fix: ref * chore: doc tags * chore: template * chore: doc with association options * chore: single association doc * chore: relation type * chore: filter single association params * chore: m2m api doc * chore: params * fix: 0.12.0-alpha.5 * fix: update yarn.lock * chore: data wrap --------- Co-authored-by: chenos <chenlinxh@gmail.com> Co-authored-by: YANG QIA <2013xile@gmail.com> Co-authored-by: Rain <958414905@qq.com> Co-authored-by: Junyi <mytharcher@users.noreply.github.com> Co-authored-by: ChengLei Shao <chareice@live.com> |
||
|
8b054e6aac
|
fix: basic-auth compitibility issue (#2515) | ||
|
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> |
||
|
5df3b0e75d
|
refactor!: plugins build and plugins load (#2253)
* refactor: plugin build and plugin template * refactor: plugins' deps * refactor: plugins bugs * feat: add plugin static middleware * fix: bugs * refactor: frontend plugin add from remote * refactor: delete useless app/client/plugins * fix: requirejs move to local * fix: tests case * refactor: add src/client and src/server dir check * fix: lodash tree shaking * refactor: add BUILD_TIP * refactor: add file size tip * fix: bugs * fix: bug * fix: change china-division * fix: change plugins response * fix: recover dynamicImport * fix: change server src entry * fix: test error * fix: plugins sourcemap => false * fix: production file error * refactor: change build tools to vite and tsup * fix: yarn.lock * fix: bugs * fix: server build bugs * fix: delete .fatherrc.ts * fix: bug * fix: bug * fix: bugs * fix: bugs * fix: bugs * refactor: add plugin d.ts * refactor: delete fatherrc * refactor: delete father scripts * refactor: build bug * fix: bug * fix: deps adjust * fix: add build tips * fix: bug * refactor: ignore plugins when build client * docs: update doc * refactor: docs and build * fix: bug * refactor: build deps * fix: add USER_REMOTE_PLUGIN env * feat: add plugin static cache * feat: add build deps cache * fix: bugs * test: add test * fix: add plugin depden on plugin tip * fix: adjust shouldDevDependencies * fix: deps * fix: ajust deps * fix: mobile style error * fix: map error * fix: test * fix: bug * feat: lodash and dayjs import from themself * feat: @emotion/css 、ahooks and lodash to global * fix: theme-editor plugin error * fix: review * feat: move all plugins' dependencies to devDependencies * feat: change build * feat: add devPlugins * fix: bug * fix: bugs * fix: bugs * fix: bugs * feat: build bugs * fix: bugs * fix: bugs * fix: review * fix: bug * fix: change deps build * fix: bugs * fix: bug * fix: bug * fix: bugs * fix: bug * fix: bug * fix: multi language * fix: dist * fix: cronstrue * fix: getPackageClientStaticUrl * fix: antd dayjs locale * fix: plugin' d.ts import from dist * fix: multi language * fix: build types error * fix: requireModule * fix: plugin lifecycle * fix: client resource * fix: improve code * fix: locale * feat: custom build * fix: require locale * fix: improve code * fix: improve code * fix: skip preset * fix: collection undefined * feat: yarn build * fix: remove enabled * fix: update dockerfile * fix: formily version * docs: update v12 changelog * fix: devDependencies * feat: @nocobase/app * feat: generateAppDir * fix: improve code * fix: 0.11.1-alpha.5 * fix: missing @nocobase/client * fix: error * fix: add .npmignore * feat: upgrade antd version * fix: dependencies * fix: peerDependencies * fix: remove china-division dep * fix: toposort deps * fix: update dockerfile * fix: plugin template * fix: app client outputPath * feat: update docs * fix: nginx server root * fix: storage/.app-dev * fix: getChinaDivisionData * feat: plugin info * feat: update docs * fix: docs menu --------- Co-authored-by: chenos <chenlinxh@gmail.com> |
||
|
07ff868133
|
fix: should use filter instead of where (#2318)
|
||
|
45bc0b83ba
|
feat(locale): allows to manage locale resources in core package (#2293)
* feat(locale): add app.locales * chore: change directory * chore: change locale directories * fix: test * fix: cached resources changed after sync * chore: change fr-FR locale directory |
||
|
a80815c5ad
|
Feat/translation fr_FR (#2275)
* feat: client and plugin translation FR * fix: fr translation * fix: fr translation |
||
|
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> |
||
|
4812cc5692
|
feat: support custome themes (#2228)
* feat: create custom-theme plugin * feat: add custom-theme * chore: add plugin name and description * chore: add deps * chore: optimize deps * refactor: rename * chore: add antd-token-previewer * chore: add deps in plugin * feat: add theme-editor * feat: add theme-editor * feat: add settings * feat: add theme collection * refactor: migration to the components folder * feat: add ThemeList * refactor: be better * feat: export createStyles * feat: implement ThemeCard (T-723) * style: optimize style * feat: add ThemeEditorProvider * feat: add ToEditTheme * chore: add isBuiltIn field * feat: implement WYSIWYG * refactor: migrate i18n * feat: support to save config * feat: add validation rule * refactor: remove useless code * refactor: optimize GlobalThemeProvider * feat: add CurrentUserSettingsMenuProvider * feat: support switching themes * refactor: migrate CurrentUserProvider to app root * feat: add InitializeTheme * fix: fix preview demo * fix: filter themes * fix: not valid when editing theme * fix: should restore the previous theme when closing theme editor * fix: fix algorithm * fix: the theme that was just saved should be applied * refactor: loacl antd-token-previewer * fix: should be based on the current theme when editing themes * feat: support to edit theme * perf: reduce executions * feat: add animation * fix: fix the type error of useRequest * feat: remove built-in themes * chore: reinstall deps * fix: fix version of deps * fix: delete client.d.ts to fix build error * chore: reinstall deps * fix: fix build * fix: fix build * fix: avoid build errors * fix: fix crashing * fix: use value instead of defaultValue * fix: avoid error * fix: avoid closure * fix: fix build * fix: fix style of login page * refactor(page): fix style * fix: fix style of PageHeader * refactor: fix style of Drawer * refactor: add FormDialog to loacl * refactor: fix style of SchemaSettings.ModalItem * refactor: fix style of pm/Card * fix: fix text color of pm/Marketplace * fix: fix table error * refactor: fix style of collection-manager/summary * refactor: fix style of fields drawer * chore: reinstall deps * fix: fix build * fix: fix build of custom-theme * fix: should export Plugin * refactor: fix style of GraphDrawPage * chore: upgrade plugin version * refactor: fix style of Modal by using antd App * refactor: fix style of FormDialog by using local version * refactor(workflow): refactor style using antd-style in workflow * fix(workflow): fix style of workflow * fix: fix size * refactor: add --nb-header-height * feat: remove theme configuration from system settings * refactor: migrate useUpdateThemeSettings to a new file * refactor: rename theme to themeId * feat: add updateSystemThemeSettings * refactor: migrate utils function * feat: use localStorage to avoid theme invalid in login page * fix: fix style of login page * fix: fix style of Drawer * feat: optimize style of theme card * fix: should use a empty object to reset theme * fix: fix test of Page * fix: fix test of Application * fix: change backgroundColor of login page * fix: fix all style of modal * fix: fix gap between blocks (T-896) * fix: fix color of font (T-905) * fix: fix build * fix: fix can not scroll in Drawer (T-897) * fix: fix width of built-in plugins page (T-900) * fix: fix style of import Modal (T-907) * fix: fix style of calendar (T-908) * fix: fix style of kanban (T-909) * fix: fix style of Gantt (T-910) * fix: fix style of Collapse (T-915) * fix: fix style of mobile (T-916) * fix: fix style of PageHeader (T-958) * fix: optimize background color of Drawer * fix: fix style of notification * fix: fix T-1000 * fix: fix style of LinkageHeader (T-1003) * fix: fix T-1004 * fix: fix style of scroll bar of chart (T-911) * fix: fix style of workflow drawer (T-997) * fix: fix T-922 * fix: fix T-924 * refactor: rename custom-theme to theme-editor * fix: fix T-999 * fix: fix T-1011 * fix: fix error * fix: optimize dark mode (T-921) * fix: fix style of markdown (T-1020) * fix: fix style of data template (T-1025) * fix: fix style of rich text (T-1026) * fix: fix style of a * fix: fix style of XButton (T-1028) * fix: fix T-1027 * fix: fix color of variable tag (T-1030) * chore: translation * feat: add a modal before create new theme (T-1024) * feat: highlight card when editing theme (T-1031) * feat: support to change theme name (T-1023) * fix: api.auth.getOption('theme') * fix: fix T-1032 * fix: fix feedback in feishu group * refactor: code review * fix: fix test * chore: rename * fix: useNotificationMiddleware * refactor: revert * fix: fix build * fix: notification * refactor: migrate CurrentUserProvider from Application to NocoBaseBuildInPlugin * fix: fix test * refactor: fix code review * chore: avoid test error --------- Co-authored-by: chenos <chenlinxh@gmail.com> |
||
|
2cb1203aa4
|
refactor(client)!: application, router and plugin (#2068)
BREAKING CHANGE: * refactor: update umi version 3.x to version 4.x * refactor: update react-router-dom version to 6.x * refactor(react-router-dom): change Layout Component `props.children` to `<Outlet />` * refactor(react-router-dom): change <Route /> props and <RouteSwitch /> correct * refactor(react-router-dom): replace `<Redirect />` to `<Navigate replace />` * refactor(react-router-dom): replace `useHistory` to `useNavigate` * refactor(react-router-dom): replace `useRouteMatch` to `useParams` * refactor(react-router-dom & dumi): fix <RouteSwitch /> & umi document bug * refactor(react-router-dom): `useRoutes` Optimize `<RouteSwitch />` code * refactor(react-router-dom): update `Route` types and docs * refactor(react-router-dom): optimize RouteSwitch code * refactor(react-router-dom): `useLocation` no generics type * refactor(react-router-dom): add `less v3.9.0` to `resolutions` to solve the error of `gulp-less` * refactor(react-router-dom): fix `<RouteSwitch />` `props.routes` as an array is not handled * chore: upgrade `dumi` and refactor docs * fix: completed code review, add `targets` to solve browser compatibility & removed `chainWebpack` * refactor(dumi): upgraded dumi under `packages/core/client` * refactor(dumi): delete `packages/core/dumi-theme-nocobase` * refactor(dumi): degrade `react` & replace `dumi-theme-antd` to `dumi-theme-nocobase` * refactor(dumi): solve conflicts between multiple dumi applications * fix: login page error in react 17 * refactor(dumi): remove less resolutions * refactor(dumi): umi add `msfu: true` config * fix: merge bug * fix: self code review * fix: code reivew and test bug * refactor: upgrade react to 18 * refactor: degrade react types to 17 * chore: fix ci error * fix: support routerBase & fix workflow page params * fix(doc): menu externel link * fix: build error * fix: delete * fix: vitest error * fix: react-router new code replace * fix: vitest markdown error * fix: title is none when refresh * fix: merge error * fix: sidebar width is wrong * fix: useProps error * fix: side-menu-width * fix: menu selectId is wrong & useProps is string * fix: menu selected first default & side menu hide when change * fix: test error & v0.10 change log * fix: new compnent doc modify * fix: set umi `fastRefresh=false` * refactor: application v2 * fix: improve code * fix: bug * fix: page = 0 error * fix: workflow navigate error * feat: plugin manager * fix: afterAdd * feat: complete basic functional refactor * fix: performance Application * feat: support client and server build * refactor: nocobase build-in plugin and providers * fix: server can't start * refactor: all plugins package `Prodiver` change to `Plugin` * feat: nested router and change mobile client * feat: delete application-v1 and router-switch * feat: improve routes * fix: change mobile not nested * feat: delete RouteSwitchContext and change buildin Provider to Plugin * feat: delete RouteSwitchContext plugins * fix: refactor SchemaComponentOptions * feat: improve SchemaComponentOptions * fix: add useAdminSchemaUid * fix: merge master error * fix: vitest error * fix: bug * feat: bugs * fix: improve code * fix: restore code * feat: vitest * fix: bugs * fix: bugs * docs: update doc * feat: improve code * feat: add docs and imporve code * fix: bugs * feat: add tests * fix: remove deps * fix: muti app router error * fix: router error * fix: workflow error * fix: cli error * feat: change NoCobase -> Nocobase * fix: code review * fix: type error * fix: cli error and plugin demo * feat: update doc theme * fix: build error * fix: mobile router * fix: code rewview * fix: bug * fix: test bug * fix: bug * refactor: add the "client" directory to all plugins * refactor: modify samples client and plugin template * fix: merge error * fix: add files in package.json * refactor: add README to files in package.json * fix: adjust plugins depencies * refactor: completing plugins' devDependencies and dependencies * fix: bug * refactor: remove @emotion/css * refactor: jsonwebtoken deps * refactor: remove sequelize * refactor: dayjs and moment deps * fix: bugs * fix: bug * fix: cycle detect * fix: merge bug * feat: new plugin bug * fix: lang bug * fix: dynamic import bug * refactor: plugins and example add father config * feat: improve code * fix: add AppSpin and AppError components * Revert "refactor: plugins and example add father config" This reverts commit 483315bca5524e4b8cbbb20cbad77986f081089d. # Conflicts: # packages/plugins/auth/package.json # packages/plugins/multi-app-manager/package.json # packages/samples/command/package.json # packages/samples/custom-collection-template/package.json # packages/samples/ratelimit/package.json # packages/samples/shop-actions/package.json # packages/samples/shop-events/package.json # packages/samples/shop-modeling/package.json * feat: update doc --------- Co-authored-by: chenos <chenlinxh@gmail.com> |
||
|
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 |
||
|
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> |
||
|
69bbfee67a
|
feat: use ActionContextProvider instated of ActionContext.Provider (#2019)
|
||
|
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> |