@postxl/generator 0.69.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 (48) hide show
  1. package/dist/generator.js +34 -33
  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 -4
  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 -39
  28. package/dist/generators/models/repository.generator.js +100 -172
  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/meta.d.ts +16 -8
  36. package/dist/lib/meta.js +2 -2
  37. package/package.json +1 -1
  38. package/dist/generators/models/businesslogic-update.generator.js +0 -324
  39. /package/dist/generators/models/{react.generator → react}/context.generator.d.ts +0 -0
  40. /package/dist/generators/models/{react.generator → react}/context.generator.js +0 -0
  41. /package/dist/generators/models/{react.generator → react}/index.d.ts +0 -0
  42. /package/dist/generators/models/{react.generator → react}/index.js +0 -0
  43. /package/dist/generators/models/{react.generator → react}/library.generator.d.ts +0 -0
  44. /package/dist/generators/models/{react.generator → react}/library.generator.js +0 -0
  45. /package/dist/generators/models/{react.generator → react}/lookup.generator.d.ts +0 -0
  46. /package/dist/generators/models/{react.generator → react}/lookup.generator.js +0 -0
  47. /package/dist/generators/models/{react.generator → react}/modals.generator.d.ts +0 -0
  48. /package/dist/generators/models/{react.generator → react}/modals.generator.js +0 -0
package/dist/generator.js CHANGED
@@ -41,35 +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 datamodule_generator_1 = require("./generators/indices/datamodule.generator");
51
- 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");
52
47
  const dispatcher_service_generator_1 = require("./generators/indices/dispatcher-service.generator");
53
- const importexport_convert_import_functions_generator_1 = require("./generators/indices/importexport-convert-import-functions.generator");
54
- const importexport_exporter_class_generator_1 = require("./generators/indices/importexport-exporter-class.generator");
55
- const importexport_import_service_generator_1 = require("./generators/indices/importexport-import-service.generator");
56
- 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");
57
52
  const repositories_generator_1 = require("./generators/indices/repositories.generator");
58
53
  const routes_index_generator_1 = require("./generators/indices/routes-index.generator");
59
54
  const seed_migration_generator_1 = require("./generators/indices/seed-migration.generator");
60
55
  const seed_template_generator_1 = require("./generators/indices/seed-template.generator");
61
56
  const testids_generator_1 = require("./generators/indices/testids.generator");
62
- 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");
63
63
  const admin_page_generator_1 = require("./generators/models/admin.page.generator");
64
- const businesslogic_update_generator_1 = require("./generators/models/businesslogic-update.generator");
65
- const businesslogic_view_generator_1 = require("./generators/models/businesslogic-view.generator");
66
64
  const importexport_decoder_generator_1 = require("./generators/models/importexport-decoder.generator");
67
- const react_generator_2 = require("./generators/models/react.generator");
65
+ const react_1 = require("./generators/models/react");
68
66
  const repository_generator_1 = require("./generators/models/repository.generator");
69
67
  const route_generator_1 = require("./generators/models/route.generator");
70
68
  const seed_generator_1 = require("./generators/models/seed.generator");
71
69
  const stub_generator_1 = require("./generators/models/stub.generator");
72
- 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");
73
73
  const meta_1 = require("./lib/meta");
74
74
  const types_1 = require("./lib/schema/types");
75
75
  const client_path_1 = require("./prisma/client-path");
@@ -165,7 +165,7 @@ function generate({ models, enums, config, prismaClientPath, logger, }) {
165
165
  for (const model of models) {
166
166
  const meta = (0, meta_1.getModelMetadata)({ model });
167
167
  // Types
168
- 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 }));
169
169
  // Seed
170
170
  generated.write(`/${meta.seed.location.path}.ts`, (0, seed_generator_1.generateSeedModel)({ model, itemCount: 5, meta, models }));
171
171
  // Data
@@ -174,12 +174,12 @@ function generate({ models, enums, config, prismaClientPath, logger, }) {
174
174
  // Import-Export
175
175
  generated.write(`/${meta.importExport.decoder.filePath}.ts`, (0, importexport_decoder_generator_1.generateModelImportExportDecoder)({ model, meta, schemaMeta: (0, meta_1.getSchemaMetadata)({ config }) }));
176
176
  // Business Logic
177
- generated.write(`/${meta.view.serviceLocation.path}.ts`, (0, businesslogic_view_generator_1.generateModelBusinessLogicView)({ model, meta }));
178
- 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 }));
179
179
  // Routes
180
180
  generated.write(`/${meta.trpc.routerFilePath}.ts`, (0, route_generator_1.generateRoute)({ model, meta }));
181
181
  // React
182
- 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);
183
183
  // Admin
184
184
  generated.write(`/${meta.admin.filePath}.tsx`, (0, admin_page_generator_1.generateAdminPage)({ meta }));
185
185
  logger.log(`- ${model.name} processed`);
@@ -193,11 +193,11 @@ function generate({ models, enums, config, prismaClientPath, logger, }) {
193
193
  // Generate Index Files and Services
194
194
  const meta = (0, meta_1.getSchemaMetadata)({ config });
195
195
  // Data
196
- generated.write(`/${meta.data.moduleLocation.path}.ts`, (0, datamodule_generator_1.generateDataModule)({ models, meta }));
197
- generated.write(`/${meta.data.dataService.location.path}.ts`, (0, dataservice_generator_1.generateDataService)({ models, meta }));
198
- 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 }));
199
198
  generated.write(`/${meta.data.repository.constFilePath}.ts`, (0, repositories_generator_1.generateRepositoriesArray)({ models, meta }));
200
- 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)());
201
201
  // Import-Export
202
202
  generated.write(`/${meta.importExport.types.location.path}.ts`, (0, importexport_types_generator_1.generateImportExportTypes)({ models, meta }));
203
203
  generated.write(`/${meta.importExport.exporterClass.location.path}.ts`, (0, importexport_exporter_class_generator_1.generateImportExportExporterClass)({ models, meta }));
@@ -206,23 +206,24 @@ function generate({ models, enums, config, prismaClientPath, logger, }) {
206
206
  generated.write(`/${meta.importExport.converterFunctions.location.path}.ts`, (0, importexport_convert_import_functions_generator_1.generateImportExportConvertImportFunctions)({ models, meta }));
207
207
  // Actions
208
208
  generated.write(`/${meta.actions.dispatcher.classLocation.path}.ts`, (0, dispatcher_service_generator_1.generateActionsDispatcherService)({ models, meta }));
209
- // Business Logic
210
- generated.write(`/${meta.view.moduleLocation.path}.ts`, (0, businesslogic_view_module_generator_1.generateBusinessLogicViewModule)({ models, meta }));
211
- generated.write(`/${meta.view.serviceLocation.path}.ts`, (0, businesslogic_view_service_generator_1.generateBusinessLogicViewService)({ models, meta }));
212
- generated.write(`/${meta.update.moduleLocation.path}.ts`, (0, businesslogic_update_module_generator_1.generateBusinessLogicUpdateModule)({ models, meta }));
213
- generated.write(`/${meta.update.serviceLocation.path}.ts`, (0, businesslogic_update_service_generator_1.generateBusinessLogicUpdateService)({ models, meta }));
214
- 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 }));
215
216
  // Seed
216
217
  generated.write(`/${meta.seedData.initialMigrationLocation.path}.ts`, (0, seed_migration_generator_1.generateSeedMigration)({ models, meta }));
217
218
  generated.write(`/${meta.seedData.templateExcelFilePath}`, yield (0, seed_template_generator_1.generateSeedExcelTemplate)({ models }));
218
219
  // Routes
219
220
  generated.write(`/${meta.trpc.routesFilePath}.ts`, (0, routes_index_generator_1.generateRoutesIndex)({ models, meta }));
220
221
  // Types
221
- 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 }));
222
223
  // -------------------------------------------------------------------------
223
224
  // Add disclaimer and format.
224
225
  yield generated.transformUTF8Files((path, content) => `${lock_1.GENERATED_FILE_DISCLAIMER}\n${content}`);
225
- // 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!!!
226
227
  const lintResult = yield generated.lintUTF8Files({
227
228
  fix: true,
228
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
  */
@@ -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,42 +7,3 @@ export declare function generateRepository({ model, meta }: {
7
7
  model: Model;
8
8
  meta: ModelMetaData;
9
9
  }): string;
10
- type FnSignature = {
11
- /**
12
- * A list of ordered TypeScript types where the first type in the list corresponds to the type of the
13
- * first parameter and so on. Note that the parameters don't contain names, only types.
14
- *
15
- * @example
16
- *
17
- * ```
18
- * function foo(a: string, b: number, c: boolean) {}
19
- * // ['string', 'number', 'boolean']
20
- * ```
21
- */
22
- parameters: string[];
23
- /**
24
- * The return type of the function.
25
- */
26
- returnType: string;
27
- /**
28
- * The JSDoc comment of the function.
29
- */
30
- jsDoc?: string[];
31
- };
32
- /**
33
- * Returns a collection of type signatures for the repository methods of a given model.
34
- */
35
- export declare function getRepositoryMethodsTypeSignatures({ model, meta }: {
36
- model: Model;
37
- meta: ModelMetaData;
38
- }): {
39
- create: FnSignature;
40
- createMany: FnSignature;
41
- update: FnSignature;
42
- updateMany: FnSignature;
43
- upsert: FnSignature;
44
- upsertMany: FnSignature;
45
- delete: FnSignature;
46
- deleteMany: FnSignature;
47
- };
48
- export {};