@solidstarters/solid-code-builder 1.0.32 → 1.0.33
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/code-builder/index.d.ts +0 -4
- package/dist/code-builder/index.js +3 -4
- package/dist/code-builder/index.js.map +1 -1
- package/dist/code-builder/lib/field/FieldManager.d.ts +2 -1
- package/dist/code-builder/lib/field/FieldManager.js +3 -3
- package/dist/code-builder/lib/field/FieldManager.js.map +1 -1
- package/dist/code-builder/lib/field/db-helpers.d.ts +5 -0
- package/dist/code-builder/lib/field/db-helpers.js +22 -0
- package/dist/code-builder/lib/field/db-helpers.js.map +1 -0
- package/dist/code-builder/lib/field/decorator-managers/entity/ColumnDecoratorManager.d.ts +1 -2
- package/dist/code-builder/lib/field/decorator-managers/entity/PrimaryColumnDecoratorManager.d.ts +11 -0
- package/dist/code-builder/lib/field/decorator-managers/entity/PrimaryColumnDecoratorManager.js +16 -0
- package/dist/code-builder/lib/field/decorator-managers/entity/PrimaryColumnDecoratorManager.js.map +1 -0
- package/dist/code-builder/lib/field/field-managers/base/BaseFieldManagerForEntity.d.ts +6 -1
- package/dist/code-builder/lib/field/field-managers/base/BaseFieldManagerForEntity.js +18 -3
- package/dist/code-builder/lib/field/field-managers/base/BaseFieldManagerForEntity.js.map +1 -1
- package/dist/code-builder/lib/field/field-managers/long-text/LongTextFieldHandler.d.ts +2 -1
- package/dist/code-builder/lib/field/field-managers/long-text/LongTextFieldHandler.js +2 -2
- package/dist/code-builder/lib/field/field-managers/long-text/LongTextFieldHandler.js.map +1 -1
- package/dist/code-builder/lib/field/field-managers/long-text/LongTextFieldManagerForEntity.d.ts +2 -1
- package/dist/code-builder/lib/field/field-managers/long-text/LongTextFieldManagerForEntity.js +22 -2
- package/dist/code-builder/lib/field/field-managers/long-text/LongTextFieldManagerForEntity.js.map +1 -1
- package/dist/code-builder/lib/field/field-managers/rich-text/RichTextFieldHandler.d.ts +2 -1
- package/dist/code-builder/lib/field/field-managers/rich-text/RichTextFieldHandler.js +2 -2
- package/dist/code-builder/lib/field/field-managers/rich-text/RichTextFieldHandler.js.map +1 -1
- package/dist/code-builder/lib/field/field-managers/rich-text/RichTextFieldManagerForEntity.d.ts +2 -1
- package/dist/code-builder/lib/field/field-managers/rich-text/RichTextFieldManagerForEntity.js +21 -2
- package/dist/code-builder/lib/field/field-managers/rich-text/RichTextFieldManagerForEntity.js.map +1 -1
- package/dist/code-builder/lib/model/helpers.d.ts +1 -1
- package/dist/code-builder/lib/model/helpers.js +4 -4
- package/dist/code-builder/lib/model/helpers.js.map +1 -1
- package/dist/code-builder/lib/model/refresh-model.schema.json +15 -0
- package/dist/files/generate-model/entities/__model@dasherize__.entity.ts +2 -2
- package/dist/files/generate-model/repositories/__model@dasherize__.repository.ts +2 -0
- package/files/generate-model/entities/__model@dasherize__.entity.ts +2 -2
- package/files/generate-model/repositories/__model@dasherize__.repository.ts +2 -0
- package/package.json +1 -1
- package/src/code-builder/index.ts +8 -5
- package/src/code-builder/lib/field/FieldManager.ts +4 -2
- package/src/code-builder/lib/field/db-helpers.ts +22 -0
- package/src/code-builder/lib/field/decorator-managers/entity/ColumnDecoratorManager.ts +1 -1
- package/src/code-builder/lib/field/decorator-managers/entity/PrimaryColumnDecoratorManager.ts +18 -0
- package/src/code-builder/lib/field/field-managers/base/BaseFieldManagerForEntity.ts +24 -3
- package/src/code-builder/lib/field/field-managers/long-text/LongTextFieldHandler.ts +5 -2
- package/src/code-builder/lib/field/field-managers/long-text/LongTextFieldManagerForEntity.ts +36 -6
- package/src/code-builder/lib/field/field-managers/rich-text/RichTextFieldHandler.ts +5 -2
- package/src/code-builder/lib/field/field-managers/rich-text/RichTextFieldManagerForEntity.ts +33 -6
- package/src/code-builder/lib/model/helpers.ts +5 -3
- package/src/code-builder/lib/model/refresh-model.schema.json +15 -0
package/dist/code-builder/lib/field/field-managers/rich-text/RichTextFieldManagerForEntity.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RichTextFieldManagerForEntity.js","sourceRoot":"","sources":["../../../../../../src/code-builder/lib/field/field-managers/rich-text/RichTextFieldManagerForEntity.ts"],"names":[],"mappings":";;;;;;AACA,gIAAgG;AAEhG,iFAA8E;
|
|
1
|
+
{"version":3,"file":"RichTextFieldManagerForEntity.js","sourceRoot":"","sources":["../../../../../../src/code-builder/lib/field/field-managers/rich-text/RichTextFieldManagerForEntity.ts"],"names":[],"mappings":";;;;;;AACA,gIAAgG;AAEhG,iFAA8E;AAC9E,iDAAwF;AAExF,8BAA8B;AAC9B,MAAa,6BACX,SAAQ,qDAAyB;IAIjC,YAAY,IAAU,EAAE,UAAkB,EAAE,SAAiB,EAAE,KAAU,EAAE,qBAA0B,EAAE,cAAmC;QACxI,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,qBAAqB,EAAE,cAAc,CAAC,CAAC;IACnF,CAAC;IAED,SAAS;QACP,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,MAAW,EAAE,EAAE,CAAC,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,oBAAE,CAAC,UAAU,CAAC,aAAa,CAAC;SACrF,CAAC;IACJ,CAAC;IAEkB,gCAAgC;;QACjD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAe,CAAC;QACvC,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAA,6CAAgC,EACpD,QAAQ,EACR,IAAI,CAAC,KAAK,CAAC,GAAG,EACd,IAAI,CAAC,KAAK,CAAC,OAAO,EAClB,IAAI,CAAC,cAAc,CACpB,CACA,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,MAAA,MAAA,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,0CAAE,KAAK,mCAAI,IAAI,CAAC,CAAC;QAC7F,OAAO,OAAO,CAAC;IACjB,CAAC;IAEkB,0CAA0C;;QAC3D,MAAM,OAAO,GAAG,IAAI,GAAG,EAAgC,CAAC;QACxD,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;YACnB,MAAM,WAAW,GAAG,IAAA,6CAAgC,EAClD,QAAQ,EACR,IAAI,CAAC,KAAK,CAAC,GAAG,EACd,IAAI,CAAC,KAAK,CAAC,OAAO,EAClB,IAAI,CAAC,cAAc,CACpB,CAAC;YAEF,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;gBACpC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC,CAAC;YACtE,CAAC;iBAAM,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;gBAC3C,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC,CAAC;YACrE,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC9B,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,MAAA,MAAA,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,0CAAE,UAAU,mCAAI,IAAI,CAAC,CAAC;QAClG,OAAO,OAAO,CAAA;IAChB,CAAC;CAEF;AAvDD,sEAuDC"}
|
|
@@ -52,6 +52,6 @@ export declare function handleUpdateChecksums(tree: any, moduleName: string, ...
|
|
|
52
52
|
export declare function removeUnusedImports(tree: Tree, filePath: string): string;
|
|
53
53
|
export declare function takeBackupIfChecksumsMismatch(tree: Tree, moduleName: string): void;
|
|
54
54
|
export declare function calculateModuleFileImportPath(moduleName: string, internalPath: string): string;
|
|
55
|
-
export declare function
|
|
55
|
+
export declare function outputEntitySuperClassImport(isLegacyTable?: boolean, isLegacyTableWithId?: boolean, parentModel?: string | null, parentModule?: string): string;
|
|
56
56
|
export declare function outputParentImportPathForDto(parentModel: string | null | undefined, parentModule: string | null | undefined, context: string): string;
|
|
57
57
|
export declare function unSnakeCase(name: string): string;
|
|
@@ -52,7 +52,7 @@ exports.handleUpdateChecksums = handleUpdateChecksums;
|
|
|
52
52
|
exports.removeUnusedImports = removeUnusedImports;
|
|
53
53
|
exports.takeBackupIfChecksumsMismatch = takeBackupIfChecksumsMismatch;
|
|
54
54
|
exports.calculateModuleFileImportPath = calculateModuleFileImportPath;
|
|
55
|
-
exports.
|
|
55
|
+
exports.outputEntitySuperClassImport = outputEntitySuperClassImport;
|
|
56
56
|
exports.outputParentImportPathForDto = outputParentImportPathForDto;
|
|
57
57
|
exports.unSnakeCase = unSnakeCase;
|
|
58
58
|
const strings_1 = require("@angular-devkit/core/src/utils/strings");
|
|
@@ -294,7 +294,7 @@ function removeField(tree, options, field) {
|
|
|
294
294
|
}
|
|
295
295
|
function updateField(tree, options, field) {
|
|
296
296
|
try {
|
|
297
|
-
const fieldHandler = (0, FieldManager_1.getFieldHandler)(tree, options.module, options.model, field, options.modelEnableSoftDelete);
|
|
297
|
+
const fieldHandler = (0, FieldManager_1.getFieldHandler)(tree, options.module, options.model, field, options.modelEnableSoftDelete, options.dataSourceType);
|
|
298
298
|
const entityFieldChanges = fieldHandler.updateEntityField();
|
|
299
299
|
// console.log('entityFieldChanges:', entityFieldChanges.map((change) => change.changes));
|
|
300
300
|
applyFieldChanges(tree, options.module, entityFieldChanges, options === null || options === void 0 ? void 0 : options.generateChecksum);
|
|
@@ -458,9 +458,9 @@ function takeBackupIfChecksumsMismatch(tree, moduleName) {
|
|
|
458
458
|
function calculateModuleFileImportPath(moduleName, internalPath) {
|
|
459
459
|
return (moduleName === exports.SOLID_CORE_MODULE_NAME) ? internalPath : exports.SOLID_CORE_MODULE_NPM_PACKAGE_NAME;
|
|
460
460
|
}
|
|
461
|
-
function
|
|
461
|
+
function outputEntitySuperClassImport(isLegacyTable = false, isLegacyTableWithId = false, parentModel = null, parentModule = "solid-core") {
|
|
462
462
|
let importPath = exports.SOLID_CORE_MODULE_NPM_PACKAGE_NAME;
|
|
463
|
-
let importSymbol = "CommonEntity";
|
|
463
|
+
let importSymbol = isLegacyTableWithId ? "LegacyCommonWithIdEntity" : isLegacyTable ? "LegacyCommonEntity" : "CommonEntity";
|
|
464
464
|
if (parentModel != null) {
|
|
465
465
|
importPath = parentModule === exports.SOLID_CORE_MODULE_NAME ? exports.SOLID_CORE_MODULE_NPM_PACKAGE_NAME : `src/${(0, strings_1.dasherize)(parentModule)}/entities/${(0, strings_1.dasherize)(parentModel)}.entity.ts`;
|
|
466
466
|
importSymbol = `${(0, strings_1.classify)(parentModel)}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../src/code-builder/lib/model/helpers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../src/code-builder/lib/model/helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,6 +37,21 @@
|
|
|
37
37
|
"description": "Whether the draft publish workflow is enabled for the model",
|
|
38
38
|
"default": "false"
|
|
39
39
|
},
|
|
40
|
+
"isLegacyTable": {
|
|
41
|
+
"type": "string",
|
|
42
|
+
"description": "Indicates whether the table is a legacy table",
|
|
43
|
+
"default": "false"
|
|
44
|
+
},
|
|
45
|
+
"isLegacyTableWithId": {
|
|
46
|
+
"type": "string",
|
|
47
|
+
"description": "Indicates whether the legacy table has an 'id' column",
|
|
48
|
+
"default": "false"
|
|
49
|
+
},
|
|
50
|
+
"dataSourceType": {
|
|
51
|
+
"type": "string",
|
|
52
|
+
"description": "The data source type of the model",
|
|
53
|
+
"enum": ["postgres", "mssql"]
|
|
54
|
+
},
|
|
40
55
|
"fields": {
|
|
41
56
|
"oneOf": [
|
|
42
57
|
{
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
<%=
|
|
1
|
+
<%= outputEntitySuperClassImport(isLegacyTable, isLegacyTableWithId, parentModel, parentModule) %>
|
|
2
2
|
import { <%= parentModel ? `ChildEntity` : `Entity` %> } from 'typeorm'
|
|
3
3
|
|
|
4
4
|
<%= parentModel ? `@ChildEntity()` : `@Entity(${table ? `'${table}'` : ''})` %>
|
|
5
|
-
export class <%= classify(model) %> extends <%= parentModel ? `${classify(parentModel)}` : `CommonEntity` %> {}
|
|
5
|
+
export class <%= classify(model) %> extends <%= parentModel ? `${classify(parentModel)}` : isLegacyTableWithId ? `LegacyCommonWithIdEntity`: isLegacyTable ? `LegacyCommonEntity` : `CommonEntity` %> {}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { Injectable } from '@nestjs/common';
|
|
2
2
|
import { RequestContextService, SecurityRuleRepository, SolidBaseRepository } from '@solidstarters/solid-core';
|
|
3
3
|
import { DataSource } from 'typeorm';
|
|
4
|
+
import { InjectDataSource } from '@nestjs/typeorm';
|
|
4
5
|
import { <%= classify(model) %> } from '../entities/<%= dasherize(model) %>.entity';
|
|
5
6
|
|
|
6
7
|
@Injectable()
|
|
7
8
|
export class <%= classify(model) %>Repository extends SolidBaseRepository<<%= classify(model) %>> {
|
|
8
9
|
constructor(
|
|
10
|
+
@InjectDataSource("<%= dataSource %>")
|
|
9
11
|
readonly dataSource: DataSource,
|
|
10
12
|
readonly requestContextService: RequestContextService,
|
|
11
13
|
readonly securityRuleRepository: SecurityRuleRepository,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
<%=
|
|
1
|
+
<%= outputEntitySuperClassImport(isLegacyTable, isLegacyTableWithId, parentModel, parentModule) %>
|
|
2
2
|
import { <%= parentModel ? `ChildEntity` : `Entity` %> } from 'typeorm'
|
|
3
3
|
|
|
4
4
|
<%= parentModel ? `@ChildEntity()` : `@Entity(${table ? `'${table}'` : ''})` %>
|
|
5
|
-
export class <%= classify(model) %> extends <%= parentModel ? `${classify(parentModel)}` : `CommonEntity` %> {}
|
|
5
|
+
export class <%= classify(model) %> extends <%= parentModel ? `${classify(parentModel)}` : isLegacyTableWithId ? `LegacyCommonWithIdEntity`: isLegacyTable ? `LegacyCommonEntity` : `CommonEntity` %> {}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { Injectable } from '@nestjs/common';
|
|
2
2
|
import { RequestContextService, SecurityRuleRepository, SolidBaseRepository } from '@solidstarters/solid-core';
|
|
3
3
|
import { DataSource } from 'typeorm';
|
|
4
|
+
import { InjectDataSource } from '@nestjs/typeorm';
|
|
4
5
|
import { <%= classify(model) %> } from '../entities/<%= dasherize(model) %>.entity';
|
|
5
6
|
|
|
6
7
|
@Injectable()
|
|
7
8
|
export class <%= classify(model) %>Repository extends SolidBaseRepository<<%= classify(model) %>> {
|
|
8
9
|
constructor(
|
|
10
|
+
@InjectDataSource("<%= dataSource %>")
|
|
9
11
|
readonly dataSource: DataSource,
|
|
10
12
|
readonly requestContextService: RequestContextService,
|
|
11
13
|
readonly securityRuleRepository: SecurityRuleRepository,
|
package/package.json
CHANGED
|
@@ -49,6 +49,10 @@ export function addModule(options: any): Rule {
|
|
|
49
49
|
}
|
|
50
50
|
|
|
51
51
|
export function refreshModel(options: any): Rule {
|
|
52
|
+
//Handle the isLegacyTable option and parse it to boolean
|
|
53
|
+
options.isLegacyTable = options.isLegacyTable === 'true' ? true : false;
|
|
54
|
+
options.isLegacyTableWithId = options.isLegacyTableWithId === 'true' ? true : false;
|
|
55
|
+
|
|
52
56
|
return (tree: Tree, _context: SchematicContext) => {
|
|
53
57
|
const modulePath = (options.module === SOLID_CORE_MODULE_NAME) ? `src` : `src/${options.module}`;
|
|
54
58
|
|
|
@@ -64,7 +68,7 @@ export function refreshModel(options: any): Rule {
|
|
|
64
68
|
};
|
|
65
69
|
}
|
|
66
70
|
|
|
67
|
-
|
|
71
|
+
function addModel(options: any): Rule {
|
|
68
72
|
return (tree: Tree, context: SchematicContext) => {
|
|
69
73
|
// If the module is solid-core, the code needs to be generated in src/ since solid-core-module is a library & there is only 1 module
|
|
70
74
|
const modulePath = (options.module === SOLID_CORE_MODULE_NAME) ? `src` : `src/${options.module}`;
|
|
@@ -93,7 +97,7 @@ function normalizeFieldType(fields: string| string[]): string[] {
|
|
|
93
97
|
return fields;
|
|
94
98
|
}
|
|
95
99
|
|
|
96
|
-
|
|
100
|
+
function addFields(options: any): Rule {
|
|
97
101
|
return (tree: Tree, _context: SchematicContext) => {
|
|
98
102
|
const normalizedFields = normalizeFieldType(options.fields);
|
|
99
103
|
const fields: any[] = normalizedFields.map((f: any) => JSON.parse(f));
|
|
@@ -104,12 +108,11 @@ export function addFields(options: any): Rule {
|
|
|
104
108
|
};
|
|
105
109
|
}
|
|
106
110
|
|
|
107
|
-
|
|
111
|
+
function updateFields(options: any): Rule {
|
|
108
112
|
return (tree: Tree, _context: SchematicContext) => {
|
|
109
113
|
const normalizedFields = normalizeFieldType(options.fields);
|
|
110
114
|
const fields: any[] = normalizedFields.map((f: any) => JSON.parse(f));
|
|
111
115
|
options?.generateChecksum ? generateModelHelpers.takeBackupIfChecksumsMismatch(tree, options.module) : "no-ops";
|
|
112
|
-
|
|
113
116
|
fields.forEach((field: any) => {
|
|
114
117
|
generateModelHelpers.updateField(tree, options, field);
|
|
115
118
|
});
|
|
@@ -210,7 +213,7 @@ function showTree(sourceNode: ts.SourceFile){
|
|
|
210
213
|
printAllChildren(sourceNode, 0);
|
|
211
214
|
}
|
|
212
215
|
|
|
213
|
-
|
|
216
|
+
function updateChecksum(moduleName: string, generateChecksum: boolean = false, ...filePaths: string[]): Rule {
|
|
214
217
|
return (tree: Tree, _context: SchematicContext) => {
|
|
215
218
|
if (!generateChecksum) {
|
|
216
219
|
return tree;
|
|
@@ -22,6 +22,7 @@ import { UUIDFieldHandler } from './field-managers/uuid/UUIDFieldHandler';
|
|
|
22
22
|
import { SOLID_CORE_MODULE_NAME, SOLID_CORE_MODULE_NPM_PACKAGE_NAME } from '../model/helpers';
|
|
23
23
|
import { OneToManyRelationFieldHandler } from './field-managers/relation/OneToManyRelationFieldHandler';
|
|
24
24
|
import { ManyToManyInverseRelationFieldHandler } from './field-managers/relation/ManyToManyInverseRelationFieldHandler';
|
|
25
|
+
import { SupportedDatabases } from './db-helpers';
|
|
25
26
|
|
|
26
27
|
export const MAX_EMAIL_LENGTH = 254;
|
|
27
28
|
export const UUID_REGEX = `^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$`;
|
|
@@ -183,6 +184,7 @@ export function getFieldHandler(
|
|
|
183
184
|
modelName: string,
|
|
184
185
|
field: any,
|
|
185
186
|
modelEnableSoftDelete: any,
|
|
187
|
+
dataSourceType?: SupportedDatabases
|
|
186
188
|
): FieldHandler {
|
|
187
189
|
switch (field.type) {
|
|
188
190
|
case SolidFieldType.shortText:
|
|
@@ -193,9 +195,9 @@ export function getFieldHandler(
|
|
|
193
195
|
}
|
|
194
196
|
return new ShortTextFieldHandler(tree, moduleName, modelName, field, modelEnableSoftDelete);
|
|
195
197
|
case SolidFieldType.longtext:
|
|
196
|
-
return new LongTextFieldHandler(tree, moduleName, modelName, field, modelEnableSoftDelete);
|
|
198
|
+
return new LongTextFieldHandler(tree, moduleName, modelName, field, modelEnableSoftDelete, dataSourceType);
|
|
197
199
|
case SolidFieldType.richText:
|
|
198
|
-
return new RichTextFieldHandler(tree, moduleName, modelName, field, modelEnableSoftDelete);
|
|
200
|
+
return new RichTextFieldHandler(tree, moduleName, modelName, field, modelEnableSoftDelete, dataSourceType);
|
|
199
201
|
case SolidFieldType.json:
|
|
200
202
|
return new JsonFieldHandler(tree, moduleName, modelName, field, modelEnableSoftDelete);
|
|
201
203
|
case SolidFieldType.int:
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
// Create a function which takes args as dataSourceType and ormType and option i.e key and value and transforms it to a valid column option for typeorm
|
|
2
|
+
// If the database is Mssql and the field ormType is varchar or nvarchar, and the max = -1, set length to 'MAX'
|
|
3
|
+
// Add a proper switch case for a database and handle accordingly
|
|
4
|
+
export enum SupportedDatabases {
|
|
5
|
+
Postgres = 'postgres',
|
|
6
|
+
Mssql = 'mssql',
|
|
7
|
+
}
|
|
8
|
+
export function transformColumnOptionForDatabase(
|
|
9
|
+
optionKey: string,
|
|
10
|
+
optionValue: any,
|
|
11
|
+
ormType: string,
|
|
12
|
+
dataSourceType?: SupportedDatabases,
|
|
13
|
+
): unknown {
|
|
14
|
+
if (dataSourceType === SupportedDatabases.Mssql) {
|
|
15
|
+
if (optionKey === 'length' && optionValue === -1 && (ormType === 'varchar' || ormType === 'nvarchar')) {
|
|
16
|
+
return 'MAX';
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
// Add more database specific transformations here as needed
|
|
20
|
+
|
|
21
|
+
return optionValue;
|
|
22
|
+
}
|
|
@@ -5,7 +5,7 @@ import { insertImport } from "@schematics/angular/utility/ast-utils";
|
|
|
5
5
|
import { Change } from "@schematics/angular/utility/change";
|
|
6
6
|
|
|
7
7
|
//TODO : Need to support column default e.g if type is a date field, the ormType should be deduced automatically depending upon the db used
|
|
8
|
-
interface ColumnDecoratorOptions {
|
|
8
|
+
export interface ColumnDecoratorOptions {
|
|
9
9
|
isColumn: boolean;
|
|
10
10
|
columnName: string;
|
|
11
11
|
type: string;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { PropertyDeclaration } from "@schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript";
|
|
2
|
+
import { ColumnDecoratorManager, ColumnDecoratorOptions } from "./ColumnDecoratorManager";
|
|
3
|
+
|
|
4
|
+
export interface PrimaryColumnDecoratorOptions extends ColumnDecoratorOptions {
|
|
5
|
+
required: true;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export class PrimaryColumnDecoratorManager extends ColumnDecoratorManager {
|
|
9
|
+
|
|
10
|
+
constructor(public options: PrimaryColumnDecoratorOptions, public fieldNode?: PropertyDeclaration,) {
|
|
11
|
+
super(options, fieldNode);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
decoratorName(): string {
|
|
15
|
+
return 'PrimaryColumn';
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
}
|
|
@@ -29,11 +29,14 @@ import { RelationType } from "../../FieldManager";
|
|
|
29
29
|
import { UniqueIndexDecoratorManager } from '../../decorator-managers/entity/UniqueIndexDecoratorManager';
|
|
30
30
|
import { JoinColumnDecoratorManager } from '../../decorator-managers/entity/JoinColumnDecoratorManager';
|
|
31
31
|
import { OneToManyDecoratorManager } from '../../decorator-managers/entity/OneToManyDecoratorManager';
|
|
32
|
+
import { PrimaryColumnDecoratorManager } from '../../decorator-managers/entity/PrimaryColumnDecoratorManager';
|
|
33
|
+
import { SupportedDatabases } from '../..//db-helpers';
|
|
32
34
|
|
|
33
35
|
export abstract class BaseFieldManagerForEntity implements FieldManager {
|
|
34
36
|
source: SourceFile;
|
|
35
37
|
indexDecoratorManager: IndexDecoratorManager;
|
|
36
38
|
columnDecoratorManager: ColumnDecoratorManager;
|
|
39
|
+
primaryColumnDecoratorManager: PrimaryColumnDecoratorManager;
|
|
37
40
|
manyToOneDecoratorManager: ManyToOneDecoratorManager;
|
|
38
41
|
joinColumnDecoratorManager: DecoratorManager;
|
|
39
42
|
manyToManyDecoratorManager: DecoratorManager;
|
|
@@ -45,7 +48,8 @@ export abstract class BaseFieldManagerForEntity implements FieldManager {
|
|
|
45
48
|
protected readonly moduleName: string,
|
|
46
49
|
protected readonly modelName: string,
|
|
47
50
|
protected readonly field: any,
|
|
48
|
-
protected readonly modelEnableSoftDelete?: any
|
|
51
|
+
protected readonly modelEnableSoftDelete?: any,
|
|
52
|
+
protected readonly dataSourceType?: SupportedDatabases
|
|
49
53
|
) {
|
|
50
54
|
// TODO: Note that the source file instance is created during construction
|
|
51
55
|
// So every operation should use a new instance of the field manager, so updated tree/source is used before each operation
|
|
@@ -75,6 +79,19 @@ export abstract class BaseFieldManagerForEntity implements FieldManager {
|
|
|
75
79
|
},
|
|
76
80
|
fieldPropertyDeclarationNode,
|
|
77
81
|
);
|
|
82
|
+
this.primaryColumnDecoratorManager = new PrimaryColumnDecoratorManager(
|
|
83
|
+
{
|
|
84
|
+
required: true,
|
|
85
|
+
isColumn: this.isPrimaryColumn(),
|
|
86
|
+
columnName: this.field.columnName,
|
|
87
|
+
type: this.field.ormType,
|
|
88
|
+
otherOptions: this.additionalColumnDecoratorOptions(),
|
|
89
|
+
otherOptionExpressions: this.additionalColumnDecoratorOptionExpressions(),
|
|
90
|
+
source: this.source,
|
|
91
|
+
field: this.field,
|
|
92
|
+
},
|
|
93
|
+
fieldPropertyDeclarationNode,
|
|
94
|
+
);
|
|
78
95
|
this.manyToOneDecoratorManager = new ManyToOneDecoratorManager(
|
|
79
96
|
{
|
|
80
97
|
isManyToOne: this.isManyToOne(),
|
|
@@ -479,7 +496,11 @@ export abstract class BaseFieldManagerForEntity implements FieldManager {
|
|
|
479
496
|
}
|
|
480
497
|
|
|
481
498
|
private isColumn(): boolean {
|
|
482
|
-
return this.field.type !== 'relation';
|
|
499
|
+
return this.field.type !== 'relation' && this.field.isPrimaryKey !== true;
|
|
500
|
+
}
|
|
501
|
+
|
|
502
|
+
private isPrimaryColumn(): boolean {
|
|
503
|
+
return this.field.type !== 'relation' && this.field.isPrimaryKey === true;
|
|
483
504
|
}
|
|
484
505
|
|
|
485
506
|
protected applyUpdateDecoratorTransformations(fieldPropertyDeclarationNode: ts.PropertyDeclaration, ...transformers: DecoratorManager[]): [ts.PropertyDeclaration, Change[]] {
|
|
@@ -517,7 +538,7 @@ export abstract class BaseFieldManagerForEntity implements FieldManager {
|
|
|
517
538
|
}
|
|
518
539
|
|
|
519
540
|
private decoratorManagers(): DecoratorManager[] {
|
|
520
|
-
return [this.indexDecoratorManager, this.columnDecoratorManager, this.manyToOneDecoratorManager, this.joinColumnDecoratorManager, this.manyToManyDecoratorManager, this.joinTableDecoratorManager, this.oneToManyDecoratorManager];
|
|
541
|
+
return [this.indexDecoratorManager, this.columnDecoratorManager, this.primaryColumnDecoratorManager, this.manyToOneDecoratorManager, this.joinColumnDecoratorManager, this.manyToManyDecoratorManager, this.joinTableDecoratorManager, this.oneToManyDecoratorManager];
|
|
521
542
|
}
|
|
522
543
|
|
|
523
544
|
protected addAdditionalField(): FieldChange[] {
|
|
@@ -2,6 +2,7 @@ import { Tree } from '@angular-devkit/schematics';
|
|
|
2
2
|
import { DtoSourceType, FieldChange, FieldHandler, FieldManager, ManagerForDtoOptions } from '../../FieldManager';
|
|
3
3
|
import { LongTextFieldManagerForDto } from './LongTextFieldManagerForDto';
|
|
4
4
|
import { LongTextFieldManagerForEntity } from './LongTextFieldManagerForEntity';
|
|
5
|
+
import { SupportedDatabases } from '../../db-helpers';
|
|
5
6
|
|
|
6
7
|
export class LongTextFieldHandler implements FieldHandler {
|
|
7
8
|
entityFieldManager: FieldManager;
|
|
@@ -13,14 +14,16 @@ export class LongTextFieldHandler implements FieldHandler {
|
|
|
13
14
|
moduleName: string,
|
|
14
15
|
modelName: string,
|
|
15
16
|
field: string,
|
|
16
|
-
modelEnableSoftDelete: any
|
|
17
|
+
modelEnableSoftDelete: any,
|
|
18
|
+
dataSourceType?: SupportedDatabases
|
|
17
19
|
) {
|
|
18
20
|
this.entityFieldManager = new LongTextFieldManagerForEntity(
|
|
19
21
|
tree,
|
|
20
22
|
moduleName,
|
|
21
23
|
modelName,
|
|
22
24
|
field,
|
|
23
|
-
modelEnableSoftDelete
|
|
25
|
+
modelEnableSoftDelete,
|
|
26
|
+
dataSourceType
|
|
24
27
|
);
|
|
25
28
|
this.createDtoFieldManager = new LongTextFieldManagerForDto(
|
|
26
29
|
tree,
|
package/src/code-builder/lib/field/field-managers/long-text/LongTextFieldManagerForEntity.ts
CHANGED
|
@@ -2,33 +2,63 @@ import { Tree } from '@angular-devkit/schematics';
|
|
|
2
2
|
import ts from '@schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript';
|
|
3
3
|
import { FieldManager, FieldType } from '../../FieldManager';
|
|
4
4
|
import { BaseFieldManagerForEntity } from '../base/BaseFieldManagerForEntity';
|
|
5
|
+
import { SupportedDatabases, transformColumnOptionForDatabase } from '../../db-helpers';
|
|
5
6
|
|
|
6
7
|
//FIXME Implementation pending
|
|
7
8
|
export class LongTextFieldManagerForEntity
|
|
8
9
|
extends BaseFieldManagerForEntity
|
|
9
|
-
implements FieldManager
|
|
10
|
-
{
|
|
10
|
+
implements FieldManager {
|
|
11
11
|
source: ts.SourceFile;
|
|
12
12
|
|
|
13
|
-
constructor(tree: Tree, moduleName: string, modelName: string, field: any, modelEnableSoftDelete: any) {
|
|
14
|
-
super(tree, moduleName, modelName, field, modelEnableSoftDelete);
|
|
13
|
+
constructor(tree: Tree, moduleName: string, modelName: string, field: any, modelEnableSoftDelete: any, dataSourceType?: SupportedDatabases) {
|
|
14
|
+
super(tree, moduleName, modelName, field, modelEnableSoftDelete, dataSourceType);
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
fieldType(): FieldType {
|
|
18
18
|
return {
|
|
19
19
|
text: 'string',
|
|
20
|
-
node:
|
|
20
|
+
node: (_field: any) => ts.factory.createKeywordTypeNode(ts.SyntaxKind.StringKeyword),
|
|
21
21
|
};
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
protected override additionalColumnDecoratorOptions(): Map<string, any> {
|
|
25
25
|
const options = new Map<string, any>();
|
|
26
|
+
//console.log(`Configuring LongText field with max length ${this.field.max} for database ${this.dataSourceType}`);
|
|
27
|
+
if (this.field.max) {
|
|
28
|
+
options.set('length', transformColumnOptionForDatabase(
|
|
29
|
+
'length',
|
|
30
|
+
this.field.max,
|
|
31
|
+
this.field.ormType,
|
|
32
|
+
this.dataSourceType,
|
|
33
|
+
)
|
|
34
|
+
);
|
|
35
|
+
}
|
|
36
|
+
|
|
26
37
|
options.set('default', this.defaultValueInitializer(this.field.defaultValue)?.value ?? null);
|
|
27
|
-
return options;
|
|
38
|
+
return options;
|
|
28
39
|
}
|
|
29
40
|
|
|
30
41
|
protected override additionalColumnDecoratorOptionExpressions(): Map<string, ts.Expression | null> {
|
|
31
42
|
const options = new Map<string, ts.Expression | null>();
|
|
43
|
+
if (this.field.max) {
|
|
44
|
+
const lengthValue = transformColumnOptionForDatabase(
|
|
45
|
+
'length',
|
|
46
|
+
this.field.max,
|
|
47
|
+
this.field.ormType,
|
|
48
|
+
this.dataSourceType,
|
|
49
|
+
);
|
|
50
|
+
|
|
51
|
+
if (typeof lengthValue === 'number') {
|
|
52
|
+
options.set('length', ts.factory.createNumericLiteral(lengthValue));
|
|
53
|
+
} else if (typeof lengthValue === 'string') {
|
|
54
|
+
options.set('length', ts.factory.createStringLiteral(lengthValue));
|
|
55
|
+
} else {
|
|
56
|
+
options.set('length', null);
|
|
57
|
+
}
|
|
58
|
+
} else {
|
|
59
|
+
options.set('length', null);
|
|
60
|
+
}
|
|
61
|
+
|
|
32
62
|
options.set('default', this.defaultValueInitializer(this.field.defaultValue)?.expression ?? null);
|
|
33
63
|
return options
|
|
34
64
|
}
|
|
@@ -2,6 +2,7 @@ import { Tree } from '@angular-devkit/schematics';
|
|
|
2
2
|
import { DtoSourceType, FieldChange, FieldHandler, FieldManager, ManagerForDtoOptions } from '../../FieldManager';
|
|
3
3
|
import { RichTextFieldManagerForDto } from './RichTextFieldManagerForDto';
|
|
4
4
|
import { RichTextFieldManagerForEntity } from './RichTextFieldManagerForEntity';
|
|
5
|
+
import { SupportedDatabases } from '../../db-helpers';
|
|
5
6
|
|
|
6
7
|
export class RichTextFieldHandler implements FieldHandler {
|
|
7
8
|
entityFieldManager: FieldManager;
|
|
@@ -12,14 +13,16 @@ export class RichTextFieldHandler implements FieldHandler {
|
|
|
12
13
|
moduleName: string,
|
|
13
14
|
modelName: string,
|
|
14
15
|
field: string,
|
|
15
|
-
modelEnableSoftDelete: any
|
|
16
|
+
modelEnableSoftDelete: any,
|
|
17
|
+
dataSourceType?: SupportedDatabases
|
|
16
18
|
) {
|
|
17
19
|
this.entityFieldManager = new RichTextFieldManagerForEntity(
|
|
18
20
|
tree,
|
|
19
21
|
moduleName,
|
|
20
22
|
modelName,
|
|
21
23
|
field,
|
|
22
|
-
modelEnableSoftDelete
|
|
24
|
+
modelEnableSoftDelete,
|
|
25
|
+
dataSourceType
|
|
23
26
|
);
|
|
24
27
|
this.createDtoFieldManager = new RichTextFieldManagerForDto(
|
|
25
28
|
tree,
|
package/src/code-builder/lib/field/field-managers/rich-text/RichTextFieldManagerForEntity.ts
CHANGED
|
@@ -2,33 +2,60 @@ import { Tree } from '@angular-devkit/schematics';
|
|
|
2
2
|
import ts from '@schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript';
|
|
3
3
|
import { FieldManager, FieldType } from '../../FieldManager';
|
|
4
4
|
import { BaseFieldManagerForEntity } from '../base/BaseFieldManagerForEntity';
|
|
5
|
+
import { SupportedDatabases, transformColumnOptionForDatabase } from '../../db-helpers';
|
|
5
6
|
|
|
6
7
|
//FIXME Implementation pending
|
|
7
8
|
export class RichTextFieldManagerForEntity
|
|
8
9
|
extends BaseFieldManagerForEntity
|
|
9
|
-
implements FieldManager
|
|
10
|
-
{
|
|
10
|
+
implements FieldManager {
|
|
11
11
|
source: ts.SourceFile;
|
|
12
12
|
|
|
13
|
-
constructor(tree: Tree, moduleName: string, modelName: string, field: any, modelEnableSoftDelete: any) {
|
|
14
|
-
super(tree, moduleName, modelName, field, modelEnableSoftDelete);
|
|
13
|
+
constructor(tree: Tree, moduleName: string, modelName: string, field: any, modelEnableSoftDelete: any, dataSourceType?: SupportedDatabases) {
|
|
14
|
+
super(tree, moduleName, modelName, field, modelEnableSoftDelete, dataSourceType);
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
fieldType(): FieldType {
|
|
18
18
|
return {
|
|
19
19
|
text: 'string',
|
|
20
|
-
node:
|
|
20
|
+
node: (_field: any) => ts.factory.createKeywordTypeNode(ts.SyntaxKind.StringKeyword),
|
|
21
21
|
};
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
protected override additionalColumnDecoratorOptions(): Map<string, any> {
|
|
25
25
|
const options = new Map<string, any>();
|
|
26
|
+
if (this.field.max) {
|
|
27
|
+
options.set('length', transformColumnOptionForDatabase(
|
|
28
|
+
'length',
|
|
29
|
+
this.field.max,
|
|
30
|
+
this.field.ormType,
|
|
31
|
+
this.dataSourceType,
|
|
32
|
+
)
|
|
33
|
+
);
|
|
34
|
+
}
|
|
26
35
|
options.set('default', this.defaultValueInitializer(this.field.defaultValue)?.value ?? null);
|
|
27
|
-
return options;
|
|
36
|
+
return options;
|
|
28
37
|
}
|
|
29
38
|
|
|
30
39
|
protected override additionalColumnDecoratorOptionExpressions(): Map<string, ts.Expression | null> {
|
|
31
40
|
const options = new Map<string, ts.Expression | null>();
|
|
41
|
+
if (this.field.max) {
|
|
42
|
+
const lengthValue = transformColumnOptionForDatabase(
|
|
43
|
+
'length',
|
|
44
|
+
this.field.max,
|
|
45
|
+
this.field.ormType,
|
|
46
|
+
this.dataSourceType,
|
|
47
|
+
);
|
|
48
|
+
|
|
49
|
+
if (typeof lengthValue === 'number') {
|
|
50
|
+
options.set('length', ts.factory.createNumericLiteral(lengthValue));
|
|
51
|
+
} else if (typeof lengthValue === 'string') {
|
|
52
|
+
options.set('length', ts.factory.createStringLiteral(lengthValue));
|
|
53
|
+
} else {
|
|
54
|
+
options.set('length', null);
|
|
55
|
+
}
|
|
56
|
+
} else {
|
|
57
|
+
options.set('length', null);
|
|
58
|
+
}
|
|
32
59
|
options.set('default', this.defaultValueInitializer(this.field.defaultValue)?.expression ?? null);
|
|
33
60
|
return options
|
|
34
61
|
}
|
|
@@ -12,6 +12,7 @@ import {
|
|
|
12
12
|
ReplaceChangeSSS,
|
|
13
13
|
getFieldHandler,
|
|
14
14
|
} from '../field/FieldManager';
|
|
15
|
+
import { SupportedDatabases } from '../field/db-helpers';
|
|
15
16
|
|
|
16
17
|
export const SOLID_CORE_MODULE_NAME = 'solid-core';
|
|
17
18
|
export const SOLID_CORE_MODULE_NPM_PACKAGE_NAME = '@solidstarters/solid-core';
|
|
@@ -346,7 +347,8 @@ export function updateField(tree: Tree, options: any, field: any) {
|
|
|
346
347
|
options.module,
|
|
347
348
|
options.model,
|
|
348
349
|
field,
|
|
349
|
-
options.modelEnableSoftDelete
|
|
350
|
+
options.modelEnableSoftDelete,
|
|
351
|
+
options.dataSourceType as SupportedDatabases
|
|
350
352
|
);
|
|
351
353
|
const entityFieldChanges = fieldHandler.updateEntityField();
|
|
352
354
|
// console.log('entityFieldChanges:', entityFieldChanges.map((change) => change.changes));
|
|
@@ -533,9 +535,9 @@ export function calculateModuleFileImportPath(moduleName: string, internalPath:
|
|
|
533
535
|
return (moduleName === SOLID_CORE_MODULE_NAME) ? internalPath : SOLID_CORE_MODULE_NPM_PACKAGE_NAME;
|
|
534
536
|
}
|
|
535
537
|
|
|
536
|
-
export function
|
|
538
|
+
export function outputEntitySuperClassImport(isLegacyTable: boolean = false, isLegacyTableWithId: boolean = false, parentModel: string | null = null, parentModule: string = "solid-core") {
|
|
537
539
|
let importPath: string = SOLID_CORE_MODULE_NPM_PACKAGE_NAME;
|
|
538
|
-
let importSymbol: string = "CommonEntity";
|
|
540
|
+
let importSymbol: string = isLegacyTableWithId ? "LegacyCommonWithIdEntity" : isLegacyTable ? "LegacyCommonEntity" : "CommonEntity";
|
|
539
541
|
if (parentModel != null) {
|
|
540
542
|
importPath = parentModule === SOLID_CORE_MODULE_NAME ? SOLID_CORE_MODULE_NPM_PACKAGE_NAME : `src/${dasherize(parentModule)}/entities/${dasherize(parentModel)}.entity.ts`;
|
|
541
543
|
importSymbol = `${classify(parentModel)}`;
|