@ronas-it/nx-generators 0.15.3 → 0.17.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 (54) hide show
  1. package/package.json +1 -1
  2. package/src/generators/code-checks/config.d.ts +1 -0
  3. package/src/generators/code-checks/config.js +1 -0
  4. package/src/generators/code-checks/config.js.map +1 -1
  5. package/src/generators/expo-app/app-files/app.config.ts.template +3 -3
  6. package/src/generators/expo-app/app-files/project.json.template +8 -0
  7. package/src/generators/expo-app/generator.js +2 -7
  8. package/src/generators/expo-app/generator.js.map +1 -1
  9. package/src/generators/next-app/files/project.json.template +1 -1
  10. package/src/generators/next-app/generator.js +6 -0
  11. package/src/generators/next-app/generator.js.map +1 -1
  12. package/src/shared/dependencies.d.ts +6 -0
  13. package/src/shared/dependencies.js +6 -0
  14. package/src/shared/dependencies.js.map +1 -1
  15. package/src/shared/generators/auth/{lib-files → common-files}/shared/data-access/api/src/lib/auth/models/refresh-token-response.ts.template +1 -1
  16. package/src/shared/generators/auth/common-files/shared/data-access/auth/src/lib/store/listener.ts.template +165 -0
  17. package/src/shared/generators/auth/{lib-files → common-files}/shared/data-access/auth/src/lib/store/slice.ts.template +12 -1
  18. package/src/shared/generators/auth/generator.d.ts +1 -1
  19. package/src/shared/generators/auth/generator.js +27 -12
  20. package/src/shared/generators/auth/generator.js.map +1 -1
  21. package/src/shared/generators/auth/next-app-files/app/[locale]/providers.tsx.template +26 -0
  22. package/src/shared/generators/auth/next-app-files/middleware.ts.template +33 -0
  23. package/src/shared/generators/auth/next-libs-files/shared/data-access/cookie/src/config.ts.template +6 -0
  24. package/src/shared/generators/auth/next-libs-files/shared/data-access/cookie/src/index.ts.template +2 -0
  25. package/src/shared/generators/auth/next-libs-files/shared/data-access/cookie/src/service.ts.template +28 -0
  26. package/src/shared/generators/auth/schema.d.ts +3 -0
  27. package/src/shared/utils/cli-utils.d.ts +1 -1
  28. package/src/shared/utils/cli-utils.js +9 -12
  29. package/src/shared/utils/cli-utils.js.map +1 -1
  30. package/src/generators/repo-config/files/.npmrc.template +0 -1
  31. package/src/shared/generators/auth/lib-files/shared/data-access/auth/src/lib/store/listener.ts.template +0 -74
  32. /package/src/shared/generators/auth/{lib-files → common-files}/shared/data-access/api/src/index.ts.template +0 -0
  33. /package/src/shared/generators/auth/{lib-files → common-files}/shared/data-access/api/src/lib/auth/api.ts.template +0 -0
  34. /package/src/shared/generators/auth/{lib-files → common-files}/shared/data-access/api/src/lib/auth/index.ts.template +0 -0
  35. /package/src/shared/generators/auth/{lib-files → common-files}/shared/data-access/api/src/lib/auth/models/forgot-password-request.ts.template +0 -0
  36. /package/src/shared/generators/auth/{lib-files → common-files}/shared/data-access/api/src/lib/auth/models/index.ts.template +0 -0
  37. /package/src/shared/generators/auth/{lib-files → common-files}/shared/data-access/api/src/lib/auth/models/login-request.ts.template +0 -0
  38. /package/src/shared/generators/auth/{lib-files → common-files}/shared/data-access/api/src/lib/auth/models/login-response.ts.template +0 -0
  39. /package/src/shared/generators/auth/{lib-files → common-files}/shared/data-access/api/src/lib/auth/models/register-request.ts.template +0 -0
  40. /package/src/shared/generators/auth/{lib-files → common-files}/shared/data-access/api/src/lib/auth/models/restore-password-request.ts.template +0 -0
  41. /package/src/shared/generators/auth/{lib-files → common-files}/shared/data-access/api/src/lib/index.ts.template +0 -0
  42. /package/src/shared/generators/auth/{lib-files → common-files}/shared/data-access/api/src/lib/profile/api.ts.template +0 -0
  43. /package/src/shared/generators/auth/{lib-files → common-files}/shared/data-access/api/src/lib/profile/config.ts.template +0 -0
  44. /package/src/shared/generators/auth/{lib-files → common-files}/shared/data-access/api/src/lib/profile/index.ts.template +0 -0
  45. /package/src/shared/generators/auth/{lib-files → common-files}/shared/data-access/api/src/lib/profile/models/get-profile-request.ts.template +0 -0
  46. /package/src/shared/generators/auth/{lib-files → common-files}/shared/data-access/api/src/lib/profile/models/index.ts.template +0 -0
  47. /package/src/shared/generators/auth/{lib-files → common-files}/shared/data-access/api/src/lib/profile/types/index.ts.template +0 -0
  48. /package/src/shared/generators/auth/{lib-files → common-files}/shared/data-access/api/src/lib/profile/types/relation.ts.template +0 -0
  49. /package/src/shared/generators/auth/{lib-files → common-files}/shared/data-access/api/src/lib/user/index.ts.template +0 -0
  50. /package/src/shared/generators/auth/{lib-files → common-files}/shared/data-access/api/src/lib/user/models/index.ts.template +0 -0
  51. /package/src/shared/generators/auth/{lib-files → common-files}/shared/data-access/api/src/lib/user/models/user.ts.template +0 -0
  52. /package/src/shared/generators/auth/{lib-files → common-files}/shared/data-access/auth/src/index.ts.template +0 -0
  53. /package/src/shared/generators/auth/{lib-files → common-files}/shared/data-access/auth/src/lib/index.ts.template +0 -0
  54. /package/src/shared/generators/auth/{lib-files → common-files}/shared/data-access/auth/src/lib/store/index.ts.template +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ronas-it/nx-generators",
3
- "version": "0.15.3",
3
+ "version": "0.17.0",
4
4
  "description": "Nx generators for Ronas IT projects",
5
5
  "license": "MIT",
6
6
  "author": "Ronas IT",
@@ -23,6 +23,7 @@ declare const _default: {
23
23
  noImplicitAny: boolean;
24
24
  strictPropertyInitialization: boolean;
25
25
  strictNullChecks: boolean;
26
+ lib: string[];
26
27
  };
27
28
  tsConfigExclude: string[];
28
29
  gitIgnore: string[];
@@ -25,6 +25,7 @@ exports.default = {
25
25
  noImplicitAny: true,
26
26
  strictPropertyInitialization: false,
27
27
  strictNullChecks: true,
28
+ lib: ['es2022', 'dom'],
28
29
  },
29
30
  tsConfigExclude: ['**/*.cjs', '**/*.mjs', 'node_modules', 'dist'],
30
31
  gitIgnore: ['.eslintcache', '*.tsbuildinfo'],
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../plugin/src/generators/code-checks/config.ts"],"names":[],"mappings":";;AAAA,kBAAe;IACb,aAAa,EAAE;QACb,YAAY,EAAE,+BAA+B;QAC7C,4BAA4B,EAAE,kBAAkB;QAChD,eAAe,EAAE,sBAAsB;KACxC;IACD,QAAQ,EAAE;QACR,OAAO,EAAE,GAAG;QACZ,OAAO,EAAE,GAAG;QACZ,SAAS,EAAE,IAAI;QACf,MAAM,EAAE,IAAI;QACZ,qBAAqB,EAAE,IAAI;QAC3B,sBAAsB,EAAE,IAAI;QAC5B,SAAS,EAAE,KAAK;QAChB,cAAc,EAAE,KAAK;QACrB,mBAAmB,EAAE,KAAK;QAC1B,WAAW,EAAE,KAAK;QAClB,gBAAgB,EAAE,SAAS;QAC3B,GAAG,EAAE,cAAc;QACnB,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,IAAI;QACZ,4BAA4B,EAAE,IAAI;QAClC,aAAa,EAAE,IAAI;QACnB,4BAA4B,EAAE,KAAK;QACnC,gBAAgB,EAAE,IAAI;KACvB;IACD,eAAe,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,CAAC;IACjE,SAAS,EAAE,CAAC,cAAc,EAAE,eAAe,CAAC;CAC7C,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../plugin/src/generators/code-checks/config.ts"],"names":[],"mappings":";;AAAA,kBAAe;IACb,aAAa,EAAE;QACb,YAAY,EAAE,+BAA+B;QAC7C,4BAA4B,EAAE,kBAAkB;QAChD,eAAe,EAAE,sBAAsB;KACxC;IACD,QAAQ,EAAE;QACR,OAAO,EAAE,GAAG;QACZ,OAAO,EAAE,GAAG;QACZ,SAAS,EAAE,IAAI;QACf,MAAM,EAAE,IAAI;QACZ,qBAAqB,EAAE,IAAI;QAC3B,sBAAsB,EAAE,IAAI;QAC5B,SAAS,EAAE,KAAK;QAChB,cAAc,EAAE,KAAK;QACrB,mBAAmB,EAAE,KAAK;QAC1B,WAAW,EAAE,KAAK;QAClB,gBAAgB,EAAE,SAAS;QAC3B,GAAG,EAAE,cAAc;QACnB,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,IAAI;QACZ,4BAA4B,EAAE,IAAI;QAClC,aAAa,EAAE,IAAI;QACnB,4BAA4B,EAAE,KAAK;QACnC,gBAAgB,EAAE,IAAI;QACtB,GAAG,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC;KACvB;IACD,eAAe,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,CAAC;IACjE,SAAS,EAAE,CAAC,cAAc,EAAE,eAAe,CAAC;CAC7C,CAAC"}
@@ -15,9 +15,9 @@ const createConfig = (): Omit<ExpoConfig, 'extra'> & { extra: { eas: EASConfig }
15
15
  scheme: '<%= name %>-dev',
16
16
  version: '0.1.0',
17
17
  orientation: 'portrait',
18
- icon: './assets/icon.png',
18
+ icon: './assets/images/icon.png',
19
19
  splash: {
20
- image: './assets/splash.png',
20
+ image: './assets/images/splash.png',
21
21
  resizeMode: 'contain',
22
22
  backgroundColor: '#ffffff',
23
23
  },
@@ -36,7 +36,7 @@ const createConfig = (): Omit<ExpoConfig, 'extra'> & { extra: { eas: EASConfig }
36
36
  package: appId,
37
37
  versionCode: 1,
38
38
  adaptiveIcon: {
39
- foregroundImage: './assets/adaptive-icon.png',
39
+ foregroundImage: './assets/images/adaptive-icon.png',
40
40
  backgroundColor: '#FFFFFF',
41
41
  },
42
42
  edgeToEdgeEnabled: true
@@ -0,0 +1,8 @@
1
+ {
2
+ "name": "<%= directory %>",
3
+ "$schema": "../../node_modules/nx/schemas/project-schema.json",
4
+ "sourceRoot": "apps/<%= directory %>",
5
+ "projectType": "application",
6
+ "tags": ["app:<%= directory %>", "type:app"],
7
+ "targets": {}
8
+ }
@@ -22,12 +22,7 @@ function expoAppGenerator(tree, options) {
22
22
  const tags = [`app:${options.directory}`, 'type:app'];
23
23
  // Install @nx/expo plugin
24
24
  (0, child_process_1.execSync)('npx nx add @nx/expo', { stdio: 'inherit' });
25
- if ((0, fs_1.existsSync)(appRoot)) {
26
- const project = (0, devkit_1.readProjectConfiguration)(tree, options.directory);
27
- project.tags = [`app:${options.directory}`, 'type:app'];
28
- (0, devkit_1.updateProjectConfiguration)(tree, project.name, project);
29
- }
30
- else {
25
+ if (!(0, fs_1.existsSync)(appRoot)) {
31
26
  (0, child_process_1.execSync)(`npx nx g @nx/expo:app ${options.name} --directory=apps/${options.directory} --tags="${tags.join(', ')}" --linter=none --unitTestRunner=none --e2eTestRunner=none`, { stdio: 'inherit' });
32
27
  }
33
28
  // Generate shared libs
@@ -86,7 +81,7 @@ function expoAppGenerator(tree, options) {
86
81
  (0, devkit_1.installPackagesTask)(tree);
87
82
  (0, child_process_1.execSync)('npx expo install --fix', { stdio: 'inherit' });
88
83
  if (shouldGenerateAuthLibs) {
89
- (0, child_process_1.execSync)(`npx nx g auth ${options.directory}`, {
84
+ (0, child_process_1.execSync)(`npx nx g auth --directory=${options.directory} --type=${enums_1.BaseGeneratorType.EXPO_APP}`, {
90
85
  stdio: 'inherit',
91
86
  });
92
87
  }
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../plugin/src/generators/expo-app/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../plugin/src/generators/expo-app/generator.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,6 @@
4
4
  "sourceRoot": "apps/<%= directory %>",
5
5
  "projectType": "application",
6
6
  "tags": ["app:<%= directory %>", "type:app"],
7
- "// targets": "to see all targets run: nx show project my-app --web",
7
+ "// targets": "to see all targets run: nx show project <%= directory %> --web",
8
8
  "targets": {}
9
9
  }
@@ -15,6 +15,7 @@ function nextAppGenerator(tree, options) {
15
15
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
16
16
  var _a, _b;
17
17
  const shouldGenerateApiClientLib = options.withStore && !(0, lodash_1.isBoolean)(options.withApiClient) && (yield (0, utils_1.confirm)('Do you want to create api client lib?'));
18
+ const shouldGenerateAuthLibs = shouldGenerateApiClientLib && (yield (0, utils_1.confirm)('Do you want to create auth lib?'));
18
19
  const appRoot = `apps/${options.directory}`;
19
20
  const i18nRoot = `i18n/${options.directory}`;
20
21
  const libPath = `${(0, utils_1.getImportPathPrefix)(tree)}/${options.directory}`;
@@ -75,6 +76,11 @@ function nextAppGenerator(tree, options) {
75
76
  yield (0, devkit_1.formatFiles)(tree);
76
77
  return () => {
77
78
  (0, devkit_1.installPackagesTask)(tree);
79
+ if (shouldGenerateAuthLibs) {
80
+ (0, child_process_1.execSync)(`npx nx g auth --directory=${options.directory} --type=${enums_1.BaseGeneratorType.NEXT_APP}`, {
81
+ stdio: 'inherit',
82
+ });
83
+ }
78
84
  if (options.withSentry) {
79
85
  (0, child_process_1.execSync)(`npx nx g sentry --directory=${appRoot}`, {
80
86
  stdio: 'inherit',
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../plugin/src/generators/next-app/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../plugin/src/generators/next-app/generator.ts"],"names":[],"mappings":"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"}
@@ -31,6 +31,9 @@ export declare const dependencies: {
31
31
  auth: {
32
32
  luxon: string;
33
33
  };
34
+ 'next-auth': {
35
+ 'js-cookie': string;
36
+ };
34
37
  'rn-styles': {
35
38
  'react-native-extended-stylesheet': string;
36
39
  };
@@ -94,4 +97,7 @@ export declare const devDependencies: {
94
97
  auth: {
95
98
  '@types/luxon': string;
96
99
  };
100
+ 'next-auth': {
101
+ '@types/js-cookie': string;
102
+ };
97
103
  };
@@ -34,6 +34,9 @@ exports.dependencies = {
34
34
  auth: {
35
35
  luxon: '^3.6.1',
36
36
  },
37
+ 'next-auth': {
38
+ 'js-cookie': '^3.0.5',
39
+ },
37
40
  'rn-styles': {
38
41
  'react-native-extended-stylesheet': '^0.12.0',
39
42
  },
@@ -98,5 +101,8 @@ exports.devDependencies = {
98
101
  auth: {
99
102
  '@types/luxon': '3.6.2',
100
103
  },
104
+ 'next-auth': {
105
+ '@types/js-cookie': '^3.0.6',
106
+ },
101
107
  };
102
108
  //# sourceMappingURL=dependencies.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dependencies.js","sourceRoot":"","sources":["../../../../plugin/src/shared/dependencies.ts"],"names":[],"mappings":";;;AAAa,QAAA,YAAY,GAAG;IAC1B,UAAU,EAAE;QACV,uCAAuC,EAAE,QAAQ;QACjD,mBAAmB,EAAE,QAAQ;QAC7B,gBAAgB,EAAE,SAAS;QAC3B,iBAAiB,EAAE,QAAQ;QAC3B,aAAa,EAAE,QAAQ;QACvB,gCAAgC,EAAE,QAAQ;QAC1C,sBAAsB,EAAE,SAAS;QACjC,IAAI,EAAE,SAAS;QACf,cAAc,EAAE,QAAQ;QACxB,iBAAiB,EAAE,QAAQ;QAC3B,cAAc,EAAE,UAAU;QAC1B,eAAe,EAAE,QAAQ;QACzB,mBAAmB,EAAE,SAAS;QAC9B,SAAS,EAAE,QAAQ;QACnB,WAAW,EAAE,UAAU;QACvB,KAAK,EAAE,SAAS;QAChB,cAAc,EAAE,SAAS;QACzB,kBAAkB,EAAE,UAAU;QAC9B,8BAA8B,EAAE,QAAQ;KACzC;IACD,UAAU,EAAE;QACV,WAAW,EAAE,QAAQ;QACrB,WAAW,EAAE,UAAU;QACvB,mBAAmB,EAAE,QAAQ;KAC9B;IACD,YAAY,EAAE;QACZ,4BAA4B,EAAE,QAAQ;KACvC;IACD,IAAI,EAAE;QACJ,KAAK,EAAE,QAAQ;KAChB;IACD,WAAW,EAAE;QACX,kCAAkC,EAAE,SAAS;KAC9C;IACD,KAAK,EAAE;QACL,2BAA2B,EAAE,SAAS;QACtC,aAAa,EAAE,QAAQ;KACxB;IACD,WAAW,EAAE;QACX,iBAAiB,EAAE,QAAQ;QAC3B,uBAAuB,EAAE,QAAQ;KAClC;IACD,IAAI,EAAE;QACJ,qBAAqB,EAAE,QAAQ;QAC/B,iBAAiB,EAAE,SAAS;QAC5B,GAAG,EAAE,QAAQ;KACd;IACD,MAAM,EAAE;QACN,IAAI,EAAE;YACJ,sBAAsB,EAAE,SAAS;SAClC;QACD,IAAI,EAAE;YACJ,gBAAgB,EAAE,SAAS;SAC5B;KACF;CACF,CAAC;AAEW,QAAA,eAAe,GAAG;IAC7B,aAAa,EAAE;QACb,gBAAgB,EAAE,QAAQ;QAC1B,kBAAkB,EAAE,QAAQ;QAC5B,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,QAAQ;QAClB,wBAAwB,EAAE,SAAS;QACnC,mCAAmC,EAAE,QAAQ;QAC7C,sBAAsB,EAAE,SAAS;QACjC,wBAAwB,EAAE,SAAS;QACnC,qBAAqB,EAAE,SAAS;QAChC,2BAA2B,EAAE,QAAQ;QACrC,8BAA8B,EAAE,QAAQ;QACxC,KAAK,EAAE,QAAQ;QACf,0BAA0B,EAAE,QAAQ;QACpC,kCAAkC,EAAE,SAAS;QAC7C,2BAA2B,EAAE,SAAS;QACtC,WAAW,EAAE,QAAQ;KACtB;IACD,UAAU,EAAE;QACV,kBAAkB,EAAE,UAAU;QAC9B,WAAW,EAAE,UAAU;QACvB,yBAAyB,EAAE,SAAS;QACpC,kBAAkB,EAAE,QAAQ;QAC5B,KAAK,EAAE,SAAS;QAChB,cAAc,EAAE,SAAS;KAC1B;IACD,UAAU,EAAE;QACV,wDAAwD;QACxD,oBAAoB,EAAE,SAAS;QAC/B,kBAAkB,EAAE,UAAU;KAC/B;IACD,aAAa,EAAE;QACb,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,QAAQ;KACtB;IACD,IAAI,EAAE;QACJ,cAAc,EAAE,OAAO;KACxB;CACF,CAAC"}
1
+ {"version":3,"file":"dependencies.js","sourceRoot":"","sources":["../../../../plugin/src/shared/dependencies.ts"],"names":[],"mappings":";;;AAAa,QAAA,YAAY,GAAG;IAC1B,UAAU,EAAE;QACV,uCAAuC,EAAE,QAAQ;QACjD,mBAAmB,EAAE,QAAQ;QAC7B,gBAAgB,EAAE,SAAS;QAC3B,iBAAiB,EAAE,QAAQ;QAC3B,aAAa,EAAE,QAAQ;QACvB,gCAAgC,EAAE,QAAQ;QAC1C,sBAAsB,EAAE,SAAS;QACjC,IAAI,EAAE,SAAS;QACf,cAAc,EAAE,QAAQ;QACxB,iBAAiB,EAAE,QAAQ;QAC3B,cAAc,EAAE,UAAU;QAC1B,eAAe,EAAE,QAAQ;QACzB,mBAAmB,EAAE,SAAS;QAC9B,SAAS,EAAE,QAAQ;QACnB,WAAW,EAAE,UAAU;QACvB,KAAK,EAAE,SAAS;QAChB,cAAc,EAAE,SAAS;QACzB,kBAAkB,EAAE,UAAU;QAC9B,8BAA8B,EAAE,QAAQ;KACzC;IACD,UAAU,EAAE;QACV,WAAW,EAAE,QAAQ;QACrB,WAAW,EAAE,UAAU;QACvB,mBAAmB,EAAE,QAAQ;KAC9B;IACD,YAAY,EAAE;QACZ,4BAA4B,EAAE,QAAQ;KACvC;IACD,IAAI,EAAE;QACJ,KAAK,EAAE,QAAQ;KAChB;IACD,WAAW,EAAE;QACX,WAAW,EAAE,QAAQ;KACtB;IACD,WAAW,EAAE;QACX,kCAAkC,EAAE,SAAS;KAC9C;IACD,KAAK,EAAE;QACL,2BAA2B,EAAE,SAAS;QACtC,aAAa,EAAE,QAAQ;KACxB;IACD,WAAW,EAAE;QACX,iBAAiB,EAAE,QAAQ;QAC3B,uBAAuB,EAAE,QAAQ;KAClC;IACD,IAAI,EAAE;QACJ,qBAAqB,EAAE,QAAQ;QAC/B,iBAAiB,EAAE,SAAS;QAC5B,GAAG,EAAE,QAAQ;KACd;IACD,MAAM,EAAE;QACN,IAAI,EAAE;YACJ,sBAAsB,EAAE,SAAS;SAClC;QACD,IAAI,EAAE;YACJ,gBAAgB,EAAE,SAAS;SAC5B;KACF;CACF,CAAC;AAEW,QAAA,eAAe,GAAG;IAC7B,aAAa,EAAE;QACb,gBAAgB,EAAE,QAAQ;QAC1B,kBAAkB,EAAE,QAAQ;QAC5B,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,QAAQ;QAClB,wBAAwB,EAAE,SAAS;QACnC,mCAAmC,EAAE,QAAQ;QAC7C,sBAAsB,EAAE,SAAS;QACjC,wBAAwB,EAAE,SAAS;QACnC,qBAAqB,EAAE,SAAS;QAChC,2BAA2B,EAAE,QAAQ;QACrC,8BAA8B,EAAE,QAAQ;QACxC,KAAK,EAAE,QAAQ;QACf,0BAA0B,EAAE,QAAQ;QACpC,kCAAkC,EAAE,SAAS;QAC7C,2BAA2B,EAAE,SAAS;QACtC,WAAW,EAAE,QAAQ;KACtB;IACD,UAAU,EAAE;QACV,kBAAkB,EAAE,UAAU;QAC9B,WAAW,EAAE,UAAU;QACvB,yBAAyB,EAAE,SAAS;QACpC,kBAAkB,EAAE,QAAQ;QAC5B,KAAK,EAAE,SAAS;QAChB,cAAc,EAAE,SAAS;KAC1B;IACD,UAAU,EAAE;QACV,wDAAwD;QACxD,oBAAoB,EAAE,SAAS;QAC/B,kBAAkB,EAAE,UAAU;KAC/B;IACD,aAAa,EAAE;QACb,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,QAAQ;KACtB;IACD,IAAI,EAAE;QACJ,cAAc,EAAE,OAAO;KACxB;IACD,WAAW,EAAE;QACX,kBAAkB,EAAE,QAAQ;KAC7B;CACF,CAAC"}
@@ -8,7 +8,7 @@ export class RefreshTokenResponse {
8
8
  public ttl: number;
9
9
 
10
10
  @Expose({ name: 'refresh_ttl' })
11
- public refreshTtl: string;
11
+ public refreshTtl: number;
12
12
 
13
13
  constructor(partial: Partial<RefreshTokenResponse>) {
14
14
  Object.assign(this, partial);
@@ -0,0 +1,165 @@
1
+ import { createListenerMiddleware, isAnyOf } from '@reduxjs/toolkit';
2
+ import {
3
+ onRequestRefreshTokenInterceptor,
4
+ onResponseRefreshTokenInterceptor,
5
+ RefreshTokenInterceptorOptions,
6
+ <% if (type === 'expo-app') { %>tokenInterceptor,<% } %>
7
+ unauthorizedInterceptor
8
+ } from '@ronas-it/axios-api-client';
9
+ import { storeActions } from '@ronas-it/rtkq-entity-api';
10
+ <% if (type === 'next-app') { %>import { DateTime } from 'luxon';<% } %>
11
+ import { authApi, profileApi, LogInResponse } from '<%= libPath %>/shared/data-access/api';
12
+ import { apiService, configuration } from '<%= libPath %>/shared/data-access/api-client';
13
+ <% if (type === 'next-app') { %>import { CookieService } from '<%= libPath %>/shared/data-access/cookie';<% } %>
14
+ <% if (type === 'expo-app') { %>import { AppStorageValue, storage } from '<%= libPath %>/shared/data-access/storage';<% } %>
15
+ import { authActions, authReducerPath, authSelectors, AuthState } from './slice';
16
+
17
+ export const authListenerMiddleware = createListenerMiddleware<{ [authReducerPath]: AuthState }>();
18
+
19
+ <% if (type === 'expo-app') { %>authListenerMiddleware.startListening({
20
+ actionCreator: storeActions.init,
21
+ effect: (_, { dispatch }) => {
22
+ const token = storage.getString(AppStorageValue.TOKEN);
23
+ dispatch(authActions.setIsAuthenticated(Boolean(token)));
24
+
25
+ apiService.useInterceptors({
26
+ request: [[tokenInterceptor({ getToken: () => storage.getString(AppStorageValue.TOKEN) ?? '' })]],
27
+ });
28
+
29
+ dispatch(authActions.setIsAppReady(true));
30
+ },
31
+ });
32
+
33
+ authListenerMiddleware.startListening({
34
+ matcher: authApi.internalActions.middlewareRegistered.match,
35
+ effect: (_, { dispatch, getState }) => {
36
+ const options: RefreshTokenInterceptorOptions = {
37
+ configuration: configuration.auth,
38
+ getIsAuthenticated: () => authSelectors.isAuthenticated(getState()),
39
+ runTokenRefreshRequest: async () => {
40
+ const { token } = await dispatch(authApi.endpoints.refreshToken.initiate()).unwrap();
41
+ storage.set(AppStorageValue.TOKEN, token);
42
+
43
+ return token;
44
+ },
45
+ onError: () => {
46
+ return dispatch(authApi.endpoints.logout.initiate()).unwrap();
47
+ },
48
+ };
49
+
50
+ apiService.useInterceptors({
51
+ request: [[onRequestRefreshTokenInterceptor(options)]],
52
+ response: [
53
+ [null, onResponseRefreshTokenInterceptor(options)],
54
+ [
55
+ null,
56
+ unauthorizedInterceptor({
57
+ publicEndpoints: configuration.auth.unauthorizedRoutes,
58
+ onError: () => dispatch(authActions.unauthorize()),
59
+ }),
60
+ ],
61
+ ],
62
+ });
63
+ },
64
+ });
65
+
66
+ authListenerMiddleware.startListening({
67
+ matcher: isAnyOf(authApi.endpoints.login.matchFulfilled, authApi.endpoints.register.matchFulfilled),
68
+ effect: ({ payload: { token } }: { payload: LogInResponse }, { dispatch }) => {
69
+ storage.set(AppStorageValue.TOKEN, token);
70
+ dispatch(authActions.setIsAuthenticated(true));
71
+ },
72
+ });<% } %>
73
+
74
+ <% if (type === 'next-app') { %>authListenerMiddleware.startListening({
75
+ actionCreator: storeActions.init,
76
+ effect: async (_, { dispatch, getState }) => {
77
+ const getIsAuthenticated = (): boolean | null => authSelectors.isAuthenticated(getState());
78
+
79
+ const getIsTokenExpired = (): boolean | null => {
80
+ const expiryDate = authSelectors.expiryDate(getState());
81
+
82
+ return !expiryDate || expiryDate <= new Date();
83
+ };
84
+
85
+ const options: RefreshTokenInterceptorOptions = {
86
+ configuration: configuration.auth,
87
+ getIsAuthenticated,
88
+ getIsTokenExpired,
89
+ runTokenRefreshRequest: async () => {
90
+ const { token, ttl, refreshTtl } = await dispatch(authApi.endpoints.refreshToken.initiate()).unwrap();
91
+ const expiryDate = DateTime.now().plus({ minute: ttl }).toJSDate();
92
+
93
+ CookieService.set(
94
+ {
95
+ isAuthenticated: 'true',
96
+ tokenExpiryDate: expiryDate.toISOString(),
97
+ },
98
+ { expires: DateTime.now().plus({ minute: refreshTtl }).toJSDate() },
99
+ );
100
+
101
+ dispatch(authActions.setExpiryDate(expiryDate));
102
+
103
+ return token;
104
+ },
105
+ onError: async () => dispatch(authApi.endpoints.logout.initiate()).unwrap(),
106
+ };
107
+
108
+ apiService.useInterceptors({
109
+ request: [[onRequestRefreshTokenInterceptor(options)]],
110
+ response: [
111
+ [null, onResponseRefreshTokenInterceptor(options)],
112
+ [
113
+ null,
114
+ unauthorizedInterceptor({
115
+ publicEndpoints: configuration.auth.unauthorizedRoutes,
116
+ onError: () => dispatch(authActions.unauthorize()),
117
+ }),
118
+ ],
119
+ ],
120
+ });
121
+
122
+ dispatch(authActions.setIsAppReady(true));
123
+ },
124
+ });
125
+
126
+ authListenerMiddleware.startListening({
127
+ matcher: isAnyOf(authApi.endpoints.login.matchFulfilled, authApi.endpoints.register.matchFulfilled),
128
+ effect: async ({ payload: { refreshTtl, ttl } }: { payload: LogInResponse }, { dispatch }) => {
129
+ const expiryDate = DateTime.now().plus({ minute: ttl }).toJSDate();
130
+
131
+ CookieService.set(
132
+ {
133
+ isAuthenticated: 'true',
134
+ tokenExpiryDate: expiryDate.toISOString(),
135
+ },
136
+ { expires: DateTime.now().plus({ minute: refreshTtl }).toJSDate() },
137
+ );
138
+
139
+ dispatch(authActions.setIsAuthenticated(true));
140
+ dispatch(authActions.setExpiryDate(expiryDate));
141
+ },
142
+ });<% } %>
143
+
144
+ authListenerMiddleware.startListening({
145
+ matcher: isAnyOf(
146
+ authApi.endpoints.logout.matchFulfilled,
147
+ authApi.endpoints.logout.matchRejected,
148
+ profileApi.endpoints.deleteProfile.matchFulfilled,
149
+ ),
150
+ effect: (_, { dispatch }) => {
151
+ dispatch(authActions.unauthorize());
152
+ },
153
+ });
154
+
155
+ authListenerMiddleware.startListening({
156
+ actionCreator: authActions.unauthorize,
157
+ effect: (_, { dispatch }) => {
158
+ <% if (type === 'expo-app') { %>storage.delete(AppStorageValue.TOKEN);<% } %>
159
+ <% if (type === 'next-app') { %>CookieService.remove(['isAuthenticated', 'tokenExpiryDate']);<% } %>
160
+ dispatch(authActions.setIsAuthenticated(false));
161
+ <% if (type === 'next-app') { %>dispatch(authActions.setExpiryDate(null));<% } %>
162
+
163
+ dispatch(profileApi.util.resetApiState());
164
+ },
165
+ });
@@ -1,13 +1,16 @@
1
1
  import { PayloadAction, createSlice } from '@reduxjs/toolkit';
2
+ <% if (type === 'next-app') { %>import { CookieService } from '<%= libPath %>/shared/data-access/cookie';<% } %>
2
3
 
3
4
  export interface AuthState {
4
5
  isAuthenticated: boolean | null;
5
6
  isAppReady: boolean;
7
+ <% if (type === 'next-app') { %>expiryDate: Date | null;<% } %>
6
8
  }
7
9
 
8
10
  const initialState: AuthState = {
9
- isAuthenticated: null,
11
+ isAuthenticated: <% if (type === 'next-app') { %>CookieService.get('isAuthenticated') === 'true',<% } else { %>null,<% } %>
10
12
  isAppReady: false,
13
+ <% if (type === 'next-app') { %>expiryDate: new Date(CookieService.get('tokenExpiryDate')),<% } %>
11
14
  };
12
15
 
13
16
  const authSlice = createSlice({
@@ -20,10 +23,18 @@ const authSlice = createSlice({
20
23
  setIsAppReady(state, { payload }: PayloadAction<boolean>) {
21
24
  state.isAppReady = payload;
22
25
  },
26
+ <% if (type === 'next-app') { %>setExpiryDate(state, { payload }: PayloadAction<AuthState['expiryDate']>) {
27
+ state.expiryDate = payload;
28
+ },<% } %>
29
+ unauthorize(state) {
30
+ state.isAuthenticated = false;
31
+ <% if (type === 'next-app') { %>state.expiryDate = null;<% } %>
32
+ },
23
33
  },
24
34
  selectors: {
25
35
  isAuthenticated: (state) => state.isAuthenticated,
26
36
  isAppReady: (state) => state.isAppReady,
37
+ <% if (type === 'next-app') { %>expiryDate: (state) => state.expiryDate,<% } %>
27
38
  },
28
39
  });
29
40
 
@@ -1,4 +1,4 @@
1
1
  import { Tree } from '@nx/devkit';
2
2
  import { AuthGeneratorSchema } from './schema';
3
- export declare function runAuthGenerator(tree: Tree, options: AuthGeneratorSchema): Promise<() => void>;
3
+ export declare function runAuthGenerator(tree: Tree, options: AuthGeneratorSchema, workspaceRoot?: string): Promise<() => void>;
4
4
  export default runAuthGenerator;
@@ -8,20 +8,19 @@ const path = require("path");
8
8
  const devkit_1 = require("@nx/devkit");
9
9
  const ts_morph_1 = require("ts-morph");
10
10
  const dependencies_1 = require("../../dependencies");
11
+ const enums_1 = require("../../enums");
11
12
  const utils_1 = require("../../utils");
12
- const updateStore = (libRoot) => {
13
+ const updateStore = (libRoot, workspaceRoot = process.cwd()) => {
13
14
  const project = new ts_morph_1.Project({
14
15
  manipulationSettings: {
15
16
  indentationText: ts_morph_1.IndentationText.TwoSpaces,
16
17
  quoteKind: ts_morph_1.QuoteKind.Single,
17
18
  },
18
19
  });
19
- const storePath = `${libRoot}/shared/data-access/store/src`;
20
- const apiPath = `${libRoot}/shared/data-access/api/src`;
21
- const authPath = `${libRoot}/shared/data-access/auth/src`;
22
- const store = project.addSourceFileAtPath(`${storePath}/store.ts`);
23
- const apiAlias = (0, utils_1.searchAliasPath)(apiPath);
24
- const authAlias = (0, utils_1.searchAliasPath)(authPath);
20
+ const storePath = path.join(workspaceRoot, libRoot, 'shared/data-access/store/src/store.ts');
21
+ const store = project.addSourceFileAtPath(storePath);
22
+ const apiAlias = (0, utils_1.searchAliasPath)(path.join(workspaceRoot, libRoot, 'shared/data-access/api/src'), workspaceRoot);
23
+ const authAlias = (0, utils_1.searchAliasPath)(path.join(workspaceRoot, libRoot, 'shared/data-access/auth/src'), workspaceRoot);
25
24
  if (!apiAlias) {
26
25
  throw new Error('Could not find API library.');
27
26
  }
@@ -46,8 +45,8 @@ const updateStore = (libRoot) => {
46
45
  });
47
46
  project.saveSync();
48
47
  };
49
- function runAuthGenerator(tree, options) {
50
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
48
+ function runAuthGenerator(tree_1, options_1) {
49
+ return tslib_1.__awaiter(this, arguments, void 0, function* (tree, options, workspaceRoot = process.cwd()) {
51
50
  const appRoot = `apps/${options.directory}`;
52
51
  const libRoot = `libs/${options.directory}`;
53
52
  const libPath = `${(0, utils_1.getImportPathPrefix)(tree)}/${options.directory}`;
@@ -58,19 +57,35 @@ function runAuthGenerator(tree, options) {
58
57
  (0, child_process_1.execSync)(`npx nx g react-lib --app=${options.directory} --scope=shared --type=data-access --name=auth`, {
59
58
  stdio: 'inherit',
60
59
  });
60
+ if (options.type === enums_1.BaseGeneratorType.NEXT_APP) {
61
+ (0, child_process_1.execSync)(`npx nx g react-lib --app=${options.directory} --scope=shared --type=data-access --name=cookie`, {
62
+ stdio: 'inherit',
63
+ });
64
+ }
61
65
  const appPackagePath = `${appRoot}/package.json`;
62
66
  // Remove unnecessary files and files that will be replaced
63
67
  tree.delete(`${libRoot}/shared/data-access/api/src/index.ts`);
64
68
  tree.delete(`${libRoot}/shared/data-access/auth/src/index.ts`);
65
69
  // Add lib files
66
- (0, devkit_1.generateFiles)(tree, path.join(__dirname, '/lib-files'), libRoot, Object.assign(Object.assign({}, options), { formatName: utils_1.formatName,
70
+ (0, devkit_1.generateFiles)(tree, path.join(__dirname, '/common-files'), libRoot, Object.assign(Object.assign({}, options), { formatName: utils_1.formatName,
67
71
  formatAppIdentifier: utils_1.formatAppIdentifier,
68
72
  libPath }));
69
- updateStore(libRoot);
70
- // Add dependencies
73
+ if (options.type === enums_1.BaseGeneratorType.NEXT_APP) {
74
+ (0, devkit_1.generateFiles)(tree, path.join(__dirname, '/next-libs-files'), libRoot, {});
75
+ (0, devkit_1.generateFiles)(tree, path.join(__dirname, '/next-app-files'), appRoot, { libPath });
76
+ }
77
+ updateStore(libRoot, workspaceRoot);
78
+ // Add dependencies to root package.json
71
79
  (0, devkit_1.addDependenciesToPackageJson)(tree, dependencies_1.dependencies['auth'], dependencies_1.devDependencies['auth']);
80
+ if (options.type === enums_1.BaseGeneratorType.NEXT_APP) {
81
+ (0, devkit_1.addDependenciesToPackageJson)(tree, dependencies_1.dependencies['next-auth'], dependencies_1.devDependencies['next-auth']);
82
+ }
83
+ // Add dependencies to app package.json
72
84
  if ((0, fs_1.existsSync)(appPackagePath)) {
73
85
  (0, devkit_1.addDependenciesToPackageJson)(tree, dependencies_1.dependencies['auth'], dependencies_1.devDependencies['auth'], appPackagePath);
86
+ if (options.type === enums_1.BaseGeneratorType.NEXT_APP) {
87
+ (0, devkit_1.addDependenciesToPackageJson)(tree, dependencies_1.dependencies['next-auth'], dependencies_1.devDependencies['next-auth'], appPackagePath);
88
+ }
74
89
  }
75
90
  yield (0, devkit_1.formatFiles)(tree);
76
91
  return () => {
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../plugin/src/shared/generators/auth/generator.ts"],"names":[],"mappings":";;AAwDA,4CAyCC;;AAjGD,iDAAyC;AACzC,2BAAgC;AAChC,6BAA6B;AAC7B,uCAAiH;AACjH,uCAA0F;AAC1F,qDAAmE;AACnE,uCAAoG;AAGpG,MAAM,WAAW,GAAG,CAAC,OAAe,EAAQ,EAAE;IAC5C,MAAM,OAAO,GAAG,IAAI,kBAAO,CAAC;QAC1B,oBAAoB,EAAE;YACpB,eAAe,EAAE,0BAAe,CAAC,SAAS;YAC1C,SAAS,EAAE,oBAAS,CAAC,MAAM;SAC5B;KACF,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,GAAG,OAAO,+BAA+B,CAAC;IAC5D,MAAM,OAAO,GAAG,GAAG,OAAO,6BAA6B,CAAC;IACxD,MAAM,QAAQ,GAAG,GAAG,OAAO,8BAA8B,CAAC;IAC1D,MAAM,KAAK,GAAG,OAAO,CAAC,mBAAmB,CAAC,GAAG,SAAS,WAAW,CAAC,CAAC;IACnE,MAAM,QAAQ,GAAG,IAAA,uBAAe,EAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,IAAA,uBAAe,EAAC,QAAQ,CAAC,CAAC;IAE5C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC;QAC1B,EAAE,eAAe,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE;QACtE,EAAE,eAAe,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,wBAAwB,EAAE,aAAa,EAAE,iBAAiB,CAAC,EAAE;KAC3G,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,KAAK,CAAC,6BAA6B,CAAC,aAAa,CAAC,CAAC;IAEvE,WAAW,CAAC,2BAA2B,CAAC,qBAAU,CAAC,uBAAuB,CAAC,CAAC,aAAa,CAAC;QACxF,EAAE,IAAI,EAAE,uBAAuB,EAAE,WAAW,EAAE,iBAAiB,EAAE,IAAI,EAAE,wBAAa,CAAC,kBAAkB,EAAE;QACzG,EAAE,IAAI,EAAE,mBAAmB,EAAE,WAAW,EAAE,aAAa,EAAE,IAAI,EAAE,wBAAa,CAAC,kBAAkB,EAAE;QACjG,EAAE,IAAI,EAAE,0BAA0B,EAAE,WAAW,EAAE,oBAAoB,EAAE,IAAI,EAAE,wBAAa,CAAC,kBAAkB,EAAE;KAChH,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,KAAK,CAAC,6BAA6B,CAAC,aAAa,CAAC,CAAC;IAEvE,WAAW;SACR,2BAA2B,CAAC,qBAAU,CAAC,sBAAsB,CAAC;SAC9D,WAAW,CAAC,CAAC,oBAAoB,EAAE,mCAAmC,EAAE,uBAAuB,CAAC,EAAE;QACjG,WAAW,EAAE,IAAI;KAClB,CAAC,CAAC;IAEL,OAAO,CAAC,QAAQ,EAAE,CAAC;AACrB,CAAC,CAAC;AAEF,SAAsB,gBAAgB,CAAC,IAAU,EAAE,OAA4B;;QAC7E,MAAM,OAAO,GAAG,QAAQ,OAAO,CAAC,SAAS,EAAE,CAAC;QAC5C,MAAM,OAAO,GAAG,QAAQ,OAAO,CAAC,SAAS,EAAE,CAAC;QAC5C,MAAM,OAAO,GAAG,GAAG,IAAA,2BAAmB,EAAC,IAAI,CAAC,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QAEpE,uBAAuB;QACvB,IAAA,wBAAQ,EAAC,4BAA4B,OAAO,CAAC,SAAS,+CAA+C,EAAE;YACrG,KAAK,EAAE,SAAS;SACjB,CAAC,CAAC;QACH,IAAA,wBAAQ,EAAC,4BAA4B,OAAO,CAAC,SAAS,gDAAgD,EAAE;YACtG,KAAK,EAAE,SAAS;SACjB,CAAC,CAAC;QAEH,MAAM,cAAc,GAAG,GAAG,OAAO,eAAe,CAAC;QAEjD,2DAA2D;QAC3D,IAAI,CAAC,MAAM,CAAC,GAAG,OAAO,sCAAsC,CAAC,CAAC;QAC9D,IAAI,CAAC,MAAM,CAAC,GAAG,OAAO,uCAAuC,CAAC,CAAC;QAE/D,gBAAgB;QAChB,IAAA,sBAAa,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE,OAAO,kCAC1D,OAAO,KACV,UAAU,EAAV,kBAAU;YACV,mBAAmB,EAAnB,2BAAmB;YACnB,OAAO,IACP,CAAC;QAEH,WAAW,CAAC,OAAO,CAAC,CAAC;QAErB,mBAAmB;QACnB,IAAA,qCAA4B,EAAC,IAAI,EAAE,2BAAY,CAAC,MAAM,CAAC,EAAE,8BAAe,CAAC,MAAM,CAAC,CAAC,CAAC;QAElF,IAAI,IAAA,eAAU,EAAC,cAAc,CAAC,EAAE,CAAC;YAC/B,IAAA,qCAA4B,EAAC,IAAI,EAAE,2BAAY,CAAC,MAAM,CAAC,EAAE,8BAAe,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC,CAAC;QACpG,CAAC;QAED,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;QAExB,OAAO,GAAS,EAAE;YAChB,IAAA,4BAAmB,EAAC,IAAI,CAAC,CAAC;QAC5B,CAAC,CAAC;IACJ,CAAC;CAAA;AAED,kBAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../plugin/src/shared/generators/auth/generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ 'use client';
2
+
3
+ import { storeActions } from '@ronas-it/rtkq-entity-api';
4
+ import { PropsWithChildren, ReactElement, ReactNode, useEffect } from 'react';
5
+ import { Provider, useDispatch, useSelector } from 'react-redux';
6
+ import { authSelectors } from '<%= libPath %>/shared/data-access/auth';
7
+ import { store } from '<%= libPath %>/shared/data-access/store';
8
+
9
+ function App({ children }: PropsWithChildren): ReactNode {
10
+ const dispatch = useDispatch();
11
+ const isAppReady = useSelector(authSelectors.isAppReady);
12
+
13
+ useEffect(() => {
14
+ dispatch(storeActions.init());
15
+ }, []);
16
+
17
+ return isAppReady ? children : null;
18
+ }
19
+
20
+ export function Providers({ children }: PropsWithChildren): ReactElement {
21
+ return (
22
+ <Provider store={store}>
23
+ <App>{children}</App>
24
+ </Provider>
25
+ );
26
+ }
@@ -0,0 +1,33 @@
1
+ import { cookieConfig } from '<%= libPath %>/shared/data-access/cookie';
2
+ import { Locale } from '<%= libPath %>/shared/utils/i18n';
3
+ import { NextRequest, NextResponse } from 'next/server';
4
+ import createMiddleware from 'next-intl/middleware';
5
+ import { constants } from './constants';
6
+
7
+ const redirectToPage = (request: NextRequest, route: string): NextResponse => {
8
+ const pathname = request.nextUrl.pathname;
9
+ const segments = pathname.split('/');
10
+ const languageCode = constants.locales.includes(segments[0] as Locale) ? segments[0] : '';
11
+ const newUrl = new URL(`${languageCode}${route}`, request.url);
12
+
13
+ return NextResponse.redirect(newUrl);
14
+ };
15
+
16
+ const intlMiddleware = createMiddleware({
17
+ locales: constants.locales,
18
+ defaultLocale: constants.defaultLocale,
19
+ localePrefix: 'never',
20
+ });
21
+
22
+ export default async function middleware(request: NextRequest): Promise<NextResponse> {
23
+ const pathname = request.nextUrl.pathname;
24
+ const isAuthenticated = request.cookies.get(cookieConfig.keys.isAuthenticated)?.value === 'true';
25
+
26
+ // TODO: Implement redirects with redirectToPage according to pathname and isAuthenticated
27
+
28
+ return intlMiddleware(request);
29
+ }
30
+
31
+ export const config = {
32
+ matcher: ['/((?!api|_next|.*\\..*).*)'],
33
+ };
@@ -0,0 +1,6 @@
1
+ export const cookieConfig = {
2
+ keys: {
3
+ isAuthenticated: 'isAuthenticated',
4
+ tokenExpiryDate: 'tokenExpiryDate',
5
+ },
6
+ };
@@ -0,0 +1,2 @@
1
+ export * from './service';
2
+ export * from './config';
@@ -0,0 +1,28 @@
1
+ import Cookies from 'js-cookie';
2
+ import { isNil } from 'lodash';
3
+ import { cookieConfig } from './config';
4
+
5
+ type Key = keyof typeof cookieConfig.keys;
6
+ type Data = Partial<Record<Key, string>>;
7
+
8
+ export class CookieService {
9
+ public static set(data: Data, options?: Cookies.CookieAttributes): void {
10
+ Object.entries(data).forEach(([key, value]) => {
11
+ if (isNil(value)) {
12
+ CookieService.remove([key as Key]);
13
+ } else {
14
+ Cookies.set(key, value, options);
15
+ }
16
+ });
17
+ }
18
+
19
+ public static get(key: Key): string {
20
+ return Cookies.get(key) || '';
21
+ }
22
+
23
+ public static remove(keys: Array<Key>, options?: Cookies.CookieAttributes): void {
24
+ for (const key of keys) {
25
+ Cookies.remove(key, options);
26
+ }
27
+ }
28
+ }
@@ -1,3 +1,6 @@
1
+ import { BaseGeneratorType } from '../../enums';
2
+
1
3
  export interface AuthGeneratorSchema {
2
4
  directory: string;
5
+ type: BaseGeneratorType;
3
6
  }
@@ -12,7 +12,7 @@ export declare enum LibraryType {
12
12
  export declare const validateLibraryType: (type: string) => string;
13
13
  export declare const getNxLibsPaths: (types: Array<LibraryType>) => Array<string>;
14
14
  export declare const searchNxLibsPaths: (paths: Array<string>, input: string, method?: "includes" | "startsWith" | "endsWith") => Array<string>;
15
- export declare const searchAliasPath: (input: string) => string | undefined;
15
+ export declare const searchAliasPath: (input: string, workspaceRoot?: string) => string | undefined;
16
16
  export declare const filterSource: (input: string, source: Array<string>) => Promise<Array<{
17
17
  value: string;
18
18
  }>>;
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getLibraryDetailsByName = exports.selectProject = exports.getProjectsDetails = exports.appendFileContent = exports.updateFileContent = exports.filterSource = exports.searchAliasPath = exports.searchNxLibsPaths = exports.getNxLibsPaths = exports.validateLibraryType = exports.LibraryType = exports.confirm = exports.askQuestion = exports.createCliReadline = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const fs = require("fs");
6
+ const path = require("path");
6
7
  const readline = require("readline");
7
8
  const devkit_1 = require("@nx/devkit");
8
9
  const lodash_1 = require("lodash");
@@ -37,14 +38,11 @@ var LibraryType;
37
38
  LibraryType["FEATURES"] = "features";
38
39
  LibraryType["UTILS"] = "utils";
39
40
  })(LibraryType || (exports.LibraryType = LibraryType = {}));
40
- const parseLibsPaths = () => {
41
- let tsconfig;
42
- if (fs.existsSync('tsconfig.base.json')) {
43
- tsconfig = JSON.parse(fs.readFileSync('tsconfig.base.json', 'utf8'));
44
- }
45
- else {
46
- tsconfig = JSON.parse(fs.readFileSync('tsconfig.json', 'utf8'));
47
- }
41
+ const parseLibsPaths = (workspaceRoot = process.cwd()) => {
42
+ const tsconfigPath = fs.existsSync(path.join(workspaceRoot, 'tsconfig.base.json'))
43
+ ? path.join(workspaceRoot, 'tsconfig.base.json')
44
+ : path.join(workspaceRoot, 'tsconfig.json');
45
+ const tsconfig = JSON.parse(fs.readFileSync(tsconfigPath, 'utf8'));
48
46
  return tsconfig.compilerOptions.paths;
49
47
  };
50
48
  const validateLibraryType = (type) => {
@@ -66,10 +64,9 @@ const searchNxLibsPaths = (paths, input, method = 'includes') => {
66
64
  return paths.filter((path) => path[method](input));
67
65
  };
68
66
  exports.searchNxLibsPaths = searchNxLibsPaths;
69
- const searchAliasPath = (input) => {
70
- const libs = parseLibsPaths();
71
- const path = Object.keys(libs).find((key) => libs[key][0].includes(input));
72
- return path;
67
+ const searchAliasPath = (input, workspaceRoot) => {
68
+ const libs = parseLibsPaths(workspaceRoot);
69
+ return Object.keys(libs).find((key) => libs[key][0].includes(input));
73
70
  };
74
71
  exports.searchAliasPath = searchAliasPath;
75
72
  const filterSource = (input, source) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
@@ -1 +1 @@
1
- {"version":3,"file":"cli-utils.js","sourceRoot":"","sources":["../../../../../plugin/src/shared/utils/cli-utils.ts"],"names":[],"mappings":";;;;AAAA,yBAAyB;AACzB,qCAAqC;AACrC,uCAA4D;AAC5D,mCAAiC;AACjC,2CAAwC;AAEjC,MAAM,iBAAiB,GAAG,GAAuB,EAAE,CACxD,QAAQ,CAAC,eAAe,CAAC;IACvB,KAAK,EAAE,OAAO,CAAC,KAAK;IACpB,MAAM,EAAE,OAAO,CAAC,MAAM;CACvB,CAAC,CAAC;AAJQ,QAAA,iBAAiB,qBAIzB;AAEE,MAAM,WAAW,GAAG,CAAO,QAAgB,EAAE,aAAsB,EAAmB,EAAE;IAC7F,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC;QACvB,OAAO,EAAE,QAAQ;QACjB,OAAO,EAAE,aAAa;KACvB,CAAC,CAAC;IAEH,OAAO,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC;AAC5B,CAAC,CAAA,CAAC;AARW,QAAA,WAAW,eAQtB;AAEK,MAAM,OAAO,GAAG,CAAO,mBAA2B,EAAoB,EAAE;IAC7E,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAExC,MAAM,MAAM,GAAG,IAAI,OAAO,CAAC;QACzB,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,mBAAmB;KAC7B,CAAC,CAAC;IAEH,OAAO,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC;AAC5B,CAAC,CAAA,CAAC;AATW,QAAA,OAAO,WASlB;AAEF,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,wBAAS,CAAA;IACT,0CAA2B,CAAA;IAC3B,oCAAqB,CAAA;IACrB,8BAAe,CAAA;AACjB,CAAC,EALW,WAAW,2BAAX,WAAW,QAKtB;AAED,MAAM,cAAc,GAAG,GAAkC,EAAE;IACzD,IAAI,QAAQ,CAAC;IAEb,IAAI,EAAE,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE,CAAC;QACxC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC,CAAC;IACvE,CAAC;SAAM,CAAC;QACN,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,OAAO,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC;AACxC,CAAC,CAAC;AAEK,MAAM,mBAAmB,GAAG,CAAC,IAAY,EAAU,EAAE;IAC1D,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAEnD,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAmB,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,uBAAuB,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpG,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AARW,QAAA,mBAAmB,uBAQ9B;AAEK,MAAM,cAAc,GAAG,CAAC,KAAyB,EAAiB,EAAE;IACzE,MAAM,IAAI,GAAG,cAAc,EAAE,CAAC;IAE9B,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;SACvB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;SACjD,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACnE,CAAC,CAAC;AANW,QAAA,cAAc,kBAMzB;AAEK,MAAM,iBAAiB,GAAG,CAC/B,KAAoB,EACpB,KAAa,EACb,SAAiD,UAAU,EAC5C,EAAE;IACjB,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AACrD,CAAC,CAAC;AANW,QAAA,iBAAiB,qBAM5B;AAEK,MAAM,eAAe,GAAG,CAAC,KAAa,EAAsB,EAAE;IACnE,MAAM,IAAI,GAAG,cAAc,EAAE,CAAC;IAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAE3E,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AALW,QAAA,eAAe,mBAK1B;AAEK,MAAM,YAAY,GAAG,CAAO,KAAa,EAAE,MAAqB,EAAqC,EAAE;IAC5G,MAAM,YAAY,GAAG,KAAK;QACxB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;QACnF,CAAC,CAAC,MAAM,CAAC;IAEX,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACvD,CAAC,CAAA,CAAC;AANW,QAAA,YAAY,gBAMvB;AAEK,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAE,OAAwC,EAAE,IAAU,EAAQ,EAAE;IAC5G,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAE7C,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC;AAC/C,CAAC,CAAC;AAJW,QAAA,iBAAiB,qBAI5B;AAEK,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAE,UAAkB,EAAE,IAAU,EAAQ,EAAE;IACtF,IAAA,yBAAiB,EAAC,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,GAAG,UAAU,EAAE,IAAI,CAAC,CAAC;AAC3E,CAAC,CAAC;AAFW,QAAA,iBAAiB,qBAE5B;AAEK,MAAM,kBAAkB,GAAG,CAAC,IAAU,EAAE,WAAwB,EAAyC,EAAE,CAChH,KAAK,CAAC,IAAI,CAAC,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;KAC1B,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,KAAK,WAAW,CAAC;KAC7D,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAHjD,QAAA,kBAAkB,sBAG+B;AAEvD,MAAM,aAAa,GAAG,8CAKc,EAAE,6FAJ3C,IAAU,EACV,WAAwB,EACxB,OAAe,EACf,mBAA4B,KAAK;;IAEjC,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,IAAA,0BAAkB,EAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAEvD,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,uBAAuB,WAAW,SAAS,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,OAAO,GAAG,IAAA,gBAAO,EAAC;QACtB,GAAG,QAAQ;QACX,CAAC,gBAAgB,IAAI,EAAE,IAAI,EAAE,qBAAS,CAAC,WAAW,EAAE,IAAI,EAAE,qBAAS,CAAC,WAAW,EAAE;KAClF,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACnB,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,GAAG;QACzC,KAAK,kCAAO,OAAO,KAAE,IAAI,EAAE,WAAW,KAAK,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,GAAE;KAC9G,CAAC,CAAC,CAAC;IAEJ,MAAM,mBAAmB,GAAG,MAAM,IAAI,YAAY,CAAC;QACjD,IAAI,EAAE,SAAS;QACf,OAAO;QACP,KAAK,EAAE,EAAE;QACT,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;KAC9C,CAAC,CAAC,GAAG,EAAE,CAAC;IAET,MAAM,eAAe,GAAG,MAAA,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,mBAAmB,CAAC,0CAAE,KAAK,CAAC;IAE7F,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,WAAW,mBAAmB,aAAa,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO,eAAe,CAAC;AACzB,CAAC,CAAA,CAAC;AAnCW,QAAA,aAAa,iBAmCxB;AAEK,MAAM,uBAAuB,GAAG,CACrC,IAAU,EACV,WAAoB,EACqB,EAAE;IAC3C,IAAI,mBAA2B,CAAC;IAChC,IAAI,mBAA2B,CAAC;IAEhC,IAAI,WAAW,EAAE,CAAC;QAChB,mBAAmB,GAAG,WAAW,CAAC;QAElC,MAAM,OAAO,GAAG,IAAA,0BAAkB,EAAC,IAAI,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,mBAAmB,CAAC,CAAC;QAE5G,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,WAAW,mBAAmB,YAAY,CAAC,CAAC;QAC9D,CAAC;QAED,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IACrC,CAAC;SAAM,CAAC;QACN,MAAM,eAAe,GAAG,MAAM,IAAA,qBAAa,EAAC,IAAI,EAAE,SAAS,EAAE,8BAA8B,CAAC,CAAC;QAE7F,mBAAmB,GAAG,eAAe,CAAC,IAAI,CAAC;QAC3C,mBAAmB,GAAG,eAAe,CAAC,IAAI,CAAC;IAC7C,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC;AAClE,CAAC,CAAA,CAAC;AAzBW,QAAA,uBAAuB,2BAyBlC"}
1
+ {"version":3,"file":"cli-utils.js","sourceRoot":"","sources":["../../../../../plugin/src/shared/utils/cli-utils.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- node-linker=hoisted
@@ -1,74 +0,0 @@
1
- import { createListenerMiddleware, isAnyOf } from '@reduxjs/toolkit';
2
- import {
3
- onRequestRefreshTokenInterceptor,
4
- onResponseRefreshTokenInterceptor,
5
- RefreshTokenInterceptorOptions,
6
- tokenInterceptor,
7
- } from '@ronas-it/axios-api-client';
8
- import { storeActions } from '@ronas-it/rtkq-entity-api';
9
- import { authApi, profileApi, LogInResponse } from '<%= libPath %>/shared/data-access/api';
10
- import { apiService, configuration } from '<%= libPath %>/shared/data-access/api-client';
11
- import { AppStorageValue, storage } from '<%= libPath %>/shared/data-access/storage';
12
- import { authActions, authReducerPath, authSelectors, AuthState } from './slice';
13
-
14
- export const authListenerMiddleware = createListenerMiddleware<{ [authReducerPath]: AuthState }>();
15
-
16
- authListenerMiddleware.startListening({
17
- actionCreator: storeActions.init,
18
- effect: (_, { dispatch }) => {
19
- const token = storage.getString(AppStorageValue.TOKEN);
20
- dispatch(authActions.setIsAuthenticated(Boolean(token)));
21
-
22
- apiService.useInterceptors({
23
- request: [[tokenInterceptor({ getToken: () => storage.getString(AppStorageValue.TOKEN) ?? '' })]],
24
- });
25
-
26
- dispatch(authActions.setIsAppReady(true));
27
- },
28
- });
29
-
30
- authListenerMiddleware.startListening({
31
- matcher: authApi.internalActions.middlewareRegistered.match,
32
- effect: (_, { dispatch, getState }) => {
33
- const options: RefreshTokenInterceptorOptions = {
34
- configuration: configuration.auth,
35
- getIsAuthenticated: () => authSelectors.isAuthenticated(getState()),
36
- runTokenRefreshRequest: async () => {
37
- const { token } = await dispatch(authApi.endpoints.refreshToken.initiate()).unwrap();
38
- storage.set(AppStorageValue.TOKEN, token);
39
-
40
- return token;
41
- },
42
- onError: () => {
43
- return dispatch(authApi.endpoints.logout.initiate()).unwrap();
44
- },
45
- };
46
-
47
- apiService.useInterceptors({
48
- request: [[onRequestRefreshTokenInterceptor(options)]],
49
- response: [[null, onResponseRefreshTokenInterceptor(options)]],
50
- });
51
- },
52
- });
53
-
54
- authListenerMiddleware.startListening({
55
- matcher: isAnyOf(authApi.endpoints.login.matchFulfilled, authApi.endpoints.register.matchFulfilled),
56
- effect: ({ payload: { token } }: { payload: LogInResponse }, { dispatch }) => {
57
- storage.set(AppStorageValue.TOKEN, token);
58
- dispatch(authActions.setIsAuthenticated(true));
59
- },
60
- });
61
-
62
- authListenerMiddleware.startListening({
63
- matcher: isAnyOf(
64
- authApi.endpoints.logout.matchFulfilled,
65
- authApi.endpoints.logout.matchRejected,
66
- profileApi.endpoints.deleteProfile.matchFulfilled,
67
- ),
68
- effect: (_, { dispatch }) => {
69
- storage.delete(AppStorageValue.TOKEN);
70
- dispatch(authActions.setIsAuthenticated(false));
71
-
72
- dispatch(profileApi.util.resetApiState());
73
- },
74
- });