@postxl/generator 0.68.0 → 0.69.1

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 (58) hide show
  1. package/dist/generator.js +34 -43
  2. package/dist/generators/indices/{datamodule.generator.d.ts → data/module.generator.d.ts} +2 -2
  3. package/dist/generators/indices/{datamodule.generator.js → data/module.generator.js} +4 -5
  4. package/dist/generators/indices/{dataservice.generator.d.ts → data/service.generator.d.ts} +2 -2
  5. package/dist/generators/indices/{dataservice.generator.js → data/service.generator.js} +5 -5
  6. package/dist/generators/indices/{data-types.generator.d.ts → data/types.generator.d.ts} +2 -2
  7. package/dist/generators/indices/{data-types.generator.js → data/types.generator.js} +2 -2
  8. package/dist/generators/indices/{importexport-convert-import-functions.generator.d.ts → import-export/importexport-convert-import-functions.generator.d.ts} +2 -2
  9. package/dist/generators/indices/{importexport-convert-import-functions.generator.js → import-export/importexport-convert-import-functions.generator.js} +4 -26
  10. package/dist/generators/indices/{importexport-exporter-class.generator.d.ts → import-export/importexport-exporter-class.generator.d.ts} +2 -2
  11. package/dist/generators/indices/{importexport-exporter-class.generator.js → import-export/importexport-exporter-class.generator.js} +4 -5
  12. package/dist/generators/indices/{importexport-import-service.generator.d.ts → import-export/importexport-import-service.generator.d.ts} +2 -2
  13. package/dist/generators/indices/{importexport-import-service.generator.js → import-export/importexport-import-service.generator.js} +4 -4
  14. package/dist/generators/indices/{importexport-types.generator.d.ts → import-export/importexport-types.generator.d.ts} +2 -2
  15. package/dist/generators/indices/{importexport-types.generator.js → import-export/importexport-types.generator.js} +2 -2
  16. package/dist/generators/indices/types.generator.js +13 -1
  17. package/dist/generators/indices/{businesslogic-actiontypes.generator.d.ts → update/actiontypes.generator.d.ts} +2 -2
  18. package/dist/generators/indices/{businesslogic-actiontypes.generator.js → update/actiontypes.generator.js} +3 -3
  19. package/dist/generators/indices/{businesslogic-update-module.generator.d.ts → update/module.generator.d.ts} +2 -2
  20. package/dist/generators/indices/{businesslogic-update-module.generator.js → update/module.generator.js} +2 -2
  21. package/dist/generators/indices/{businesslogic-update-service.generator.d.ts → update/service.generator.d.ts} +2 -2
  22. package/dist/generators/indices/{businesslogic-update-service.generator.js → update/service.generator.js} +2 -2
  23. package/dist/generators/indices/{businesslogic-view-module.generator.d.ts → view/module.generator.d.ts} +2 -2
  24. package/dist/generators/indices/{businesslogic-view-module.generator.js → view/module.generator.js} +2 -2
  25. package/dist/generators/indices/{businesslogic-view-service.generator.d.ts → view/service.generator.d.ts} +2 -2
  26. package/dist/generators/indices/{businesslogic-view-service.generator.js → view/service.generator.js} +2 -2
  27. package/dist/generators/models/repository.generator.d.ts +0 -46
  28. package/dist/generators/models/repository.generator.js +348 -796
  29. package/dist/generators/models/route.generator.js +2 -2
  30. package/dist/generators/models/types.generator.js +27 -2
  31. package/dist/generators/models/{businesslogic-update.generator.d.ts → update/service.generator.d.ts} +2 -2
  32. package/dist/generators/models/update/service.generator.js +252 -0
  33. package/dist/generators/models/{businesslogic-view.generator.d.ts → view/service.generator.d.ts} +2 -2
  34. package/dist/generators/models/{businesslogic-view.generator.js → view/service.generator.js} +12 -18
  35. package/dist/lib/attributes.d.ts +0 -5
  36. package/dist/lib/meta.d.ts +16 -54
  37. package/dist/lib/meta.js +2 -18
  38. package/dist/prisma/attributes.js +0 -2
  39. package/package.json +1 -1
  40. package/dist/generators/indices/datamock-module.generator.d.ts +0 -9
  41. package/dist/generators/indices/datamock-module.generator.js +0 -64
  42. package/dist/generators/indices/datamocker.generator.d.ts +0 -9
  43. package/dist/generators/indices/datamocker.generator.js +0 -88
  44. package/dist/generators/indices/emptydatabasemigration.generator.d.ts +0 -11
  45. package/dist/generators/indices/emptydatabasemigration.generator.js +0 -34
  46. package/dist/generators/indices/testdata-service.generator.d.ts +0 -9
  47. package/dist/generators/indices/testdata-service.generator.js +0 -84
  48. package/dist/generators/models/businesslogic-update.generator.js +0 -324
  49. /package/dist/generators/models/{react.generator → react}/context.generator.d.ts +0 -0
  50. /package/dist/generators/models/{react.generator → react}/context.generator.js +0 -0
  51. /package/dist/generators/models/{react.generator → react}/index.d.ts +0 -0
  52. /package/dist/generators/models/{react.generator → react}/index.js +0 -0
  53. /package/dist/generators/models/{react.generator → react}/library.generator.d.ts +0 -0
  54. /package/dist/generators/models/{react.generator → react}/library.generator.js +0 -0
  55. /package/dist/generators/models/{react.generator → react}/lookup.generator.d.ts +0 -0
  56. /package/dist/generators/models/{react.generator → react}/lookup.generator.js +0 -0
  57. /package/dist/generators/models/{react.generator → react}/modals.generator.d.ts +0 -0
  58. /package/dist/generators/models/{react.generator → react}/modals.generator.js +0 -0
package/dist/generator.js CHANGED
@@ -41,39 +41,35 @@ const lock_1 = require("@postxl/lock");
41
41
  const prettier = __importStar(require("@postxl/prettier"));
42
42
  const react_generator_1 = require("./generators/enums/react.generator");
43
43
  const types_generator_1 = require("./generators/enums/types.generator");
44
- const businesslogic_actiontypes_generator_1 = require("./generators/indices/businesslogic-actiontypes.generator");
45
- const businesslogic_update_module_generator_1 = require("./generators/indices/businesslogic-update-module.generator");
46
- const businesslogic_update_service_generator_1 = require("./generators/indices/businesslogic-update-service.generator");
47
- const businesslogic_view_module_generator_1 = require("./generators/indices/businesslogic-view-module.generator");
48
- const businesslogic_view_service_generator_1 = require("./generators/indices/businesslogic-view-service.generator");
49
- const data_types_generator_1 = require("./generators/indices/data-types.generator");
50
- const datamock_module_generator_1 = require("./generators/indices/datamock-module.generator");
51
- const datamocker_generator_1 = require("./generators/indices/datamocker.generator");
52
- const datamodule_generator_1 = require("./generators/indices/datamodule.generator");
53
- const dataservice_generator_1 = require("./generators/indices/dataservice.generator");
44
+ const module_generator_1 = require("./generators/indices/data/module.generator");
45
+ const service_generator_1 = require("./generators/indices/data/service.generator");
46
+ const types_generator_2 = require("./generators/indices/data/types.generator");
54
47
  const dispatcher_service_generator_1 = require("./generators/indices/dispatcher-service.generator");
55
- const emptydatabasemigration_generator_1 = require("./generators/indices/emptydatabasemigration.generator");
56
- const importexport_convert_import_functions_generator_1 = require("./generators/indices/importexport-convert-import-functions.generator");
57
- const importexport_exporter_class_generator_1 = require("./generators/indices/importexport-exporter-class.generator");
58
- const importexport_import_service_generator_1 = require("./generators/indices/importexport-import-service.generator");
59
- const importexport_types_generator_1 = require("./generators/indices/importexport-types.generator");
48
+ const importexport_convert_import_functions_generator_1 = require("./generators/indices/import-export/importexport-convert-import-functions.generator");
49
+ const importexport_exporter_class_generator_1 = require("./generators/indices/import-export/importexport-exporter-class.generator");
50
+ const importexport_import_service_generator_1 = require("./generators/indices/import-export/importexport-import-service.generator");
51
+ const importexport_types_generator_1 = require("./generators/indices/import-export/importexport-types.generator");
60
52
  const repositories_generator_1 = require("./generators/indices/repositories.generator");
61
53
  const routes_index_generator_1 = require("./generators/indices/routes-index.generator");
62
54
  const seed_migration_generator_1 = require("./generators/indices/seed-migration.generator");
63
55
  const seed_template_generator_1 = require("./generators/indices/seed-template.generator");
64
- const testdata_service_generator_1 = require("./generators/indices/testdata-service.generator");
65
56
  const testids_generator_1 = require("./generators/indices/testids.generator");
66
- const types_generator_2 = require("./generators/indices/types.generator");
57
+ const types_generator_3 = require("./generators/indices/types.generator");
58
+ const actiontypes_generator_1 = require("./generators/indices/update/actiontypes.generator");
59
+ const module_generator_2 = require("./generators/indices/update/module.generator");
60
+ const service_generator_2 = require("./generators/indices/update/service.generator");
61
+ const module_generator_3 = require("./generators/indices/view/module.generator");
62
+ const service_generator_3 = require("./generators/indices/view/service.generator");
67
63
  const admin_page_generator_1 = require("./generators/models/admin.page.generator");
68
- const businesslogic_update_generator_1 = require("./generators/models/businesslogic-update.generator");
69
- const businesslogic_view_generator_1 = require("./generators/models/businesslogic-view.generator");
70
64
  const importexport_decoder_generator_1 = require("./generators/models/importexport-decoder.generator");
71
- const react_generator_2 = require("./generators/models/react.generator");
65
+ const react_1 = require("./generators/models/react");
72
66
  const repository_generator_1 = require("./generators/models/repository.generator");
73
67
  const route_generator_1 = require("./generators/models/route.generator");
74
68
  const seed_generator_1 = require("./generators/models/seed.generator");
75
69
  const stub_generator_1 = require("./generators/models/stub.generator");
76
- const types_generator_3 = require("./generators/models/types.generator");
70
+ const types_generator_4 = require("./generators/models/types.generator");
71
+ const service_generator_4 = require("./generators/models/update/service.generator");
72
+ const service_generator_5 = require("./generators/models/view/service.generator");
77
73
  const meta_1 = require("./lib/meta");
78
74
  const types_1 = require("./lib/schema/types");
79
75
  const client_path_1 = require("./prisma/client-path");
@@ -169,23 +165,21 @@ function generate({ models, enums, config, prismaClientPath, logger, }) {
169
165
  for (const model of models) {
170
166
  const meta = (0, meta_1.getModelMetadata)({ model });
171
167
  // Types
172
- generated.write(`/${meta.types.filePath}.ts`, (0, types_generator_3.generateModelTypes)({ model, meta }));
168
+ generated.write(`/${meta.types.filePath}.ts`, (0, types_generator_4.generateModelTypes)({ model, meta }));
173
169
  // Seed
174
170
  generated.write(`/${meta.seed.location.path}.ts`, (0, seed_generator_1.generateSeedModel)({ model, itemCount: 5, meta, models }));
175
171
  // Data
176
172
  generated.write(`/${meta.data.stubLocation.path}.ts`, (0, stub_generator_1.generateStub)({ model, meta }));
177
173
  generated.write(`/${meta.data.repository.location.path}.ts`, (0, repository_generator_1.generateRepository)({ model, meta }));
178
- generated.write(`/${meta.data.mockRepository.location.path}.ts`, (0, repository_generator_1.generateMockRepository)({ model, meta }));
179
- generated.write(`/${meta.e2e.stubLocation.path}.ts`, (0, stub_generator_1.generateStub)({ model, meta }));
180
174
  // Import-Export
181
175
  generated.write(`/${meta.importExport.decoder.filePath}.ts`, (0, importexport_decoder_generator_1.generateModelImportExportDecoder)({ model, meta, schemaMeta: (0, meta_1.getSchemaMetadata)({ config }) }));
182
176
  // Business Logic
183
- generated.write(`/${meta.view.serviceLocation.path}.ts`, (0, businesslogic_view_generator_1.generateModelBusinessLogicView)({ model, meta }));
184
- generated.write(`/${meta.update.serviceClassLocation.path}.ts`, (0, businesslogic_update_generator_1.generateModelBusinessLogicUpdate)({ model, meta }));
177
+ generated.write(`/${meta.view.serviceLocation.path}.ts`, (0, service_generator_5.generateModelBusinessLogicView)({ model, meta }));
178
+ generated.write(`/${meta.update.serviceClassLocation.path}.ts`, (0, service_generator_4.generateModelBusinessLogicUpdate)({ model, meta }));
185
179
  // Routes
186
180
  generated.write(`/${meta.trpc.routerFilePath}.ts`, (0, route_generator_1.generateRoute)({ model, meta }));
187
181
  // React
188
- yield generated.copy((0, react_generator_2.generateReactComponentsForModel)({ model, meta }), meta.react.folderPath);
182
+ yield generated.copy((0, react_1.generateReactComponentsForModel)({ model, meta }), meta.react.folderPath);
189
183
  // Admin
190
184
  generated.write(`/${meta.admin.filePath}.tsx`, (0, admin_page_generator_1.generateAdminPage)({ meta }));
191
185
  logger.log(`- ${model.name} processed`);
@@ -199,15 +193,11 @@ function generate({ models, enums, config, prismaClientPath, logger, }) {
199
193
  // Generate Index Files and Services
200
194
  const meta = (0, meta_1.getSchemaMetadata)({ config });
201
195
  // Data
202
- generated.write(`/${meta.data.mockModule.location.path}.ts`, (0, datamock_module_generator_1.generateDataMockModule)({ models, meta }));
203
- generated.write(`/${meta.data.moduleLocation.path}.ts`, (0, datamodule_generator_1.generateDataModule)({ models, meta }));
204
- generated.write(`/${meta.data.emptyDbCommandFilePath}.ts`, (0, emptydatabasemigration_generator_1.generateEmptyDatabaseCommand)({ models, meta }));
205
- generated.write(`/${meta.data.dataService.location.path}.ts`, (0, dataservice_generator_1.generateDataService)({ models, meta }));
206
- generated.write(`/${meta.data.testDataServiceFilePath}.ts`, (0, testdata_service_generator_1.generateTestDataService)({ models, meta }));
207
- generated.write(`/${meta.e2e.dataMockerLocation.path}.ts`, (0, datamocker_generator_1.generateDataMocker)({ models, meta }));
208
- generated.write(`/${meta.e2e.testIdsFilePath}.ts`, (0, testids_generator_1.generateTestIds)());
196
+ generated.write(`/${meta.data.moduleLocation.path}.ts`, (0, module_generator_1.generateDataModule)({ models, meta }));
197
+ generated.write(`/${meta.data.dataService.location.path}.ts`, (0, service_generator_1.generateDataService)({ models, meta }));
209
198
  generated.write(`/${meta.data.repository.constFilePath}.ts`, (0, repositories_generator_1.generateRepositoriesArray)({ models, meta }));
210
- generated.write(`/${meta.data.types.location.path}.ts`, (0, data_types_generator_1.generateDataTypes)({ models, meta }));
199
+ generated.write(`/${meta.data.types.location.path}.ts`, (0, types_generator_2.generateDataTypes)({ models, meta }));
200
+ generated.write(`/${meta.e2e.testIdsFilePath}.ts`, (0, testids_generator_1.generateTestIds)());
211
201
  // Import-Export
212
202
  generated.write(`/${meta.importExport.types.location.path}.ts`, (0, importexport_types_generator_1.generateImportExportTypes)({ models, meta }));
213
203
  generated.write(`/${meta.importExport.exporterClass.location.path}.ts`, (0, importexport_exporter_class_generator_1.generateImportExportExporterClass)({ models, meta }));
@@ -216,23 +206,24 @@ function generate({ models, enums, config, prismaClientPath, logger, }) {
216
206
  generated.write(`/${meta.importExport.converterFunctions.location.path}.ts`, (0, importexport_convert_import_functions_generator_1.generateImportExportConvertImportFunctions)({ models, meta }));
217
207
  // Actions
218
208
  generated.write(`/${meta.actions.dispatcher.classLocation.path}.ts`, (0, dispatcher_service_generator_1.generateActionsDispatcherService)({ models, meta }));
219
- // Business Logic
220
- generated.write(`/${meta.view.moduleLocation.path}.ts`, (0, businesslogic_view_module_generator_1.generateBusinessLogicViewModule)({ models, meta }));
221
- generated.write(`/${meta.view.serviceLocation.path}.ts`, (0, businesslogic_view_service_generator_1.generateBusinessLogicViewService)({ models, meta }));
222
- generated.write(`/${meta.update.moduleLocation.path}.ts`, (0, businesslogic_update_module_generator_1.generateBusinessLogicUpdateModule)({ models, meta }));
223
- generated.write(`/${meta.update.serviceLocation.path}.ts`, (0, businesslogic_update_service_generator_1.generateBusinessLogicUpdateService)({ models, meta }));
224
- generated.write(`/${meta.update.actionTypesFilePath}.ts`, (0, businesslogic_actiontypes_generator_1.generateBusinessLogicActionTypes)({ models, meta }));
209
+ // View
210
+ generated.write(`/${meta.view.moduleLocation.path}.ts`, (0, module_generator_3.generateBusinessLogicViewModule)({ models, meta }));
211
+ generated.write(`/${meta.view.serviceLocation.path}.ts`, (0, service_generator_3.generateBusinessLogicViewService)({ models, meta }));
212
+ // Update
213
+ generated.write(`/${meta.update.moduleLocation.path}.ts`, (0, module_generator_2.generateBusinessLogicUpdateModule)({ models, meta }));
214
+ generated.write(`/${meta.update.serviceLocation.path}.ts`, (0, service_generator_2.generateBusinessLogicUpdateService)({ models, meta }));
215
+ generated.write(`/${meta.update.actionTypesFilePath}.ts`, (0, actiontypes_generator_1.generateBusinessLogicActionTypes)({ models, meta }));
225
216
  // Seed
226
217
  generated.write(`/${meta.seedData.initialMigrationLocation.path}.ts`, (0, seed_migration_generator_1.generateSeedMigration)({ models, meta }));
227
218
  generated.write(`/${meta.seedData.templateExcelFilePath}`, yield (0, seed_template_generator_1.generateSeedExcelTemplate)({ models }));
228
219
  // Routes
229
220
  generated.write(`/${meta.trpc.routesFilePath}.ts`, (0, routes_index_generator_1.generateRoutesIndex)({ models, meta }));
230
221
  // Types
231
- generated.write(`/${meta.types.indexFilePath}.ts`, (0, types_generator_2.generateTypesIndex)({ models, enums, meta }));
222
+ generated.write(`/${meta.types.indexFilePath}.ts`, (0, types_generator_3.generateTypesIndex)({ models, enums, meta }));
232
223
  // -------------------------------------------------------------------------
233
224
  // Add disclaimer and format.
234
225
  yield generated.transformUTF8Files((path, content) => `${lock_1.GENERATED_FILE_DISCLAIMER}\n${content}`);
235
- // Important: the eslint config provided here must match the .eslintrc files in the template!
226
+ // NOTE: the eslint config provided here must match the .eslintrc files in the template!!!
236
227
  const lintResult = yield generated.lintUTF8Files({
237
228
  fix: true,
238
229
  useEslintrc: false,
@@ -1,5 +1,5 @@
1
- import { SchemaMetaData } from '../../lib/meta';
2
- import { Model } from '../../lib/schema/schema';
1
+ import { SchemaMetaData } from '../../../lib/meta';
2
+ import { Model } from '../../../lib/schema/schema';
3
3
  /**
4
4
  * Generates a data module class.
5
5
  */
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generateDataModule = void 0;
4
- const imports_1 = require("../../lib/imports");
5
- const meta_1 = require("../../lib/meta");
4
+ const imports_1 = require("../../../lib/imports");
5
+ const meta_1 = require("../../../lib/meta");
6
6
  /**
7
7
  * Generates a data module class.
8
8
  */
@@ -19,13 +19,12 @@ function generateDataModule({ models, meta }) {
19
19
  from: meta.data.repository.location.path,
20
20
  });
21
21
  }
22
- const moduleName = meta.data.moduleName;
23
22
  return /* ts */ `
24
23
  import { DynamicModule, FactoryProvider } from '@nestjs/common'
25
24
 
26
25
  ${imports.generate()}
27
26
 
28
- export class ${moduleName} {
27
+ export class ${meta.data.moduleName} {
29
28
  public static forRoot(): DynamicModule {
30
29
  const userRepositoryProvider: FactoryProvider<UserRepository> = {
31
30
  provide: UserRepository,
@@ -49,7 +48,7 @@ export class ${moduleName} {
49
48
  ]
50
49
 
51
50
  return {
52
- module: ${moduleName},
51
+ module: ${meta.data.moduleName},
53
52
  global: true,
54
53
  imports: [DatabaseModule],
55
54
  providers,
@@ -1,5 +1,5 @@
1
- import { SchemaMetaData } from '../../lib/meta';
2
- import { Model } from '../../lib/schema/schema';
1
+ import { SchemaMetaData } from '../../../lib/meta';
2
+ import { Model } from '../../../lib/schema/schema';
3
3
  /**
4
4
  * Generates a generic data service object that may be used on the server to access database.
5
5
  */
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generateDataService = void 0;
4
- const imports_1 = require("../../lib/imports");
5
- const meta_1 = require("../../lib/meta");
6
- const types_1 = require("../../lib/schema/types");
4
+ const imports_1 = require("../../../lib/imports");
5
+ const meta_1 = require("../../../lib/meta");
6
+ const types_1 = require("../../../lib/schema/types");
7
7
  /**
8
8
  * Generates a generic data service object that may be used on the server to access database.
9
9
  */
@@ -21,7 +21,7 @@ function generateDataService({ models, meta }) {
21
21
  .join(',\n');
22
22
  const initializer = mm.map(({ meta }) => `await this.${meta.data.dataServiceName}.init()`).join('\n');
23
23
  const excelExports = mm
24
- .map(({ meta }) => `${meta.importExport.tableName}: mapValues(await this.${meta.data.dataServiceName}.getAll()),`)
24
+ .map(({ meta }) => `${meta.importExport.tableName}: Array.from((await this.${meta.data.dataServiceName}.getAll()).values()),`)
25
25
  .join('\n');
26
26
  const isEmptyChecks = mm.map(({ meta }) => `(await this.${meta.data.dataServiceName}.count()) === 0`).join(' &&');
27
27
  // Building blocks for bulk mutations
@@ -45,7 +45,7 @@ function generateDataService({ models, meta }) {
45
45
  return /* ts */ `
46
46
  import { Injectable, Logger } from '@nestjs/common'
47
47
 
48
- import { format, mapValues, pluralize } from '@postxl/runtime'
48
+ import { format, pluralize } from '@postxl/runtime'
49
49
 
50
50
  ${imports.generate()}
51
51
 
@@ -1,5 +1,5 @@
1
- import { SchemaMetaData } from '../../lib/meta';
2
- import { Model } from '../../lib/schema/schema';
1
+ import { SchemaMetaData } from '../../../lib/meta';
2
+ import { Model } from '../../../lib/schema/schema';
3
3
  /**
4
4
  * Generates type for BulkMutations.
5
5
  */
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generateDataTypes = void 0;
4
- const imports_1 = require("../../lib/imports");
5
- const meta_1 = require("../../lib/meta");
4
+ const imports_1 = require("../../../lib/imports");
5
+ const meta_1 = require("../../../lib/meta");
6
6
  /**
7
7
  * Generates type for BulkMutations.
8
8
  */
@@ -1,5 +1,5 @@
1
- import { SchemaMetaData } from '../../lib/meta';
2
- import { Model } from '../../lib/schema/schema';
1
+ import { SchemaMetaData } from '../../../lib/meta';
2
+ import { Model } from '../../../lib/schema/schema';
3
3
  /**
4
4
  * Generates the Exporter class for the Import-Export module
5
5
  */
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generateImportExportConvertImportFunctions = void 0;
4
- const imports_1 = require("../../lib/imports");
5
- const meta_1 = require("../../lib/meta");
6
- const types_1 = require("../../lib/schema/types");
7
- const types_2 = require("../../lib/types");
4
+ const imports_1 = require("../../../lib/imports");
5
+ const meta_1 = require("../../../lib/meta");
6
+ const types_1 = require("../../../lib/schema/types");
7
+ const types_2 = require("../../../lib/types");
8
8
  /**
9
9
  * Generates the Exporter class for the Import-Export module
10
10
  */
@@ -22,7 +22,6 @@ function generateImportExportConvertImportFunctions({ models, meta, }) {
22
22
  (0, types_1.toAnnotatedTypeName)(meta.data.types.bulkMutation),
23
23
  (0, types_1.toAnnotatedTypeName)(meta.data.types.bulkMutationForModel),
24
24
  ],
25
- [meta.data.mockModule.location.import]: [(0, types_1.toAnnotatedTypeName)(meta.data.dataMockDataType)],
26
25
  [meta.types.importPath]: [(0, types_1.toAnnotatedTypeName)(dto.genericModel), (0, types_1.toAnnotatedTypeName)(dto.idType)],
27
26
  [types.location.path]: [(0, types_1.toAnnotatedTypeName)(types.delta), (0, types_1.toAnnotatedTypeName)(types.delta_Model.type)],
28
27
  });
@@ -120,8 +119,6 @@ function deltaModelTo${meta.data.types.bulkMutation}<
120
119
 
121
120
  return _removeBlank${meta.data.types.bulkMutation}(result)
122
121
  }
123
-
124
- ${generateMockDataToBulkFunction({ models, meta })}
125
122
  `;
126
123
  }
127
124
  exports.generateImportExportConvertImportFunctions = generateImportExportConvertImportFunctions;
@@ -512,22 +509,3 @@ function generateFieldAssignmentBlocks({ fieldsGrouped, }) {
512
509
  }
513
510
  return result;
514
511
  }
515
- function generateMockDataToBulkFunction({ models, meta }) {
516
- const mockConverters = [];
517
- for (const model of models) {
518
- const modelMeta = (0, meta_1.getModelMetadata)({ model });
519
- mockConverters.push(`${modelMeta.seed.constantName}: { create: data.${modelMeta.seed.constantName} }`);
520
- }
521
- return /* ts */ `
522
- /**
523
- * Converts MockData from the DataMocker to ${meta.data.types.bulkMutation}, so it can be
524
- * imported during the E2E seed process.
525
- */
526
- export function ${meta.importExport.converterFunctions.mockDataToBulkMutations}(
527
- data: ${meta.data.dataMockDataType}
528
- ): ${meta.data.types.bulkMutation} {
529
- return {
530
- ${mockConverters.join(',\n')}
531
- }
532
- }`;
533
- }
@@ -1,5 +1,5 @@
1
- import { SchemaMetaData } from '../../lib/meta';
2
- import { Model } from '../../lib/schema/schema';
1
+ import { SchemaMetaData } from '../../../lib/meta';
2
+ import { Model } from '../../../lib/schema/schema';
3
3
  /**
4
4
  * Generates the Exporter class for the Import-Export module
5
5
  */
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generateImportExportExporterClass = void 0;
4
- const imports_1 = require("../../lib/imports");
5
- const meta_1 = require("../../lib/meta");
6
- const types_1 = require("../../lib/schema/types");
4
+ const imports_1 = require("../../../lib/imports");
5
+ const meta_1 = require("../../../lib/meta");
6
+ const types_1 = require("../../../lib/schema/types");
7
7
  /**
8
8
  * Generates the Exporter class for the Import-Export module
9
9
  */
@@ -31,7 +31,7 @@ function generateImportExportExporterClass({ models, meta }) {
31
31
  typeExports.push(`export type ${modelMeta.importExport.exportDataTypeName} = CapitalizedKeys<${model.name}>`);
32
32
  typeExportsDataEntries.push(`${modelMeta.importExport.exportDataPropertyName}?: ${modelMeta.importExport.exportDataTypeName}[]`);
33
33
  privateMaps.push(`private ${modelMeta.internalPluralName} = new Map<${modelMeta.types.brandedIdType}, ${modelMeta.types.typeName}>()`);
34
- exportDataProperties.push(`${modelMeta.importExport.exportDataFullPropertyName}: mapValues(this.${modelMeta.internalPluralName})`);
34
+ exportDataProperties.push(`${modelMeta.importExport.exportDataFullPropertyName}: Array.from(this.${modelMeta.internalPluralName}.values())`);
35
35
  const linkedItems = [];
36
36
  for (const field of model.fields) {
37
37
  if (field.kind !== 'relation') {
@@ -95,7 +95,6 @@ function generateImportExportExporterClass({ models, meta }) {
95
95
 
96
96
  import { Logger } from '@nestjs/common'
97
97
 
98
- import { mapValues } from '@postxl/runtime'
99
98
  ${imports.generate()}
100
99
 
101
100
  /**
@@ -1,5 +1,5 @@
1
- import { SchemaMetaData } from '../../lib/meta';
2
- import { Model } from '../../lib/schema/schema';
1
+ import { SchemaMetaData } from '../../../lib/meta';
2
+ import { Model } from '../../../lib/schema/schema';
3
3
  /**
4
4
  * Generates the Exporter class for the Import-Export module
5
5
  */
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generateImportExportImportService = void 0;
4
- const imports_1 = require("../../lib/imports");
5
- const meta_1 = require("../../lib/meta");
6
- const types_1 = require("../../lib/schema/types");
7
- const string_1 = require("../../lib/utils/string");
4
+ const imports_1 = require("../../../lib/imports");
5
+ const meta_1 = require("../../../lib/meta");
6
+ const types_1 = require("../../../lib/schema/types");
7
+ const string_1 = require("../../../lib/utils/string");
8
8
  /**
9
9
  * Generates the Exporter class for the Import-Export module
10
10
  */
@@ -1,5 +1,5 @@
1
- import { SchemaMetaData } from '../../lib/meta';
2
- import { Model } from '../../lib/schema/schema';
1
+ import { SchemaMetaData } from '../../../lib/meta';
2
+ import { Model } from '../../../lib/schema/schema';
3
3
  /**
4
4
  * Generates types for import export module.
5
5
  */
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generateImportExportTypes = void 0;
4
- const imports_1 = require("../../lib/imports");
5
- const meta_1 = require("../../lib/meta");
4
+ const imports_1 = require("../../../lib/imports");
5
+ const meta_1 = require("../../../lib/meta");
6
6
  /**
7
7
  * Generates types for import export module.
8
8
  */
@@ -2,15 +2,18 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generateTypesIndex = void 0;
4
4
  const exports_1 = require("../../lib/exports");
5
+ const imports_1 = require("../../lib/imports");
5
6
  const meta_1 = require("../../lib/meta");
6
7
  /**
7
8
  * Generates an index file that exports all types.
8
9
  */
9
10
  function generateTypesIndex({ models, enums, meta: schemaMeta, }) {
11
+ const imports = imports_1.ImportsGenerator.from(schemaMeta.types.indexFilePath);
10
12
  const exports = exports_1.ExportsGenerator.from(schemaMeta.types.indexFilePath);
11
13
  for (const model of models) {
12
14
  const modelMeta = (0, meta_1.getModelMetadata)({ model });
13
15
  exports.exportEverythingFromPath(modelMeta.types.filePath);
16
+ imports.addTypeImport({ from: modelMeta.types.importPath, items: [modelMeta.types.brandedIdType] });
14
17
  }
15
18
  for (const enumerator of enums) {
16
19
  const enumMeta = (0, meta_1.getEnumMetadata)({ enumerator });
@@ -18,6 +21,15 @@ function generateTypesIndex({ models, enums, meta: schemaMeta, }) {
18
21
  }
19
22
  // dto.types contains generic types that are used by all models
20
23
  exports.exportEverythingFromPath(schemaMeta.types.dto.path);
21
- return exports.generate();
24
+ return /* ts */ `
25
+ ${imports.generate()}
26
+
27
+ ${exports.generate()}
28
+
29
+ export type ${schemaMeta.types.idTypesIndex} = {
30
+ ${models.map((model) => `${model.typeName}: ${model.brandedIdType}`).join('\n')}
31
+ }
32
+
33
+ `;
22
34
  }
23
35
  exports.generateTypesIndex = generateTypesIndex;
@@ -1,5 +1,5 @@
1
- import { SchemaMetaData } from '../../lib/meta';
2
- import { Model } from '../../lib/schema/schema';
1
+ import { SchemaMetaData } from '../../../lib/meta';
2
+ import { Model } from '../../../lib/schema/schema';
3
3
  /**
4
4
  * Generates the action types for the BusinessLogicModule.
5
5
  */
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generateBusinessLogicActionTypes = void 0;
4
- const imports_1 = require("../../lib/imports");
5
- const meta_1 = require("../../lib/meta");
6
- const file_1 = require("../../lib/utils/file");
4
+ const imports_1 = require("../../../lib/imports");
5
+ const meta_1 = require("../../../lib/meta");
6
+ const file_1 = require("../../../lib/utils/file");
7
7
  /**
8
8
  * Generates the action types for the BusinessLogicModule.
9
9
  */
@@ -1,5 +1,5 @@
1
- import { SchemaMetaData } from '../../lib/meta';
2
- import { Model } from '../../lib/schema/schema';
1
+ import { SchemaMetaData } from '../../../lib/meta';
2
+ import { Model } from '../../../lib/schema/schema';
3
3
  /**
4
4
  * Generates a BusinessLogic update module class.
5
5
  */
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generateBusinessLogicUpdateModule = void 0;
4
- const imports_1 = require("../../lib/imports");
5
- const meta_1 = require("../../lib/meta");
4
+ const imports_1 = require("../../../lib/imports");
5
+ const meta_1 = require("../../../lib/meta");
6
6
  /**
7
7
  * Generates a BusinessLogic update module class.
8
8
  */
@@ -1,5 +1,5 @@
1
- import { SchemaMetaData } from '../../lib/meta';
2
- import { Model } from '../../lib/schema/schema';
1
+ import { SchemaMetaData } from '../../../lib/meta';
2
+ import { Model } from '../../../lib/schema/schema';
3
3
  /**
4
4
  * Generates the business logic service class.
5
5
  */
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generateBusinessLogicUpdateService = void 0;
4
- const imports_1 = require("../../lib/imports");
5
- const meta_1 = require("../../lib/meta");
4
+ const imports_1 = require("../../../lib/imports");
5
+ const meta_1 = require("../../../lib/meta");
6
6
  /**
7
7
  * Generates the business logic service class.
8
8
  */
@@ -1,5 +1,5 @@
1
- import { SchemaMetaData } from '../../lib/meta';
2
- import { Model } from '../../lib/schema/schema';
1
+ import { SchemaMetaData } from '../../../lib/meta';
2
+ import { Model } from '../../../lib/schema/schema';
3
3
  /**
4
4
  * Generates a BusinessLogic view module class.
5
5
  */
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generateBusinessLogicViewModule = void 0;
4
- const imports_1 = require("../../lib/imports");
5
- const meta_1 = require("../../lib/meta");
4
+ const imports_1 = require("../../../lib/imports");
5
+ const meta_1 = require("../../../lib/meta");
6
6
  /**
7
7
  * Generates a BusinessLogic view module class.
8
8
  */
@@ -1,5 +1,5 @@
1
- import { SchemaMetaData } from '../../lib/meta';
2
- import { Model } from '../../lib/schema/schema';
1
+ import { SchemaMetaData } from '../../../lib/meta';
2
+ import { Model } from '../../../lib/schema/schema';
3
3
  /**
4
4
  * Generates the business logic service class.
5
5
  */
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generateBusinessLogicViewService = void 0;
4
- const imports_1 = require("../../lib/imports");
5
- const meta_1 = require("../../lib/meta");
4
+ const imports_1 = require("../../../lib/imports");
5
+ const meta_1 = require("../../../lib/meta");
6
6
  /**
7
7
  * Generates the business logic service class.
8
8
  */
@@ -7,49 +7,3 @@ export declare function generateRepository({ model, meta }: {
7
7
  model: Model;
8
8
  meta: ModelMetaData;
9
9
  }): string;
10
- /**
11
- * Generates a mock repository data structure for a given model: same a repository, but in memory only.
12
- */
13
- export declare function generateMockRepository({ model: modelSource, meta: metaSource, }: {
14
- model: Model;
15
- meta: ModelMetaData;
16
- }): string;
17
- type FnSignature = {
18
- /**
19
- * A list of ordered TypeScript types where the first type in the list corresponds to the type of the
20
- * first parameter and so on. Note that the parameters don't contain names, only types.
21
- *
22
- * @example
23
- *
24
- * ```
25
- * function foo(a: string, b: number, c: boolean) {}
26
- * // ['string', 'number', 'boolean']
27
- * ```
28
- */
29
- parameters: string[];
30
- /**
31
- * The return type of the function.
32
- */
33
- returnType: string;
34
- /**
35
- * The JSDoc comment of the function.
36
- */
37
- jsDoc?: string[];
38
- };
39
- /**
40
- * Returns a collection of type signatures for the repository methods of a given model.
41
- */
42
- export declare function getRepositoryMethodsTypeSignatures({ model, meta }: {
43
- model: Model;
44
- meta: ModelMetaData;
45
- }): {
46
- create: FnSignature;
47
- createMany: FnSignature;
48
- update: FnSignature;
49
- updateMany: FnSignature;
50
- upsert: FnSignature;
51
- upsertMany: FnSignature;
52
- delete: FnSignature;
53
- deleteMany: FnSignature;
54
- };
55
- export {};