@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.
- package/dist/generator.js +34 -43
- package/dist/generators/indices/{datamodule.generator.d.ts → data/module.generator.d.ts} +2 -2
- package/dist/generators/indices/{datamodule.generator.js → data/module.generator.js} +4 -5
- package/dist/generators/indices/{dataservice.generator.d.ts → data/service.generator.d.ts} +2 -2
- package/dist/generators/indices/{dataservice.generator.js → data/service.generator.js} +5 -5
- package/dist/generators/indices/{data-types.generator.d.ts → data/types.generator.d.ts} +2 -2
- package/dist/generators/indices/{data-types.generator.js → data/types.generator.js} +2 -2
- package/dist/generators/indices/{importexport-convert-import-functions.generator.d.ts → import-export/importexport-convert-import-functions.generator.d.ts} +2 -2
- package/dist/generators/indices/{importexport-convert-import-functions.generator.js → import-export/importexport-convert-import-functions.generator.js} +4 -26
- package/dist/generators/indices/{importexport-exporter-class.generator.d.ts → import-export/importexport-exporter-class.generator.d.ts} +2 -2
- package/dist/generators/indices/{importexport-exporter-class.generator.js → import-export/importexport-exporter-class.generator.js} +4 -5
- package/dist/generators/indices/{importexport-import-service.generator.d.ts → import-export/importexport-import-service.generator.d.ts} +2 -2
- package/dist/generators/indices/{importexport-import-service.generator.js → import-export/importexport-import-service.generator.js} +4 -4
- package/dist/generators/indices/{importexport-types.generator.d.ts → import-export/importexport-types.generator.d.ts} +2 -2
- package/dist/generators/indices/{importexport-types.generator.js → import-export/importexport-types.generator.js} +2 -2
- package/dist/generators/indices/types.generator.js +13 -1
- package/dist/generators/indices/{businesslogic-actiontypes.generator.d.ts → update/actiontypes.generator.d.ts} +2 -2
- package/dist/generators/indices/{businesslogic-actiontypes.generator.js → update/actiontypes.generator.js} +3 -3
- package/dist/generators/indices/{businesslogic-update-module.generator.d.ts → update/module.generator.d.ts} +2 -2
- package/dist/generators/indices/{businesslogic-update-module.generator.js → update/module.generator.js} +2 -2
- package/dist/generators/indices/{businesslogic-update-service.generator.d.ts → update/service.generator.d.ts} +2 -2
- package/dist/generators/indices/{businesslogic-update-service.generator.js → update/service.generator.js} +2 -2
- package/dist/generators/indices/{businesslogic-view-module.generator.d.ts → view/module.generator.d.ts} +2 -2
- package/dist/generators/indices/{businesslogic-view-module.generator.js → view/module.generator.js} +2 -2
- package/dist/generators/indices/{businesslogic-view-service.generator.d.ts → view/service.generator.d.ts} +2 -2
- package/dist/generators/indices/{businesslogic-view-service.generator.js → view/service.generator.js} +2 -2
- package/dist/generators/models/repository.generator.d.ts +0 -46
- package/dist/generators/models/repository.generator.js +348 -796
- package/dist/generators/models/route.generator.js +2 -2
- package/dist/generators/models/types.generator.js +27 -2
- package/dist/generators/models/{businesslogic-update.generator.d.ts → update/service.generator.d.ts} +2 -2
- package/dist/generators/models/update/service.generator.js +252 -0
- package/dist/generators/models/{businesslogic-view.generator.d.ts → view/service.generator.d.ts} +2 -2
- package/dist/generators/models/{businesslogic-view.generator.js → view/service.generator.js} +12 -18
- package/dist/lib/attributes.d.ts +0 -5
- package/dist/lib/meta.d.ts +16 -54
- package/dist/lib/meta.js +2 -18
- package/dist/prisma/attributes.js +0 -2
- package/package.json +1 -1
- package/dist/generators/indices/datamock-module.generator.d.ts +0 -9
- package/dist/generators/indices/datamock-module.generator.js +0 -64
- package/dist/generators/indices/datamocker.generator.d.ts +0 -9
- package/dist/generators/indices/datamocker.generator.js +0 -88
- package/dist/generators/indices/emptydatabasemigration.generator.d.ts +0 -11
- package/dist/generators/indices/emptydatabasemigration.generator.js +0 -34
- package/dist/generators/indices/testdata-service.generator.d.ts +0 -9
- package/dist/generators/indices/testdata-service.generator.js +0 -84
- package/dist/generators/models/businesslogic-update.generator.js +0 -324
- /package/dist/generators/models/{react.generator → react}/context.generator.d.ts +0 -0
- /package/dist/generators/models/{react.generator → react}/context.generator.js +0 -0
- /package/dist/generators/models/{react.generator → react}/index.d.ts +0 -0
- /package/dist/generators/models/{react.generator → react}/index.js +0 -0
- /package/dist/generators/models/{react.generator → react}/library.generator.d.ts +0 -0
- /package/dist/generators/models/{react.generator → react}/library.generator.js +0 -0
- /package/dist/generators/models/{react.generator → react}/lookup.generator.d.ts +0 -0
- /package/dist/generators/models/{react.generator → react}/lookup.generator.js +0 -0
- /package/dist/generators/models/{react.generator → react}/modals.generator.d.ts +0 -0
- /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
|
|
45
|
-
const
|
|
46
|
-
const
|
|
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
|
|
56
|
-
const
|
|
57
|
-
const
|
|
58
|
-
const
|
|
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
|
|
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
|
|
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
|
|
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,
|
|
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,
|
|
184
|
-
generated.write(`/${meta.update.serviceClassLocation.path}.ts`, (0,
|
|
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,
|
|
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.
|
|
203
|
-
generated.write(`/${meta.data.
|
|
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,
|
|
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
|
-
//
|
|
220
|
-
generated.write(`/${meta.view.moduleLocation.path}.ts`, (0,
|
|
221
|
-
generated.write(`/${meta.view.serviceLocation.path}.ts`, (0,
|
|
222
|
-
|
|
223
|
-
generated.write(`/${meta.update.
|
|
224
|
-
generated.write(`/${meta.update.
|
|
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,
|
|
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
|
-
//
|
|
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,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("
|
|
5
|
-
const meta_1 = require("
|
|
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 '
|
|
2
|
-
import { Model } from '
|
|
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("
|
|
5
|
-
const meta_1 = require("
|
|
6
|
-
const types_1 = require("
|
|
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}:
|
|
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,
|
|
48
|
+
import { format, pluralize } from '@postxl/runtime'
|
|
49
49
|
|
|
50
50
|
${imports.generate()}
|
|
51
51
|
|
|
@@ -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("
|
|
5
|
-
const meta_1 = require("
|
|
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 '
|
|
2
|
-
import { Model } from '
|
|
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("
|
|
5
|
-
const meta_1 = require("
|
|
6
|
-
const types_1 = require("
|
|
7
|
-
const types_2 = require("
|
|
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 '
|
|
2
|
-
import { Model } from '
|
|
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("
|
|
5
|
-
const meta_1 = require("
|
|
6
|
-
const types_1 = require("
|
|
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}:
|
|
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 '
|
|
2
|
-
import { Model } from '
|
|
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("
|
|
5
|
-
const meta_1 = require("
|
|
6
|
-
const types_1 = require("
|
|
7
|
-
const string_1 = require("
|
|
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,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("
|
|
5
|
-
const meta_1 = require("
|
|
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
|
|
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 '
|
|
2
|
-
import { Model } from '
|
|
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("
|
|
5
|
-
const meta_1 = require("
|
|
6
|
-
const file_1 = require("
|
|
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 '
|
|
2
|
-
import { Model } from '
|
|
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("
|
|
5
|
-
const meta_1 = require("
|
|
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,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("
|
|
5
|
-
const meta_1 = require("
|
|
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
|
*/
|
package/dist/generators/indices/{businesslogic-view-module.generator.js → view/module.generator.js}
RENAMED
|
@@ -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("
|
|
5
|
-
const meta_1 = require("
|
|
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,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("
|
|
5
|
-
const meta_1 = require("
|
|
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 {};
|