@appxdigital/appx-core 0.1.68

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 (196) hide show
  1. package/dist/appx-core.module.d.ts +7 -0
  2. package/dist/appx-core.module.d.ts.map +1 -0
  3. package/dist/appx-core.module.js +46 -0
  4. package/dist/common/config/default-permissions.config.d.ts +3 -0
  5. package/dist/common/config/default-permissions.config.d.ts.map +1 -0
  6. package/dist/common/config/default-permissions.config.js +6 -0
  7. package/dist/common/config/permissions.config.provider.d.ts +8 -0
  8. package/dist/common/config/permissions.config.provider.d.ts.map +1 -0
  9. package/dist/common/config/permissions.config.provider.js +12 -0
  10. package/dist/common/config/permissions.service.d.ts +7 -0
  11. package/dist/common/config/permissions.service.d.ts.map +1 -0
  12. package/dist/common/config/permissions.service.js +31 -0
  13. package/dist/common/config/permissionsConfigTypes.d.ts +18 -0
  14. package/dist/common/config/permissionsConfigTypes.d.ts.map +1 -0
  15. package/dist/common/config/permissionsConfigTypes.js +2 -0
  16. package/dist/common/contants.d.ts +3 -0
  17. package/dist/common/contants.d.ts.map +1 -0
  18. package/dist/common/contants.js +5 -0
  19. package/dist/common/decorators/guard.decorator.d.ts +5 -0
  20. package/dist/common/decorators/guard.decorator.d.ts.map +1 -0
  21. package/dist/common/decorators/guard.decorator.js +22 -0
  22. package/dist/common/decorators/permission.decorator.d.ts +3 -0
  23. package/dist/common/decorators/permission.decorator.d.ts.map +1 -0
  24. package/dist/common/decorators/permission.decorator.js +7 -0
  25. package/dist/common/decorators/transaction.decorator.d.ts +8 -0
  26. package/dist/common/decorators/transaction.decorator.d.ts.map +1 -0
  27. package/dist/common/decorators/transaction.decorator.js +12 -0
  28. package/dist/common/enums/role.enum.d.ts +6 -0
  29. package/dist/common/enums/role.enum.d.ts.map +1 -0
  30. package/dist/common/enums/role.enum.js +9 -0
  31. package/dist/common/guards/rbac.guard.d.ts +10 -0
  32. package/dist/common/guards/rbac.guard.d.ts.map +1 -0
  33. package/dist/common/guards/rbac.guard.js +56 -0
  34. package/dist/common/guards/role.guard.d.ts +12 -0
  35. package/dist/common/guards/role.guard.d.ts.map +1 -0
  36. package/dist/common/guards/role.guard.js +44 -0
  37. package/dist/common/interceptors/file.interceptor.d.ts +9 -0
  38. package/dist/common/interceptors/file.interceptor.d.ts.map +1 -0
  39. package/dist/common/interceptors/file.interceptor.js +74 -0
  40. package/dist/common/interceptors/prisma.interceptor.d.ts +14 -0
  41. package/dist/common/interceptors/prisma.interceptor.d.ts.map +1 -0
  42. package/dist/common/interceptors/prisma.interceptor.js +82 -0
  43. package/dist/common/interfaces/file-upload.interface.d.ts +13 -0
  44. package/dist/common/interfaces/file-upload.interface.d.ts.map +1 -0
  45. package/dist/common/interfaces/file-upload.interface.js +2 -0
  46. package/dist/common/interfaces/storage-service.interface.d.ts +4 -0
  47. package/dist/common/interfaces/storage-service.interface.d.ts.map +1 -0
  48. package/dist/common/interfaces/storage-service.interface.js +2 -0
  49. package/dist/common/interfaces/user.interface.d.ts +12 -0
  50. package/dist/common/interfaces/user.interface.d.ts.map +1 -0
  51. package/dist/common/interfaces/user.interface.js +2 -0
  52. package/dist/common/providers/aws-storage.service.d.ts +10 -0
  53. package/dist/common/providers/aws-storage.service.d.ts.map +1 -0
  54. package/dist/common/providers/aws-storage.service.js +60 -0
  55. package/dist/common/providers/gcp-storage.service.d.ts +10 -0
  56. package/dist/common/providers/gcp-storage.service.d.ts.map +1 -0
  57. package/dist/common/providers/gcp-storage.service.js +87 -0
  58. package/dist/common/providers/local-storage.service.d.ts +7 -0
  59. package/dist/common/providers/local-storage.service.d.ts.map +1 -0
  60. package/dist/common/providers/local-storage.service.js +80 -0
  61. package/dist/common/types.d.ts +21 -0
  62. package/dist/common/types.d.ts.map +1 -0
  63. package/dist/common/types.js +3 -0
  64. package/dist/common/utils/context-transformer.util.d.ts +6 -0
  65. package/dist/common/utils/context-transformer.util.d.ts.map +1 -0
  66. package/dist/common/utils/context-transformer.util.js +28 -0
  67. package/dist/common/utils/error-handler.d.ts +2 -0
  68. package/dist/common/utils/error-handler.d.ts.map +1 -0
  69. package/dist/common/utils/error-handler.js +38 -0
  70. package/dist/config/admin/create.d.ts +2 -0
  71. package/dist/config/admin/create.d.ts.map +1 -0
  72. package/dist/config/admin/create.js +25 -0
  73. package/dist/config/admin/generate-admin.d.ts +2 -0
  74. package/dist/config/admin/generate-admin.d.ts.map +1 -0
  75. package/dist/config/admin/generate-admin.js +75 -0
  76. package/dist/config/admin/templates/admin.template.d.ts +2 -0
  77. package/dist/config/admin/templates/admin.template.d.ts.map +1 -0
  78. package/dist/config/admin/templates/admin.template.js +131 -0
  79. package/dist/config/admin/templates/component-loader.template.d.ts +2 -0
  80. package/dist/config/admin/templates/component-loader.template.d.ts.map +1 -0
  81. package/dist/config/admin/templates/component-loader.template.js +17 -0
  82. package/dist/config/admin/templates/dashboard.template.d.ts +2 -0
  83. package/dist/config/admin/templates/dashboard.template.d.ts.map +1 -0
  84. package/dist/config/admin/templates/dashboard.template.js +40 -0
  85. package/dist/config/admin/templates/utils.template.d.ts +2 -0
  86. package/dist/config/admin/templates/utils.template.d.ts.map +1 -0
  87. package/dist/config/admin/templates/utils.template.js +135 -0
  88. package/dist/config/generate-all.d.ts +3 -0
  89. package/dist/config/generate-all.d.ts.map +1 -0
  90. package/dist/config/generate-all.js +64 -0
  91. package/dist/config/generate-controllers.d.ts +2 -0
  92. package/dist/config/generate-controllers.d.ts.map +1 -0
  93. package/dist/config/generate-controllers.js +83 -0
  94. package/dist/config/generate-modules.d.ts +2 -0
  95. package/dist/config/generate-modules.d.ts.map +1 -0
  96. package/dist/config/generate-modules.js +158 -0
  97. package/dist/config/generate-resolvers.d.ts +2 -0
  98. package/dist/config/generate-resolvers.d.ts.map +1 -0
  99. package/dist/config/generate-resolvers.js +97 -0
  100. package/dist/config/generate-services.d.ts +2 -0
  101. package/dist/config/generate-services.d.ts.map +1 -0
  102. package/dist/config/generate-services.js +72 -0
  103. package/dist/config/generate-session-schema.d.ts +2 -0
  104. package/dist/config/generate-session-schema.d.ts.map +1 -0
  105. package/dist/config/generate-session-schema.js +78 -0
  106. package/dist/config/setup-fileupload.d.ts +3 -0
  107. package/dist/config/setup-fileupload.d.ts.map +1 -0
  108. package/dist/config/setup-fileupload.js +265 -0
  109. package/dist/config/utils.d.ts +3 -0
  110. package/dist/config/utils.d.ts.map +1 -0
  111. package/dist/config/utils.js +55 -0
  112. package/dist/graphql/batch.payload.d.ts +4 -0
  113. package/dist/graphql/batch.payload.d.ts.map +1 -0
  114. package/dist/graphql/batch.payload.js +23 -0
  115. package/dist/graphql/generic.resolver.d.ts +15 -0
  116. package/dist/graphql/generic.resolver.d.ts.map +1 -0
  117. package/dist/graphql/generic.resolver.js +107 -0
  118. package/dist/graphql/graphql.module.d.ts +3 -0
  119. package/dist/graphql/graphql.module.d.ts.map +1 -0
  120. package/dist/graphql/graphql.module.js +28 -0
  121. package/dist/index.d.ts +24 -0
  122. package/dist/index.d.ts.map +1 -0
  123. package/dist/index.js +39 -0
  124. package/dist/modules/auth/auth-field.decorator.d.ts +10 -0
  125. package/dist/modules/auth/auth-field.decorator.d.ts.map +1 -0
  126. package/dist/modules/auth/auth-field.decorator.js +18 -0
  127. package/dist/modules/auth/auth.controller.d.ts +25 -0
  128. package/dist/modules/auth/auth.controller.d.ts.map +1 -0
  129. package/dist/modules/auth/auth.controller.js +158 -0
  130. package/dist/modules/auth/auth.module.d.ts +3 -0
  131. package/dist/modules/auth/auth.module.d.ts.map +1 -0
  132. package/dist/modules/auth/auth.module.js +28 -0
  133. package/dist/modules/auth/auth.resolver.d.ts +6 -0
  134. package/dist/modules/auth/auth.resolver.d.ts.map +1 -0
  135. package/dist/modules/auth/auth.resolver.js +24 -0
  136. package/dist/modules/auth/auth.service.d.ts +28 -0
  137. package/dist/modules/auth/auth.service.d.ts.map +1 -0
  138. package/dist/modules/auth/auth.service.js +197 -0
  139. package/dist/modules/auth/authenticated.guard.d.ts +5 -0
  140. package/dist/modules/auth/authenticated.guard.d.ts.map +1 -0
  141. package/dist/modules/auth/authenticated.guard.js +20 -0
  142. package/dist/modules/auth/dto/register.dto.d.ts +6 -0
  143. package/dist/modules/auth/dto/register.dto.d.ts.map +1 -0
  144. package/dist/modules/auth/dto/register.dto.js +21 -0
  145. package/dist/modules/auth/dto/user.dto.d.ts +5 -0
  146. package/dist/modules/auth/dto/user.dto.d.ts.map +1 -0
  147. package/dist/modules/auth/dto/user.dto.js +36 -0
  148. package/dist/modules/auth/local-auth.guard.d.ts +7 -0
  149. package/dist/modules/auth/local-auth.guard.d.ts.map +1 -0
  150. package/dist/modules/auth/local-auth.guard.js +31 -0
  151. package/dist/modules/auth/local.strategy.d.ts +15 -0
  152. package/dist/modules/auth/local.strategy.d.ts.map +1 -0
  153. package/dist/modules/auth/local.strategy.js +48 -0
  154. package/dist/modules/auth/session/session-auth.guard.d.ts +5 -0
  155. package/dist/modules/auth/session/session-auth.guard.d.ts.map +1 -0
  156. package/dist/modules/auth/session/session-auth.guard.js +30 -0
  157. package/dist/modules/auth/session/session-serializer.d.ts +9 -0
  158. package/dist/modules/auth/session/session-serializer.d.ts.map +1 -0
  159. package/dist/modules/auth/session/session-serializer.js +44 -0
  160. package/dist/modules/auth/session/session-store.d.ts +11 -0
  161. package/dist/modules/auth/session/session-store.d.ts.map +1 -0
  162. package/dist/modules/auth/session/session-store.js +97 -0
  163. package/dist/modules/common.module.d.ts +3 -0
  164. package/dist/modules/common.module.d.ts.map +1 -0
  165. package/dist/modules/common.module.js +20 -0
  166. package/dist/modules/core/core.controller.d.ts +14 -0
  167. package/dist/modules/core/core.controller.d.ts.map +1 -0
  168. package/dist/modules/core/core.controller.js +114 -0
  169. package/dist/modules/core/core.module.d.ts +3 -0
  170. package/dist/modules/core/core.module.d.ts.map +1 -0
  171. package/dist/modules/core/core.module.js +22 -0
  172. package/dist/modules/core/core.service.d.ts +44 -0
  173. package/dist/modules/core/core.service.d.ts.map +1 -0
  174. package/dist/modules/core/core.service.js +121 -0
  175. package/dist/modules/file/file-upload.controller.d.ts +11 -0
  176. package/dist/modules/file/file-upload.controller.d.ts.map +1 -0
  177. package/dist/modules/file/file-upload.controller.js +52 -0
  178. package/dist/modules/file/file-upload.module.d.ts +6 -0
  179. package/dist/modules/file/file-upload.module.d.ts.map +1 -0
  180. package/dist/modules/file/file-upload.module.js +62 -0
  181. package/dist/modules/file/file-upload.service.d.ts +27 -0
  182. package/dist/modules/file/file-upload.service.d.ts.map +1 -0
  183. package/dist/modules/file/file-upload.service.js +69 -0
  184. package/dist/modules/user/user.module.d.ts +3 -0
  185. package/dist/modules/user/user.module.d.ts.map +1 -0
  186. package/dist/modules/user/user.module.js +20 -0
  187. package/dist/modules/user/user.service.d.ts +10 -0
  188. package/dist/modules/user/user.service.d.ts.map +1 -0
  189. package/dist/modules/user/user.service.js +49 -0
  190. package/dist/prisma/prisma.service.d.ts +128 -0
  191. package/dist/prisma/prisma.service.d.ts.map +1 -0
  192. package/dist/prisma/prisma.service.js +512 -0
  193. package/dist/tasks/session-cleanup.service.d.ts +7 -0
  194. package/dist/tasks/session-cleanup.service.d.ts.map +1 -0
  195. package/dist/tasks/session-cleanup.service.js +38 -0
  196. package/package.json +66 -0
@@ -0,0 +1,158 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ const fs = __importStar(require("fs"));
37
+ const path = __importStar(require("path"));
38
+ const utils_1 = require("./utils");
39
+ const modelsPath = path.join(process.cwd(), 'src/generated');
40
+ const modulesOutputPath = path.join(process.cwd(), 'src/modules');
41
+ const appModulePath = path.join(process.cwd(), 'src/app.module.ts');
42
+ /**
43
+ * Generic module template for a given model
44
+ * @param model
45
+ * @param folder
46
+ */
47
+ const moduleTemplate = (model, folder) => `
48
+ import { Module } from '@nestjs/common';
49
+ import { PrismaModule } from '../../prisma/prisma.module';
50
+ import { ${model}Controller } from './${folder}.controller';
51
+ import { ${model}Service } from './${folder}.service';
52
+ import { ${model}Resolver } from './${folder}.resolver';
53
+
54
+ @Module({
55
+ imports: [PrismaModule],
56
+ controllers: [${model}Controller],
57
+ providers: [${model}Service, ${model}Resolver],
58
+ })
59
+ export class ${model}Module {}
60
+ `;
61
+ /**
62
+ * Create or update the module file for a given model
63
+ * @param model
64
+ * @param modulePath
65
+ * @param folder
66
+ */
67
+ const createModuleFile = (model, modulePath, folder) => {
68
+ const moduleContent = moduleTemplate(model, folder);
69
+ fs.writeFileSync(modulePath, moduleContent);
70
+ console.log(`Module for ${model} created or updated.`);
71
+ };
72
+ /**
73
+ * Update the AppModule with new module imports
74
+ */
75
+ const updateAppModule = () => {
76
+ let appModuleContent = fs.readFileSync(appModulePath, 'utf8');
77
+ /**
78
+ * Regex to extract existing module imports from the AppModule
79
+ */
80
+ const importRegex = /import { (\w+)Module } from '.\/modules\/\w+\/\w+.module';/g;
81
+ const existingImports = new Set();
82
+ let match;
83
+ while ((match = importRegex.exec(appModuleContent)) !== null) {
84
+ existingImports.add(match[1]);
85
+ }
86
+ const newImports = [];
87
+ const newModules = [];
88
+ /**
89
+ * Regex to extract the imports array from the AppModule to prevent duplicates
90
+ */
91
+ const importsArrayRegex = /(imports:\s*\[)([^]*?)(\])/;
92
+ const importsArrayMatch = appModuleContent.match(importsArrayRegex);
93
+ const existingModuleNames = new Set();
94
+ if (importsArrayMatch) {
95
+ const currentImportsArray = importsArrayMatch[2]
96
+ .split(',')
97
+ .map((m) => m.trim().replace(/\s/g, ''))
98
+ .filter((m) => m);
99
+ currentImportsArray.forEach((moduleName) => {
100
+ existingModuleNames.add(moduleName);
101
+ });
102
+ }
103
+ /**
104
+ * Iterate over the modules directory and add new imports to the AppModule
105
+ */
106
+ fs.readdirSync(modulesOutputPath).forEach((folder) => {
107
+ if (folder === 'prisma' || folder === 'schema.gql' || folder === 'session')
108
+ return;
109
+ const modelName = (0, utils_1.kebabToPascalCase)(folder);
110
+ const moduleName = `${modelName}Module`;
111
+ // Ensure no duplicate imports and no duplicate entries in the imports array
112
+ if (!existingImports.has(moduleName) && !existingModuleNames.has(moduleName)) {
113
+ newImports.push(`import { ${modelName}Module } from './modules/${folder}/${folder}.module';`);
114
+ newModules.push(moduleName);
115
+ }
116
+ });
117
+ if (newImports.length === 0) {
118
+ console.log('No new modules to add.');
119
+ return;
120
+ }
121
+ // Add new imports to AppModule and update the imports array without duplicates
122
+ appModuleContent = appModuleContent.replace(/(imports:\s*\[)([^]*?)(\])/, (_, prefix, currentImports, suffix) => {
123
+ const currentModules = currentImports
124
+ .split(',')
125
+ .map((m) => m.trim())
126
+ .filter((m) => m);
127
+ newModules.forEach((newModule) => {
128
+ if (!currentModules.includes(newModule)) {
129
+ currentModules.push(newModule);
130
+ }
131
+ });
132
+ return `${prefix}${currentModules.join(', ')}${suffix}`;
133
+ });
134
+ const finalContent = newImports.join('\n') + '\n' + appModuleContent;
135
+ fs.writeFileSync(appModulePath, finalContent);
136
+ console.log('AppModule updated successfully.');
137
+ };
138
+ /**
139
+ * Generate modules for each model
140
+ */
141
+ fs.readdirSync(modelsPath).forEach((folder) => {
142
+ if (folder === 'prisma' || folder === 'schema.gql' || folder === 'session')
143
+ return;
144
+ const modelName = (0, utils_1.kebabToPascalCase)(folder);
145
+ const modelOutputPath = path.join(modulesOutputPath, folder);
146
+ if (!fs.existsSync(modelOutputPath)) {
147
+ fs.mkdirSync(modelOutputPath, { recursive: true });
148
+ console.log(`Folder for model ${modelName} created.`);
149
+ }
150
+ const modulePath = path.join(modelOutputPath, `${folder}.module.ts`);
151
+ if (!fs.existsSync(modulePath)) {
152
+ createModuleFile(modelName, modulePath, folder);
153
+ }
154
+ else {
155
+ console.log(`Module for ${modelName} already exists, skipping.`);
156
+ }
157
+ });
158
+ updateAppModule();
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=generate-resolvers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-resolvers.d.ts","sourceRoot":"","sources":["../../src/config/generate-resolvers.ts"],"names":[],"mappings":""}
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ const fs = __importStar(require("fs"));
37
+ const path = __importStar(require("path"));
38
+ const utils_1 = require("./utils");
39
+ const modelsPath = path.join(process.cwd(), 'src/generated');
40
+ const outputPath = path.join(process.cwd(), 'src/modules');
41
+ /**
42
+ * Generic resolver template for a given model
43
+ * @param model
44
+ * @param folder
45
+ */
46
+ const genericResolverTemplate = (model, folder) => `import { Resolver } from '@nestjs/graphql';
47
+ import { GenericResolverFactory, PrismaService } from 'appx-core';
48
+ import { ${model} } from '../../generated/${folder}/${folder}.model';
49
+ import { ${model}CreateInput } from '../../generated/${folder}/${folder}-create.input';
50
+ import { ${model}UpdateInput } from '../../generated/${folder}/${folder}-update.input';
51
+ import { ${model}WhereInput } from '../../generated/${folder}/${folder}-where.input';
52
+ import { ${model}WhereUniqueInput } from '../../generated/${folder}/${folder}-where-unique.input';
53
+ import { FindMany${model}Args } from '../../generated/${folder}/find-many-${folder}.args';
54
+ import { ${model}AggregateArgs } from '../../generated/${folder}/${folder}-aggregate.args';
55
+ import { Aggregate${model} } from '../../generated/${folder}/aggregate-${folder}.output';
56
+ import { CreateMany${model}Args } from '../../generated/${folder}/create-many-${folder}.args';
57
+ import { ${model}CreateManyInput } from '../../generated/${folder}/${folder}-create-many.input';
58
+
59
+ const ${model}GenericResolver = GenericResolverFactory(
60
+ '${model}',
61
+ ${model},
62
+ ${model}CreateInput,
63
+ ${model}UpdateInput,
64
+ ${model}WhereInput,
65
+ ${model}WhereUniqueInput,
66
+ FindMany${model}Args,
67
+ ${model}AggregateArgs,
68
+ Aggregate${model},
69
+ CreateMany${model}Args,
70
+ ${model}CreateManyInput,
71
+ );
72
+
73
+ @Resolver(() => ${model})
74
+ export class ${model}Resolver extends ${model}GenericResolver {
75
+ constructor(prisma: PrismaService) {
76
+ super(prisma);
77
+ }
78
+ }
79
+ `;
80
+ /**
81
+ * Generate resolvers for each model
82
+ */
83
+ fs.readdirSync(modelsPath).forEach((folder) => {
84
+ if (folder === 'prisma' || folder === 'schema.gql' || folder === 'session')
85
+ return;
86
+ const modelName = (0, utils_1.kebabToPascalCase)(folder);
87
+ const modelOutputPath = path.join(outputPath, folder);
88
+ if (!fs.existsSync(modelOutputPath)) {
89
+ fs.mkdirSync(modelOutputPath, { recursive: true });
90
+ console.log(`Folder for model ${modelName} created.`);
91
+ }
92
+ else {
93
+ console.log(`Folder for model ${modelName} already exists, skipping creation.`);
94
+ }
95
+ const resolverPath = path.join(modelOutputPath, `${folder}.resolver.ts`);
96
+ (0, utils_1.createFileIfNotExists)(resolverPath, genericResolverTemplate(modelName, folder));
97
+ });
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=generate-services.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-services.d.ts","sourceRoot":"","sources":["../../src/config/generate-services.ts"],"names":[],"mappings":""}
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ const fs = __importStar(require("fs"));
37
+ const path = __importStar(require("path"));
38
+ const utils_1 = require("./utils");
39
+ const modelsPath = path.join(process.cwd(), 'src/generated');
40
+ const servicesOutputPath = path.join(process.cwd(), 'src/modules');
41
+ /**
42
+ * Generic service template for a given model
43
+ * @param model
44
+ */
45
+ const genericServiceTemplate = (model) => `import { Injectable } from '@nestjs/common';
46
+ import { CoreService, PrismaService } from 'appx-core';
47
+ import { ${model} } from '@prisma/client';
48
+
49
+ @Injectable()
50
+ export class ${model}Service extends CoreService<${model}> {
51
+ constructor(prisma: PrismaService) {
52
+ super(prisma.model.${model[0].toLowerCase() + model.slice(1)});
53
+ }
54
+
55
+ // Override methods or add custom logic as needed
56
+ }
57
+ `;
58
+ /**
59
+ * Generate services for each model
60
+ */
61
+ fs.readdirSync(modelsPath).forEach((folder) => {
62
+ if (folder === 'prisma' || folder === 'schema.gql' || folder === 'session')
63
+ return;
64
+ const modelName = (0, utils_1.kebabToPascalCase)(folder);
65
+ const modelOutputPath = path.join(servicesOutputPath, folder);
66
+ if (!fs.existsSync(modelOutputPath)) {
67
+ fs.mkdirSync(modelOutputPath, { recursive: true });
68
+ console.log(`Folder for model ${modelName} created.`);
69
+ }
70
+ const servicePath = path.join(modelOutputPath, `${folder}.service.ts`);
71
+ (0, utils_1.createFileIfNotExists)(servicePath, genericServiceTemplate(modelName));
72
+ });
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=generate-session-schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-session-schema.d.ts","sourceRoot":"","sources":["../../src/config/generate-session-schema.ts"],"names":[],"mappings":""}
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ const path = __importStar(require("path"));
37
+ const fs = __importStar(require("fs"));
38
+ const schemaPath = path.join(process.cwd(), 'prisma/schema/schema.prisma');
39
+ const sessionSchemaPath = path.join(process.cwd(), 'prisma/schema/session.prisma');
40
+ /**
41
+ * Check if the "Session" model exists in schema.prisma
42
+ * @returns {boolean} - True if the Session model exists, otherwise false.
43
+ */
44
+ const doesSessionModelExist = () => {
45
+ if (fs.existsSync(schemaPath)) {
46
+ const schemaContent = fs.readFileSync(schemaPath, 'utf-8');
47
+ const sessionModelRegex = /model\s+session\s*{[\s\S]*?}/i;
48
+ return sessionModelRegex.test(schemaContent);
49
+ }
50
+ return false;
51
+ };
52
+ /**
53
+ * Ensure that the session schema exists if it is not already defined in schema.prisma
54
+ */
55
+ const ensureSessionSchemaExists = () => {
56
+ if (doesSessionModelExist()) {
57
+ console.log('Session model already exists in schema.prisma. Skipping creation of session.prisma.');
58
+ return;
59
+ }
60
+ if (!fs.existsSync(sessionSchemaPath)) {
61
+ console.log('Session schema not found in session.prisma. Creating it...');
62
+ const sessionSchemaContent = `
63
+ model Session {
64
+ id String @id
65
+ sid String @unique
66
+ data String
67
+ expiresAt DateTime
68
+ userId Int?
69
+ }
70
+ `;
71
+ fs.writeFileSync(sessionSchemaPath, sessionSchemaContent);
72
+ console.log('Session schema created successfully in session.prisma.');
73
+ }
74
+ else {
75
+ console.log('Session schema already exists in session.prisma.');
76
+ }
77
+ };
78
+ ensureSessionSchemaExists();
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=setup-fileupload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-fileupload.d.ts","sourceRoot":"","sources":["../../src/config/setup-fileupload.ts"],"names":[],"mappings":""}