@qlover/create-app 1.0.1 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/dist/index.cjs +9 -9
  3. package/dist/index.js +9 -9
  4. package/dist/templates/next-app/config/Identifier/api.ts +7 -0
  5. package/dist/templates/next-app/config/Identifier/pages/page.register.ts +8 -0
  6. package/dist/templates/next-app/config/common.ts +1 -1
  7. package/dist/templates/next-app/config/i18n/HomeI18n.ts +2 -0
  8. package/dist/templates/next-app/config/i18n/register18n.ts +2 -1
  9. package/dist/templates/next-app/config/route.ts +9 -0
  10. package/dist/templates/next-app/migrations/schema/UserSchema.ts +1 -1
  11. package/dist/templates/next-app/next.config.ts +5 -4
  12. package/dist/templates/next-app/package.json +7 -8
  13. package/dist/templates/next-app/public/locales/en.json +4 -1
  14. package/dist/templates/next-app/public/locales/zh.json +4 -1
  15. package/dist/templates/next-app/src/app/[locale]/auth/layout.tsx +18 -0
  16. package/dist/templates/next-app/src/app/[locale]/{login → auth/login}/LoginForm.tsx +2 -1
  17. package/dist/templates/next-app/src/app/[locale]/{login → auth/login}/page.tsx +4 -5
  18. package/dist/templates/next-app/src/app/[locale]/auth/page.tsx +8 -0
  19. package/dist/templates/next-app/src/app/[locale]/{register → auth/register}/RegisterForm.tsx +24 -3
  20. package/dist/templates/next-app/src/app/[locale]/{register → auth/register}/page.tsx +4 -5
  21. package/dist/templates/next-app/src/app/[locale]/page.tsx +18 -45
  22. package/dist/templates/next-app/src/app/api/ai/completions/route.ts +13 -13
  23. package/dist/templates/next-app/src/app/api/auth/callback/route.ts +11 -0
  24. package/dist/templates/next-app/src/app/api/callback/route.ts +49 -0
  25. package/dist/templates/next-app/src/base/cases/AppConfig.ts +2 -0
  26. package/dist/templates/next-app/src/base/cases/DialogErrorPlugin.ts +3 -6
  27. package/dist/templates/next-app/src/base/cases/DialogHandler.ts +0 -1
  28. package/dist/templates/next-app/src/base/cases/RequestEncryptPlugin.ts +13 -15
  29. package/dist/templates/next-app/src/base/cases/RouterService.ts +2 -7
  30. package/dist/templates/next-app/src/base/cases/StringEncryptor.ts +0 -6
  31. package/dist/templates/next-app/src/base/cases/TranslateI18nUtil.ts +53 -0
  32. package/dist/templates/next-app/src/base/cases/ZodColumnBuilder.ts +0 -10
  33. package/dist/templates/next-app/src/base/port/AdminLayoutInterface.ts +0 -3
  34. package/dist/templates/next-app/src/base/port/AppUserApiInterface.ts +1 -1
  35. package/dist/templates/next-app/src/base/port/I18nServiceInterface.ts +0 -18
  36. package/dist/templates/next-app/src/base/port/UserServiceInterface.ts +10 -5
  37. package/dist/templates/next-app/src/base/services/{appApi/AppApiRequester.ts → AppApiRequester.ts} +16 -11
  38. package/dist/templates/next-app/src/base/services/AppUserGateway.ts +110 -0
  39. package/dist/templates/next-app/src/base/services/I18nService.ts +1 -7
  40. package/dist/templates/next-app/src/base/services/ResourceService.ts +1 -4
  41. package/dist/templates/next-app/src/base/services/UserService.ts +28 -17
  42. package/dist/templates/next-app/src/base/services/adminApi/AdminLocalesApi.ts +5 -7
  43. package/dist/templates/next-app/src/base/services/adminApi/AdminUserApi.ts +4 -3
  44. package/dist/templates/next-app/src/base/services/appApi/AppApiPlugin.ts +24 -16
  45. package/dist/templates/next-app/src/base/services/appApi/AppUserApiBootstrap.ts +2 -5
  46. package/dist/templates/next-app/src/core/bootstraps/BootstrapServer.ts +15 -18
  47. package/dist/templates/next-app/src/core/clientIoc/ClientIOCRegister.ts +0 -5
  48. package/dist/templates/next-app/src/core/globals.ts +1 -0
  49. package/dist/templates/next-app/src/core/serverIoc/ServerIOCRegister.ts +2 -8
  50. package/dist/templates/next-app/src/i18n/routing.ts +8 -3
  51. package/dist/templates/next-app/src/lib/supabase/client.ts +8 -0
  52. package/dist/templates/next-app/src/lib/supabase/conts.ts +2 -0
  53. package/dist/templates/next-app/src/lib/supabase/proxy.ts +84 -0
  54. package/dist/templates/next-app/src/lib/supabase/server.ts +38 -0
  55. package/dist/templates/next-app/src/proxy.ts +8 -1
  56. package/dist/templates/next-app/src/server/AppPageRouteParams.ts +5 -2
  57. package/dist/templates/next-app/src/server/NextApiServer.ts +2 -9
  58. package/dist/templates/next-app/src/server/PagesRouteParams.ts +3 -4
  59. package/dist/templates/next-app/src/server/ServerAuth.ts +18 -12
  60. package/dist/templates/next-app/src/server/SupabaseBridge.ts +66 -59
  61. package/dist/templates/next-app/src/server/controllers/UserController.ts +7 -2
  62. package/dist/templates/next-app/src/server/port/ServerAuthInterface.ts +4 -0
  63. package/dist/templates/next-app/src/server/port/ServerInterface.ts +2 -1
  64. package/dist/templates/next-app/src/server/port/UserServiceInterface.ts +7 -1
  65. package/dist/templates/next-app/src/server/repositorys/LocalesRepository.ts +0 -3
  66. package/dist/templates/next-app/src/server/repositorys/UserRepository.ts +0 -3
  67. package/dist/templates/next-app/src/server/services/UserService.ts +71 -51
  68. package/dist/templates/next-app/src/server/validators/LocalesValidator.ts +0 -3
  69. package/dist/templates/next-app/src/server/validators/LoginValidator.ts +0 -6
  70. package/dist/templates/next-app/src/server/validators/SignupVerifyValidator.ts +68 -0
  71. package/dist/templates/next-app/src/uikit/components/BootstrapsProvider.tsx +3 -3
  72. package/dist/templates/next-app/src/uikit/components/localesImportButton/LocalesImportEvent.ts +0 -6
  73. package/dist/templates/next-app/src/uikit/components-app/AdminButton.tsx +29 -0
  74. package/dist/templates/next-app/src/uikit/components-app/AppRoutePage.tsx +21 -28
  75. package/dist/templates/next-app/src/uikit/components-app/AuthButton.tsx +20 -0
  76. package/dist/templates/next-app/src/uikit/hook/useI18nInterface.ts +2 -2
  77. package/dist/templates/next-app/src/uikit/hook/useWarnTranslations.ts +3 -17
  78. package/dist/templates/next-app/src/uikit/utils/getHashParams.ts +8 -0
  79. package/dist/templates/next-app/src/uikit/utils/getHashVerifyEmailParams.ts +42 -0
  80. package/dist/templates/react-app/config/i18n/PageI18nInterface.ts +2 -0
  81. package/package.json +2 -2
  82. package/dist/templates/next-app/src/base/cases/TranslateI18nInterface.ts +0 -25
  83. package/dist/templates/next-app/src/base/cases/UserServiceApi.ts +0 -78
  84. package/dist/templates/next-app/src/base/services/adminApi/AdminApiRequester.ts +0 -25
  85. package/dist/templates/next-app/src/base/services/appApi/AppUserApi.ts +0 -78
  86. package/dist/templates/next-app/src/server/port/UserControllerInerface.ts +0 -8
@@ -1,78 +0,0 @@
1
- import { inject, injectable } from 'inversify';
2
- import { omit } from 'lodash';
3
- import type { LoginValidatorData } from '@/server/validators/LoginValidator';
4
- import {
5
- isWebUserSchema,
6
- type UserCredential,
7
- type UserSchema
8
- } from '@migrations/schema/UserSchema';
9
- import { AppUserApi } from '../services/appApi/AppUserApi';
10
- import type { AppUserApiInterface } from '../port/AppUserApiInterface';
11
- import type { UserServiceGateway } from '@qlover/corekit-bridge';
12
-
13
- @injectable()
14
- export class UserServiceApi implements UserServiceGateway<
15
- UserSchema,
16
- UserCredential
17
- > {
18
- constructor(@inject(AppUserApi) protected appUserApi: AppUserApiInterface) {}
19
-
20
- /**
21
- * @override
22
- */
23
- public getUserInfo(_params?: unknown): Promise<UserSchema | null> {
24
- if (_params && isWebUserSchema(_params).success) {
25
- return Promise.resolve(omit(_params, 'credential_token') as UserSchema);
26
- }
27
-
28
- return Promise.resolve(null);
29
- }
30
-
31
- /**
32
- * @override
33
- */
34
- public refreshUserInfo<Params>(
35
- _params?: Params | undefined
36
- ): Promise<UserSchema | null> {
37
- return this.getUserInfo(_params);
38
- }
39
-
40
- /**
41
- * @override
42
- */
43
- public async login(params: LoginValidatorData): Promise<UserCredential> {
44
- const response = await this.appUserApi.login(params);
45
-
46
- if (!response.data.success) {
47
- throw response;
48
- }
49
-
50
- return response.data.data as UserCredential;
51
- }
52
-
53
- /**
54
- * @override
55
- */
56
- public async register(params: LoginValidatorData): Promise<UserSchema> {
57
- const response = await this.appUserApi.register(params);
58
-
59
- if (!response.data.success) {
60
- throw response;
61
- }
62
-
63
- return response.data.data as UserSchema;
64
- }
65
-
66
- /**
67
- * @override
68
- */
69
- public async logout<P = unknown, Result = void>(params?: P): Promise<Result> {
70
- const response = await this.appUserApi.logout(params);
71
-
72
- if (!response.data.success) {
73
- throw response;
74
- }
75
-
76
- return response.data.data as Result;
77
- }
78
- }
@@ -1,25 +0,0 @@
1
- import {
2
- ExecutorContextInterface,
3
- RequestAdapterFetch,
4
- RequestExecutor
5
- } from '@qlover/fe-corekit';
6
- import { injectable } from 'inversify';
7
- import type { AppApiConfig } from '../appApi/AppApiRequester';
8
-
9
- export interface AdminApiRequesterContext
10
- extends ExecutorContextInterface<AppApiConfig> {}
11
-
12
- @injectable()
13
- export class AdminApiRequester extends RequestExecutor<
14
- AppApiConfig,
15
- AdminApiRequesterContext
16
- > {
17
- constructor() {
18
- super(
19
- new RequestAdapterFetch({
20
- baseURL: '/api/admin',
21
- responseType: 'json'
22
- })
23
- );
24
- }
25
- }
@@ -1,78 +0,0 @@
1
- import { inject, injectable } from 'inversify';
2
- import type {
3
- AppUserApiInterface,
4
- UserApiLoginTransaction,
5
- UserApiLogoutTransaction,
6
- UserApiRegisterTransaction
7
- } from '@/base/port/AppUserApiInterface';
8
- import { AppApiRequester } from './AppApiRequester';
9
- import type { AppApiConfig, AppApiRequesterContext } from './AppApiRequester';
10
- import { RequestExecutor } from '@qlover/fe-corekit';
11
-
12
- /**
13
- * UserApi
14
- *
15
- * @description
16
- * UserApi is a client for the user API.
17
- *
18
- */
19
- @injectable()
20
- export class AppUserApi implements AppUserApiInterface {
21
- constructor(
22
- @inject(AppApiRequester)
23
- protected client: RequestExecutor<AppApiConfig, AppApiRequesterContext>
24
- ) {}
25
-
26
- /**
27
- * @override
28
- */
29
- public async login(
30
- params: UserApiLoginTransaction['data']
31
- ): Promise<UserApiLoginTransaction['response']> {
32
- const response = await this.client.request<
33
- UserApiLoginTransaction['response'],
34
- UserApiLoginTransaction['request']
35
- >({
36
- url: '/user/login',
37
- method: 'POST',
38
- data: params,
39
- encryptProps: 'password'
40
- });
41
-
42
- return response;
43
- }
44
-
45
- /**
46
- * @override
47
- */
48
- public async register(
49
- params: UserApiRegisterTransaction['data']
50
- ): Promise<UserApiRegisterTransaction['response']> {
51
- const response = await this.client.request<
52
- UserApiRegisterTransaction['response'],
53
- UserApiRegisterTransaction['request']
54
- >({
55
- url: '/user/register',
56
- method: 'POST',
57
- data: params,
58
- encryptProps: 'password'
59
- });
60
-
61
- return response;
62
- }
63
-
64
- /**
65
- * @override
66
- */
67
- public async logout(
68
- _params?: unknown
69
- ): Promise<UserApiLogoutTransaction['response']> {
70
- return await this.client.request<
71
- UserApiLogoutTransaction['response'],
72
- UserApiLogoutTransaction['request']
73
- >({
74
- url: '/user/logout',
75
- method: 'POST'
76
- });
77
- }
78
- }
@@ -1,8 +0,0 @@
1
- import type { UserSchema } from '@migrations/schema/UserSchema';
2
- import type { LoginValidatorData } from '../validators/LoginValidator';
3
-
4
- export interface UserControllerInerface {
5
- login(body: LoginValidatorData): Promise<UserSchema>;
6
- register(body: LoginValidatorData): Promise<UserSchema>;
7
- logout(): Promise<void>;
8
- }