@solidstarters/solid-code-builder 1.0.13 → 1.0.15
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/lib/field/FieldManager.d.ts +1 -1
- package/dist/code-builder/lib/field/FieldManager.js +20 -21
- package/dist/code-builder/lib/field/FieldManager.js.map +1 -1
- package/dist/code-builder/lib/field/decorator-managers/entity/IndexDecoratorManager.d.ts +3 -0
- package/dist/code-builder/lib/field/decorator-managers/entity/IndexDecoratorManager.js +38 -3
- package/dist/code-builder/lib/field/decorator-managers/entity/IndexDecoratorManager.js.map +1 -1
- package/dist/code-builder/lib/field/decorator-managers/entity/JoinColumnDecoratorManager.d.ts +1 -1
- package/dist/code-builder/lib/field/decorator-managers/entity/JoinColumnDecoratorManager.js +4 -4
- package/dist/code-builder/lib/field/decorator-managers/entity/JoinColumnDecoratorManager.js.map +1 -1
- package/dist/code-builder/lib/field/decorator-managers/entity/ManyToManyDecoratorManager.d.ts +1 -2
- package/dist/code-builder/lib/field/decorator-managers/entity/ManyToManyDecoratorManager.js.map +1 -1
- package/dist/code-builder/lib/field/decorator-managers/entity/ManyToOneDecoratorManager.d.ts +1 -1
- package/dist/code-builder/lib/field/decorator-managers/entity/ManyToOneDecoratorManager.js +2 -2
- package/dist/code-builder/lib/field/decorator-managers/entity/ManyToOneDecoratorManager.js.map +1 -1
- package/dist/code-builder/lib/field/decorator-managers/entity/OneToManyDecoratorManager.d.ts +1 -2
- package/dist/code-builder/lib/field/decorator-managers/entity/OneToManyDecoratorManager.js.map +1 -1
- package/dist/code-builder/lib/field/decorator-managers/entity/UniqueIndexDecoratorManager.d.ts +1 -0
- package/dist/code-builder/lib/field/decorator-managers/entity/UniqueIndexDecoratorManager.js +3 -1
- package/dist/code-builder/lib/field/decorator-managers/entity/UniqueIndexDecoratorManager.js.map +1 -1
- package/dist/code-builder/lib/field/field-managers/base/BaseFieldManagerForEntity.d.ts +2 -1
- package/dist/code-builder/lib/field/field-managers/base/BaseFieldManagerForEntity.js +11 -12
- package/dist/code-builder/lib/field/field-managers/base/BaseFieldManagerForEntity.js.map +1 -1
- package/dist/code-builder/lib/field/field-managers/bigint/BigIntFieldHandler.d.ts +1 -1
- package/dist/code-builder/lib/field/field-managers/bigint/BigIntFieldHandler.js +2 -2
- package/dist/code-builder/lib/field/field-managers/bigint/BigIntFieldHandler.js.map +1 -1
- package/dist/code-builder/lib/field/field-managers/bigint/BigIntFieldManagerForEntity.d.ts +1 -1
- package/dist/code-builder/lib/field/field-managers/bigint/BigIntFieldManagerForEntity.js +2 -2
- package/dist/code-builder/lib/field/field-managers/bigint/BigIntFieldManagerForEntity.js.map +1 -1
- package/dist/code-builder/lib/field/field-managers/boolean/BooleanFieldHandler.d.ts +1 -1
- package/dist/code-builder/lib/field/field-managers/boolean/BooleanFieldHandler.js +2 -2
- package/dist/code-builder/lib/field/field-managers/boolean/BooleanFieldHandler.js.map +1 -1
- package/dist/code-builder/lib/field/field-managers/boolean/BooleanFieldManagerForEntity.d.ts +1 -1
- package/dist/code-builder/lib/field/field-managers/boolean/BooleanFieldManagerForEntity.js +2 -2
- package/dist/code-builder/lib/field/field-managers/boolean/BooleanFieldManagerForEntity.js.map +1 -1
- package/dist/code-builder/lib/field/field-managers/computed/ComputedFieldHandler.d.ts +1 -1
- package/dist/code-builder/lib/field/field-managers/computed/ComputedFieldHandler.js +2 -2
- package/dist/code-builder/lib/field/field-managers/computed/ComputedFieldHandler.js.map +1 -1
- package/dist/code-builder/lib/field/field-managers/computed/ComputedFieldManagerForEntity.d.ts +1 -1
- package/dist/code-builder/lib/field/field-managers/computed/ComputedFieldManagerForEntity.js +2 -2
- package/dist/code-builder/lib/field/field-managers/computed/ComputedFieldManagerForEntity.js.map +1 -1
- package/dist/code-builder/lib/field/field-managers/date/DateFieldHandler.d.ts +1 -1
- package/dist/code-builder/lib/field/field-managers/date/DateFieldHandler.js +2 -2
- package/dist/code-builder/lib/field/field-managers/date/DateFieldHandler.js.map +1 -1
- package/dist/code-builder/lib/field/field-managers/date/DateFieldManagerForEntity.d.ts +1 -1
- package/dist/code-builder/lib/field/field-managers/date/DateFieldManagerForEntity.js +2 -2
- package/dist/code-builder/lib/field/field-managers/date/DateFieldManagerForEntity.js.map +1 -1
- package/dist/code-builder/lib/field/field-managers/decimal/DecimalFieldHandler.d.ts +1 -1
- package/dist/code-builder/lib/field/field-managers/decimal/DecimalFieldHandler.js +2 -2
- package/dist/code-builder/lib/field/field-managers/decimal/DecimalFieldHandler.js.map +1 -1
- package/dist/code-builder/lib/field/field-managers/decimal/DecimalFieldManagerForEntity.d.ts +1 -1
- package/dist/code-builder/lib/field/field-managers/decimal/DecimalFieldManagerForEntity.js +2 -2
- package/dist/code-builder/lib/field/field-managers/decimal/DecimalFieldManagerForEntity.js.map +1 -1
- package/dist/code-builder/lib/field/field-managers/email/EmailFieldHandler.d.ts +1 -1
- package/dist/code-builder/lib/field/field-managers/email/EmailFieldHandler.js +2 -2
- package/dist/code-builder/lib/field/field-managers/email/EmailFieldHandler.js.map +1 -1
- package/dist/code-builder/lib/field/field-managers/email/EmailFieldManagerForEntity.d.ts +1 -1
- package/dist/code-builder/lib/field/field-managers/email/EmailFieldManagerForEntity.js +2 -2
- package/dist/code-builder/lib/field/field-managers/email/EmailFieldManagerForEntity.js.map +1 -1
- package/dist/code-builder/lib/field/field-managers/int/IntFieldHandler.d.ts +1 -1
- package/dist/code-builder/lib/field/field-managers/int/IntFieldHandler.js +2 -2
- package/dist/code-builder/lib/field/field-managers/int/IntFieldHandler.js.map +1 -1
- package/dist/code-builder/lib/field/field-managers/int/IntFieldManagerForEntity.d.ts +1 -1
- package/dist/code-builder/lib/field/field-managers/int/IntFieldManagerForEntity.js +2 -2
- package/dist/code-builder/lib/field/field-managers/int/IntFieldManagerForEntity.js.map +1 -1
- package/dist/code-builder/lib/field/field-managers/json/JsonFieldHandler.d.ts +1 -1
- package/dist/code-builder/lib/field/field-managers/json/JsonFieldHandler.js +2 -2
- package/dist/code-builder/lib/field/field-managers/json/JsonFieldHandler.js.map +1 -1
- package/dist/code-builder/lib/field/field-managers/json/JsonFieldManagerForEntity.d.ts +1 -1
- package/dist/code-builder/lib/field/field-managers/json/JsonFieldManagerForEntity.js +2 -2
- package/dist/code-builder/lib/field/field-managers/json/JsonFieldManagerForEntity.js.map +1 -1
- package/dist/code-builder/lib/field/field-managers/long-text/LongTextFieldHandler.d.ts +1 -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 +1 -1
- package/dist/code-builder/lib/field/field-managers/long-text/LongTextFieldManagerForEntity.js +2 -2
- package/dist/code-builder/lib/field/field-managers/long-text/LongTextFieldManagerForEntity.js.map +1 -1
- package/dist/code-builder/lib/field/field-managers/password/PasswordFieldHandler.d.ts +1 -1
- package/dist/code-builder/lib/field/field-managers/password/PasswordFieldHandler.js +2 -2
- package/dist/code-builder/lib/field/field-managers/password/PasswordFieldHandler.js.map +1 -1
- package/dist/code-builder/lib/field/field-managers/password/PasswordFieldManagerForEntity.d.ts +1 -1
- package/dist/code-builder/lib/field/field-managers/password/PasswordFieldManagerForEntity.js +2 -2
- package/dist/code-builder/lib/field/field-managers/password/PasswordFieldManagerForEntity.js.map +1 -1
- package/dist/code-builder/lib/field/field-managers/relation/ManyToManyInverseRelationFieldHandler.d.ts +1 -1
- package/dist/code-builder/lib/field/field-managers/relation/ManyToManyInverseRelationFieldHandler.js +2 -2
- package/dist/code-builder/lib/field/field-managers/relation/ManyToManyInverseRelationFieldHandler.js.map +1 -1
- package/dist/code-builder/lib/field/field-managers/relation/ManyToManyRelationFieldHandler.d.ts +1 -1
- package/dist/code-builder/lib/field/field-managers/relation/ManyToManyRelationFieldHandler.js +2 -2
- package/dist/code-builder/lib/field/field-managers/relation/ManyToManyRelationFieldHandler.js.map +1 -1
- package/dist/code-builder/lib/field/field-managers/relation/ManyToManyRelationFieldManagerForDto.js +14 -9
- package/dist/code-builder/lib/field/field-managers/relation/ManyToManyRelationFieldManagerForDto.js.map +1 -1
- package/dist/code-builder/lib/field/field-managers/relation/ManyToManyRelationFieldManagerForEntity.js +5 -5
- package/dist/code-builder/lib/field/field-managers/relation/ManyToManyRelationFieldManagerForEntity.js.map +1 -1
- package/dist/code-builder/lib/field/field-managers/relation/ManyToOneRelationFieldHandler.d.ts +1 -1
- package/dist/code-builder/lib/field/field-managers/relation/ManyToOneRelationFieldHandler.js +2 -2
- package/dist/code-builder/lib/field/field-managers/relation/ManyToOneRelationFieldHandler.js.map +1 -1
- package/dist/code-builder/lib/field/field-managers/relation/ManyToOneRelationFieldManagerForDto.js +3 -0
- package/dist/code-builder/lib/field/field-managers/relation/ManyToOneRelationFieldManagerForDto.js.map +1 -1
- package/dist/code-builder/lib/field/field-managers/relation/ManyToOneRelationFieldManagerForEntity.js +6 -6
- package/dist/code-builder/lib/field/field-managers/relation/ManyToOneRelationFieldManagerForEntity.js.map +1 -1
- package/dist/code-builder/lib/field/field-managers/relation/OneToManyRelationFieldHandler.d.ts +1 -1
- package/dist/code-builder/lib/field/field-managers/relation/OneToManyRelationFieldHandler.js +2 -2
- package/dist/code-builder/lib/field/field-managers/relation/OneToManyRelationFieldHandler.js.map +1 -1
- package/dist/code-builder/lib/field/field-managers/relation/OneToManyRelationFieldManagerForDto.js +7 -2
- package/dist/code-builder/lib/field/field-managers/relation/OneToManyRelationFieldManagerForDto.js.map +1 -1
- package/dist/code-builder/lib/field/field-managers/rich-text/RichTextFieldHandler.d.ts +1 -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 +1 -1
- package/dist/code-builder/lib/field/field-managers/rich-text/RichTextFieldManagerForEntity.js +2 -2
- package/dist/code-builder/lib/field/field-managers/rich-text/RichTextFieldManagerForEntity.js.map +1 -1
- package/dist/code-builder/lib/field/field-managers/short-text/ShortTextFieldHandler.d.ts +1 -1
- package/dist/code-builder/lib/field/field-managers/short-text/ShortTextFieldHandler.js +2 -2
- package/dist/code-builder/lib/field/field-managers/short-text/ShortTextFieldHandler.js.map +1 -1
- package/dist/code-builder/lib/field/field-managers/short-text/ShortTextFieldManagerForEntity.d.ts +1 -1
- package/dist/code-builder/lib/field/field-managers/short-text/ShortTextFieldManagerForEntity.js +2 -2
- package/dist/code-builder/lib/field/field-managers/short-text/ShortTextFieldManagerForEntity.js.map +1 -1
- package/dist/code-builder/lib/field/field-managers/uuid/UUIDFieldHandler.d.ts +1 -1
- package/dist/code-builder/lib/field/field-managers/uuid/UUIDFieldHandler.js +2 -2
- package/dist/code-builder/lib/field/field-managers/uuid/UUIDFieldHandler.js.map +1 -1
- package/dist/code-builder/lib/field/field-managers/uuid/UUIDFieldManagerForEntity.d.ts +1 -1
- package/dist/code-builder/lib/field/field-managers/uuid/UUIDFieldManagerForEntity.js +2 -2
- package/dist/code-builder/lib/field/field-managers/uuid/UUIDFieldManagerForEntity.js.map +1 -1
- package/dist/code-builder/lib/model/add-model.schema.json +4 -0
- package/dist/code-builder/lib/model/helpers.js +3 -3
- package/dist/code-builder/lib/model/helpers.js.map +1 -1
- package/dist/code-builder/lib/model/refresh-model.schema.json +4 -0
- package/package.json +1 -1
- package/src/code-builder/lib/field/FieldManager.ts +20 -20
- package/src/code-builder/lib/field/decorator-managers/entity/IndexDecoratorManager.ts +48 -4
- package/src/code-builder/lib/field/decorator-managers/entity/JoinColumnDecoratorManager.ts +5 -5
- package/src/code-builder/lib/field/decorator-managers/entity/ManyToManyDecoratorManager.ts +1 -2
- package/src/code-builder/lib/field/decorator-managers/entity/ManyToOneDecoratorManager.ts +3 -3
- package/src/code-builder/lib/field/decorator-managers/entity/OneToManyDecoratorManager.ts +1 -2
- package/src/code-builder/lib/field/decorator-managers/entity/UniqueIndexDecoratorManager.ts +3 -1
- package/src/code-builder/lib/field/field-managers/base/BaseFieldManagerForEntity.ts +10 -12
- package/src/code-builder/lib/field/field-managers/bigint/BigIntFieldHandler.ts +2 -1
- package/src/code-builder/lib/field/field-managers/bigint/BigIntFieldManagerForEntity.ts +2 -2
- package/src/code-builder/lib/field/field-managers/boolean/BooleanFieldHandler.ts +2 -1
- package/src/code-builder/lib/field/field-managers/boolean/BooleanFieldManagerForEntity.ts +2 -2
- package/src/code-builder/lib/field/field-managers/computed/ComputedFieldHandler.ts +2 -0
- package/src/code-builder/lib/field/field-managers/computed/ComputedFieldManagerForEntity.ts +2 -2
- package/src/code-builder/lib/field/field-managers/date/DateFieldHandler.ts +2 -1
- package/src/code-builder/lib/field/field-managers/date/DateFieldManagerForEntity.ts +2 -2
- package/src/code-builder/lib/field/field-managers/decimal/DecimalFieldHandler.ts +2 -1
- package/src/code-builder/lib/field/field-managers/decimal/DecimalFieldManagerForEntity.ts +2 -2
- package/src/code-builder/lib/field/field-managers/email/EmailFieldHandler.ts +2 -0
- package/src/code-builder/lib/field/field-managers/email/EmailFieldManagerForEntity.ts +2 -2
- package/src/code-builder/lib/field/field-managers/int/IntFieldHandler.ts +2 -1
- package/src/code-builder/lib/field/field-managers/int/IntFieldManagerForEntity.ts +2 -2
- package/src/code-builder/lib/field/field-managers/json/JsonFieldHandler.ts +2 -0
- package/src/code-builder/lib/field/field-managers/json/JsonFieldManagerForEntity.ts +2 -2
- package/src/code-builder/lib/field/field-managers/long-text/LongTextFieldHandler.ts +2 -0
- package/src/code-builder/lib/field/field-managers/long-text/LongTextFieldManagerForEntity.ts +2 -2
- package/src/code-builder/lib/field/field-managers/password/PasswordFieldHandler.ts +2 -0
- package/src/code-builder/lib/field/field-managers/password/PasswordFieldManagerForEntity.ts +2 -2
- package/src/code-builder/lib/field/field-managers/relation/ManyToManyInverseRelationFieldHandler.ts +2 -1
- package/src/code-builder/lib/field/field-managers/relation/ManyToManyRelationFieldHandler.ts +2 -1
- package/src/code-builder/lib/field/field-managers/relation/ManyToManyRelationFieldManagerForDto.ts +14 -9
- package/src/code-builder/lib/field/field-managers/relation/ManyToManyRelationFieldManagerForEntity.ts +5 -5
- package/src/code-builder/lib/field/field-managers/relation/ManyToOneRelationFieldHandler.ts +2 -1
- package/src/code-builder/lib/field/field-managers/relation/ManyToOneRelationFieldManagerForDto.ts +3 -0
- package/src/code-builder/lib/field/field-managers/relation/ManyToOneRelationFieldManagerForEntity.ts +6 -6
- package/src/code-builder/lib/field/field-managers/relation/OneToManyRelationFieldHandler.ts +2 -1
- package/src/code-builder/lib/field/field-managers/relation/OneToManyRelationFieldManagerForDto.ts +7 -2
- package/src/code-builder/lib/field/field-managers/rich-text/RichTextFieldHandler.ts +2 -0
- package/src/code-builder/lib/field/field-managers/rich-text/RichTextFieldManagerForEntity.ts +2 -2
- package/src/code-builder/lib/field/field-managers/short-text/ShortTextFieldHandler.ts +2 -0
- package/src/code-builder/lib/field/field-managers/short-text/ShortTextFieldManagerForEntity.ts +2 -2
- package/src/code-builder/lib/field/field-managers/uuid/UUIDFieldHandler.ts +2 -0
- package/src/code-builder/lib/field/field-managers/uuid/UUIDFieldManagerForEntity.ts +2 -2
- package/src/code-builder/lib/model/add-model.schema.json +4 -0
- package/src/code-builder/lib/model/helpers.ts +3 -0
- package/src/code-builder/lib/model/refresh-model.schema.json +4 -0
|
@@ -7,13 +7,13 @@ interface IndexDecoratorOptions {
|
|
|
7
7
|
index: boolean;
|
|
8
8
|
source: ts.SourceFile;
|
|
9
9
|
field: any;
|
|
10
|
+
modelEnableSoftDelete?: any
|
|
10
11
|
}
|
|
11
12
|
|
|
12
13
|
export class IndexDecoratorManager implements DecoratorManager {
|
|
13
|
-
|
|
14
14
|
constructor(public options: IndexDecoratorOptions, public fieldNode?: PropertyDeclaration) { }
|
|
15
15
|
isApplyDecorator(): boolean {
|
|
16
|
-
return this.options.index && this.options.field.relationType !== RelationType.ManyToMany && this.options.field.relationType !== RelationType.OneToMany;
|
|
16
|
+
return (this.options.index || (!this.options.modelEnableSoftDelete && this.options.field.unique)) && this.options.field.relationType !== RelationType.ManyToMany && this.options.field.relationType !== RelationType.OneToMany;
|
|
17
17
|
}
|
|
18
18
|
decoratorName(): string {
|
|
19
19
|
return 'Index';
|
|
@@ -25,7 +25,8 @@ export class IndexDecoratorManager implements DecoratorManager {
|
|
|
25
25
|
const fieldSourceLines = [];
|
|
26
26
|
const changes: Change[] = [];
|
|
27
27
|
// if (this.field.index) {
|
|
28
|
-
const
|
|
28
|
+
const indexOptions = this.buildColumnOptionsCode();
|
|
29
|
+
const indexDecoratorLine = indexOptions ? `@Index(${indexOptions})` : `@Index()`;
|
|
29
30
|
fieldSourceLines.push(indexDecoratorLine);
|
|
30
31
|
changes.push(...this.decoratorImports());
|
|
31
32
|
// }
|
|
@@ -78,11 +79,23 @@ export class IndexDecoratorManager implements DecoratorManager {
|
|
|
78
79
|
}
|
|
79
80
|
|
|
80
81
|
private createIndexDecorator(): ts.ModifierLike {
|
|
82
|
+
const indexArguments: ts.Expression[] = [];
|
|
83
|
+
if ((this.options.modelEnableSoftDelete === undefined || this.options.modelEnableSoftDelete === false)
|
|
84
|
+
&& this.options.field.unique) {
|
|
85
|
+
indexArguments.push(
|
|
86
|
+
ts.factory.createObjectLiteralExpression([
|
|
87
|
+
ts.factory.createPropertyAssignment(
|
|
88
|
+
'unique',
|
|
89
|
+
ts.factory.createTrue()
|
|
90
|
+
)
|
|
91
|
+
])
|
|
92
|
+
);
|
|
93
|
+
}
|
|
81
94
|
return ts.factory.createDecorator(
|
|
82
95
|
ts.factory.createCallExpression(
|
|
83
96
|
ts.factory.createIdentifier('Index'),
|
|
84
97
|
undefined,
|
|
85
|
-
|
|
98
|
+
indexArguments
|
|
86
99
|
),
|
|
87
100
|
);
|
|
88
101
|
}
|
|
@@ -101,5 +114,36 @@ export class IndexDecoratorManager implements DecoratorManager {
|
|
|
101
114
|
return identifier.text === identifierName;
|
|
102
115
|
}
|
|
103
116
|
|
|
117
|
+
private buildColumnDecoratorOptions(): Map<string, any> {
|
|
118
|
+
const options: Map<string, any> = new Map<string, any>();
|
|
119
|
+
|
|
120
|
+
if ((this.options.modelEnableSoftDelete === undefined || this.options.modelEnableSoftDelete === false)
|
|
121
|
+
&& this.options.field.unique) {
|
|
122
|
+
options.set('unique', true);
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
return options;
|
|
126
|
+
}
|
|
104
127
|
|
|
128
|
+
private buildColumnOptionsCode(): string {
|
|
129
|
+
const options = this.buildColumnDecoratorOptions();
|
|
130
|
+
const keys = Array.from(options.keys());
|
|
131
|
+
|
|
132
|
+
if (keys.length === 0) {
|
|
133
|
+
return '';
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
const optionsString = keys
|
|
137
|
+
.filter((key) => options.get(key) !== null)
|
|
138
|
+
.map((key) => {
|
|
139
|
+
if (typeof options.get(key) === 'string') {
|
|
140
|
+
return `${key}: "${options.get(key)}"`;
|
|
141
|
+
} else {
|
|
142
|
+
return `${key}: ${options.get(key)}`;
|
|
143
|
+
}
|
|
144
|
+
})
|
|
145
|
+
.join(', ');
|
|
146
|
+
|
|
147
|
+
return `{ ${optionsString} }`;
|
|
148
|
+
}
|
|
105
149
|
}
|
|
@@ -8,7 +8,7 @@ interface JoinColumnDecoratorOptions {
|
|
|
8
8
|
source: ts.SourceFile;
|
|
9
9
|
field: any;
|
|
10
10
|
fieldName: string;
|
|
11
|
-
|
|
11
|
+
relationCoModelColumnName?: string;
|
|
12
12
|
}
|
|
13
13
|
|
|
14
14
|
export class JoinColumnDecoratorManager implements DecoratorManager {
|
|
@@ -88,8 +88,8 @@ export class JoinColumnDecoratorManager implements DecoratorManager {
|
|
|
88
88
|
private buildRelationOptionsCode(): string {
|
|
89
89
|
const options: Record<string, string> = {};
|
|
90
90
|
|
|
91
|
-
if (this.options.
|
|
92
|
-
options['name'] = `"${this.options.
|
|
91
|
+
if (this.options.relationCoModelColumnName) {
|
|
92
|
+
options['name'] = `"${this.options.relationCoModelColumnName}"`;
|
|
93
93
|
return `{ ${Object.entries(options)
|
|
94
94
|
.map(([key, value]) => `${key}: ${value}`)
|
|
95
95
|
.join(', ')} }`;
|
|
@@ -102,11 +102,11 @@ export class JoinColumnDecoratorManager implements DecoratorManager {
|
|
|
102
102
|
|
|
103
103
|
const newOptions: ts.ObjectLiteralElementLike[] = [];
|
|
104
104
|
|
|
105
|
-
if (this.options.
|
|
105
|
+
if (this.options.relationCoModelColumnName) {
|
|
106
106
|
newOptions.push(
|
|
107
107
|
ts.factory.createPropertyAssignment(
|
|
108
108
|
'name',
|
|
109
|
-
ts.factory.createStringLiteral(`${this.options.
|
|
109
|
+
ts.factory.createStringLiteral(`${this.options.relationCoModelColumnName}`)
|
|
110
110
|
)
|
|
111
111
|
);
|
|
112
112
|
}
|
|
@@ -2,13 +2,12 @@ import { camelize, classify } from "@angular-devkit/core/src/utils/strings";
|
|
|
2
2
|
import ts, { ModifierLike, ObjectLiteralElementLike, PropertyDeclaration } from "@schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript";
|
|
3
3
|
import { insertImport } from "@schematics/angular/utility/ast-utils";
|
|
4
4
|
import { Change } from "@schematics/angular/utility/change";
|
|
5
|
-
import { DecoratorManager,
|
|
5
|
+
import { DecoratorManager, PartialAddFieldChange } from "../../FieldManager";
|
|
6
6
|
|
|
7
7
|
interface ManyToManyDecoratorOptions {
|
|
8
8
|
isManyToMany: boolean;
|
|
9
9
|
relationModelName: string;
|
|
10
10
|
relationInverseFieldName: string;
|
|
11
|
-
relationCascade: DeleteType;
|
|
12
11
|
owner: boolean;
|
|
13
12
|
source: ts.SourceFile;
|
|
14
13
|
field: any;
|
|
@@ -6,7 +6,7 @@ import { DecoratorManager, DeleteType, PartialAddFieldChange } from "../../Field
|
|
|
6
6
|
import _ from 'lodash';
|
|
7
7
|
interface ManyToOneDecoratorOptions {
|
|
8
8
|
isManyToOne: boolean;
|
|
9
|
-
|
|
9
|
+
relationCoModelSingularName: string;
|
|
10
10
|
relationCascade: DeleteType;
|
|
11
11
|
required: boolean;
|
|
12
12
|
source: ts.SourceFile;
|
|
@@ -37,7 +37,7 @@ export class ManyToOneDecoratorManager implements DecoratorManager {
|
|
|
37
37
|
// }
|
|
38
38
|
// Add the relation decorator
|
|
39
39
|
fieldSourceLines.push(
|
|
40
|
-
`@${this.decoratorName()}(() => ${classify(this.options.
|
|
40
|
+
`@${this.decoratorName()}(() => ${classify(this.options.relationCoModelSingularName)}, ${this.buildRelationOptionsCode()})`,
|
|
41
41
|
);
|
|
42
42
|
changes.push(...this.decoratorImports());
|
|
43
43
|
return {
|
|
@@ -148,7 +148,7 @@ export class ManyToOneDecoratorManager implements DecoratorManager {
|
|
|
148
148
|
[],
|
|
149
149
|
undefined,
|
|
150
150
|
ts.factory.createToken(ts.SyntaxKind.EqualsGreaterThanToken),
|
|
151
|
-
ts.factory.createIdentifier(classify(this.options.
|
|
151
|
+
ts.factory.createIdentifier(classify(this.options.relationCoModelSingularName))
|
|
152
152
|
)
|
|
153
153
|
const decoratorOptionsExpression = ts.factory.createObjectLiteralExpression(newPropertyAssignments);
|
|
154
154
|
const call = ts.factory.createCallExpression(decoratorIdentifier, undefined, [typeFunctionOrTarget, decoratorOptionsExpression]);
|
|
@@ -2,11 +2,10 @@ import { camelize, classify } from "@angular-devkit/core/src/utils/strings";
|
|
|
2
2
|
import ts, { ModifierLike, ObjectLiteralElementLike, PropertyDeclaration } from "@schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript";
|
|
3
3
|
import { insertImport } from "@schematics/angular/utility/ast-utils";
|
|
4
4
|
import { Change } from "@schematics/angular/utility/change";
|
|
5
|
-
import { DecoratorManager,
|
|
5
|
+
import { DecoratorManager, PartialAddFieldChange } from "../../FieldManager";
|
|
6
6
|
|
|
7
7
|
interface OneToManyDecoratorOptions {
|
|
8
8
|
isOneToMany: boolean;
|
|
9
|
-
relationCascade: DeleteType;
|
|
10
9
|
source: ts.SourceFile;
|
|
11
10
|
field: any;
|
|
12
11
|
fieldName: string;
|
|
@@ -8,12 +8,13 @@ interface UniqueIndexDecoratorOptions {
|
|
|
8
8
|
fieldName: string;
|
|
9
9
|
source: ts.SourceFile;
|
|
10
10
|
field: any;
|
|
11
|
+
modelEnableSoftDelete?: any;
|
|
11
12
|
}
|
|
12
13
|
|
|
13
14
|
export class UniqueIndexDecoratorManager {
|
|
14
15
|
constructor(public options: UniqueIndexDecoratorOptions, public classNode: ClassDeclaration, public fieldNode?: PropertyDeclaration) { }
|
|
15
16
|
isApplyDecorator(): boolean {
|
|
16
|
-
return this.options.unique;
|
|
17
|
+
return this.options.unique && this.options.modelEnableSoftDelete;
|
|
17
18
|
}
|
|
18
19
|
decoratorName(): string {
|
|
19
20
|
return 'Index';
|
|
@@ -47,6 +48,7 @@ export class UniqueIndexDecoratorManager {
|
|
|
47
48
|
// @returns the updated property declaration
|
|
48
49
|
updateDecorator(): [ClassDeclaration, Change[]] {
|
|
49
50
|
if (!this.classNode) throw new Error('Class node is required for updating the unique index decorator');
|
|
51
|
+
if (!this.fieldNode) throw new Error('Field node is required for updating the unique index decorator');
|
|
50
52
|
|
|
51
53
|
let existingModifierLikes: ts.NodeArray<ModifierLike> | undefined = this.classNode.modifiers;
|
|
52
54
|
|
|
@@ -45,6 +45,7 @@ export abstract class BaseFieldManagerForEntity implements FieldManager {
|
|
|
45
45
|
protected readonly moduleName: string,
|
|
46
46
|
protected readonly modelName: string,
|
|
47
47
|
protected readonly field: any,
|
|
48
|
+
protected readonly modelEnableSoftDelete?: any
|
|
48
49
|
) {
|
|
49
50
|
// TODO: Note that the source file instance is created during construction
|
|
50
51
|
// So every operation should use a new instance of the field manager, so updated tree/source is used before each operation
|
|
@@ -52,14 +53,13 @@ export abstract class BaseFieldManagerForEntity implements FieldManager {
|
|
|
52
53
|
tree,
|
|
53
54
|
`src/${dasherize(moduleName)}/entities/${dasherize(modelName)}.entity.ts`,
|
|
54
55
|
);
|
|
55
|
-
|
|
56
56
|
const fieldPropertyDeclarationNode = this.getFieldIdentifierNode(
|
|
57
57
|
this.fieldName(),
|
|
58
58
|
this.source
|
|
59
59
|
)?.parent as PropertyDeclaration | undefined;
|
|
60
60
|
|
|
61
61
|
this.indexDecoratorManager = new IndexDecoratorManager(
|
|
62
|
-
{ index: this.field.index, source: this.source, field: this.field },
|
|
62
|
+
{ index: this.field.index, source: this.source, field: this.field, modelEnableSoftDelete: this.modelEnableSoftDelete },
|
|
63
63
|
fieldPropertyDeclarationNode,
|
|
64
64
|
);
|
|
65
65
|
this.columnDecoratorManager = new ColumnDecoratorManager(
|
|
@@ -78,7 +78,7 @@ export abstract class BaseFieldManagerForEntity implements FieldManager {
|
|
|
78
78
|
this.manyToOneDecoratorManager = new ManyToOneDecoratorManager(
|
|
79
79
|
{
|
|
80
80
|
isManyToOne: this.isManyToOne(),
|
|
81
|
-
|
|
81
|
+
relationCoModelSingularName: this.field.relationCoModelSingularName,
|
|
82
82
|
relationCascade: this.field.relationCascade,
|
|
83
83
|
required: this.field.required,
|
|
84
84
|
source: this.source,
|
|
@@ -94,15 +94,14 @@ export abstract class BaseFieldManagerForEntity implements FieldManager {
|
|
|
94
94
|
source: this.source,
|
|
95
95
|
field: this.field,
|
|
96
96
|
fieldName: this.fieldName(),
|
|
97
|
-
|
|
97
|
+
relationCoModelColumnName: this.field.relationCoModelColumnName
|
|
98
98
|
},
|
|
99
99
|
);
|
|
100
100
|
this.manyToManyDecoratorManager = new ManyToManyDecoratorManager(
|
|
101
101
|
{
|
|
102
102
|
isManyToMany: this.isManyToMany(),
|
|
103
|
-
relationModelName: this.field.
|
|
104
|
-
relationInverseFieldName: this.field.
|
|
105
|
-
relationCascade: this.field.relationCascade,
|
|
103
|
+
relationModelName: this.field.relationCoModelSingularName,
|
|
104
|
+
relationInverseFieldName: this.field.relationCoModelFieldName,
|
|
106
105
|
owner: this.field.isRelationManyToManyOwner,
|
|
107
106
|
source: this.source,
|
|
108
107
|
field: this.field,
|
|
@@ -118,18 +117,17 @@ export abstract class BaseFieldManagerForEntity implements FieldManager {
|
|
|
118
117
|
fieldName: this.fieldName(),
|
|
119
118
|
modelName: this.modelName,
|
|
120
119
|
relationJoinTableName: this.field.relationJoinTableName,
|
|
121
|
-
relationJoinColumnName: this.field.
|
|
122
|
-
joinColumnName: this.
|
|
120
|
+
relationJoinColumnName: this.field.relationCoModelColumnName,
|
|
121
|
+
joinColumnName: this.field.columnName
|
|
123
122
|
},
|
|
124
123
|
);
|
|
125
124
|
this.uniqueIndexDecoratorManager = new UniqueIndexDecoratorManager(
|
|
126
|
-
{ unique: this.field.unique, fieldName: this.fieldName(), source: this.source, field: this.field },
|
|
125
|
+
{ unique: this.field.unique, fieldName: this.fieldName(), source: this.source, field: this.field, modelEnableSoftDelete: this.modelEnableSoftDelete},
|
|
127
126
|
this.getClassNode(this.modelName, this.source)
|
|
128
127
|
);
|
|
129
128
|
this.oneToManyDecoratorManager = new OneToManyDecoratorManager(
|
|
130
129
|
{
|
|
131
130
|
isOneToMany: this.isOneToMany(),
|
|
132
|
-
relationCascade: this.field.relationCascade,
|
|
133
131
|
source: this.source,
|
|
134
132
|
field: this.field,
|
|
135
133
|
fieldName: this.fieldName(),
|
|
@@ -457,7 +455,7 @@ export abstract class BaseFieldManagerForEntity implements FieldManager {
|
|
|
457
455
|
}
|
|
458
456
|
|
|
459
457
|
protected inverseRelationFieldName(): string {
|
|
460
|
-
return `${this.field.
|
|
458
|
+
return `${this.field.relationCoModelSingularName}s`;
|
|
461
459
|
}
|
|
462
460
|
|
|
463
461
|
|
|
@@ -6,12 +6,13 @@ export class BigIntFieldHandler implements FieldHandler {
|
|
|
6
6
|
entityFieldManager: FieldManager;
|
|
7
7
|
createDtoFieldManager: FieldManager;
|
|
8
8
|
updateDtoFieldManager: FieldManager;
|
|
9
|
-
constructor(tree: any, moduleName: string, modelName: string, field: any) {
|
|
9
|
+
constructor(tree: any, moduleName: string, modelName: string, field: any, modelEnableSoftDelete: any) {
|
|
10
10
|
this.entityFieldManager = new BigIntFieldManagerForEntity(
|
|
11
11
|
tree,
|
|
12
12
|
moduleName,
|
|
13
13
|
modelName,
|
|
14
14
|
field,
|
|
15
|
+
modelEnableSoftDelete
|
|
15
16
|
);
|
|
16
17
|
this.createDtoFieldManager = new BigIntFieldManagerForDto(
|
|
17
18
|
tree,
|
|
@@ -9,8 +9,8 @@ export class BigIntFieldManagerForEntity
|
|
|
9
9
|
{
|
|
10
10
|
source: ts.SourceFile;
|
|
11
11
|
|
|
12
|
-
constructor(tree: Tree, moduleName: string, modelName: string, field: any) {
|
|
13
|
-
super(tree, moduleName, modelName, field);
|
|
12
|
+
constructor(tree: Tree, moduleName: string, modelName: string, field: any, modelEnableSoftDelete: any) {
|
|
13
|
+
super(tree, moduleName, modelName, field, modelEnableSoftDelete);
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
fieldType(): FieldType {
|
|
@@ -6,12 +6,13 @@ export class BooleanFieldHandler implements FieldHandler {
|
|
|
6
6
|
entityFieldManager: FieldManager;
|
|
7
7
|
createDtoFieldManager: FieldManager;
|
|
8
8
|
updateDtoFieldManager: FieldManager
|
|
9
|
-
constructor(tree: any, moduleName: string, modelName: string, field: any) {
|
|
9
|
+
constructor(tree: any, moduleName: string, modelName: string, field: any, modelEnableSoftDelete: any) {
|
|
10
10
|
this.entityFieldManager = new BooleanFieldManagerForEntity(
|
|
11
11
|
tree,
|
|
12
12
|
moduleName,
|
|
13
13
|
modelName,
|
|
14
14
|
field,
|
|
15
|
+
modelEnableSoftDelete
|
|
15
16
|
);
|
|
16
17
|
this.createDtoFieldManager = new BooleanFieldManagerForDto(
|
|
17
18
|
tree,
|
|
@@ -9,8 +9,8 @@ export class BooleanFieldManagerForEntity
|
|
|
9
9
|
{
|
|
10
10
|
source: ts.SourceFile;
|
|
11
11
|
|
|
12
|
-
constructor(tree: Tree, moduleName: string, modelName: string, field: any) {
|
|
13
|
-
super(tree, moduleName, modelName, field);
|
|
12
|
+
constructor(tree: Tree, moduleName: string, modelName: string, field: any, modelEnableSoftDelete: any) {
|
|
13
|
+
super(tree, moduleName, modelName, field, modelEnableSoftDelete);
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
fieldType(): FieldType {
|
|
@@ -11,12 +11,14 @@ export class ComputedFieldHandler implements FieldHandler {
|
|
|
11
11
|
moduleName: string,
|
|
12
12
|
modelName: string,
|
|
13
13
|
field: string,
|
|
14
|
+
modelEnableSoftDelete: any
|
|
14
15
|
) {
|
|
15
16
|
this.entityFieldManager = new ComputedFieldManagerForEntity(
|
|
16
17
|
tree,
|
|
17
18
|
moduleName,
|
|
18
19
|
modelName,
|
|
19
20
|
field,
|
|
21
|
+
modelEnableSoftDelete,
|
|
20
22
|
);
|
|
21
23
|
//Instantiate the entity and dto source files
|
|
22
24
|
}
|
|
@@ -8,8 +8,8 @@ export class ComputedFieldManagerForEntity
|
|
|
8
8
|
implements FieldManager {
|
|
9
9
|
source: ts.SourceFile;
|
|
10
10
|
|
|
11
|
-
constructor(tree: Tree, moduleName: string, modelName: string, field: any) {
|
|
12
|
-
super(tree, moduleName, modelName, field);
|
|
11
|
+
constructor(tree: Tree, moduleName: string, modelName: string, field: any, modelEnableSoftDelete: any) {
|
|
12
|
+
super(tree, moduleName, modelName, field, modelEnableSoftDelete);
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
fieldType(): FieldType {
|
|
@@ -6,12 +6,13 @@ export class DateFieldHandler implements FieldHandler {
|
|
|
6
6
|
entityFieldManager: FieldManager;
|
|
7
7
|
createDtoFieldManager: FieldManager;
|
|
8
8
|
updateDtoFieldManager: FieldManager;
|
|
9
|
-
constructor(tree: any, moduleName: string, modelName: string, field: any) {
|
|
9
|
+
constructor(tree: any, moduleName: string, modelName: string, field: any, modelEnableSoftDelete: any) {
|
|
10
10
|
this.entityFieldManager = new DateFieldManagerForEntity(
|
|
11
11
|
tree,
|
|
12
12
|
moduleName,
|
|
13
13
|
modelName,
|
|
14
14
|
field,
|
|
15
|
+
modelEnableSoftDelete
|
|
15
16
|
);
|
|
16
17
|
this.createDtoFieldManager = new DateFieldManagerForDto(
|
|
17
18
|
tree,
|
|
@@ -8,8 +8,8 @@ export class DateFieldManagerForEntity
|
|
|
8
8
|
implements FieldManager {
|
|
9
9
|
source: ts.SourceFile;
|
|
10
10
|
|
|
11
|
-
constructor(tree: Tree, moduleName: string, modelName: string, field: any) {
|
|
12
|
-
super(tree, moduleName, modelName, field);
|
|
11
|
+
constructor(tree: Tree, moduleName: string, modelName: string, field: any, modelEnableSoftDelete: any) {
|
|
12
|
+
super(tree, moduleName, modelName, field, modelEnableSoftDelete);
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
fieldType(): FieldType {
|
|
@@ -6,12 +6,13 @@ export class DecimalFieldHandler implements FieldHandler {
|
|
|
6
6
|
entityFieldManager: FieldManager;
|
|
7
7
|
createDtoFieldManager: FieldManager;
|
|
8
8
|
updateDtoFieldManager: FieldManager;
|
|
9
|
-
constructor(tree: any, moduleName: string, modelName: string, field: any) {
|
|
9
|
+
constructor(tree: any, moduleName: string, modelName: string, field: any, modelEnableSoftDelete: any) {
|
|
10
10
|
this.entityFieldManager = new DecimalFieldManagerForEntity(
|
|
11
11
|
tree,
|
|
12
12
|
moduleName,
|
|
13
13
|
modelName,
|
|
14
14
|
field,
|
|
15
|
+
modelEnableSoftDelete
|
|
15
16
|
);
|
|
16
17
|
this.createDtoFieldManager = new DecimalFieldManagerForDto(
|
|
17
18
|
tree,
|
|
@@ -9,8 +9,8 @@ export class DecimalFieldManagerForEntity
|
|
|
9
9
|
{
|
|
10
10
|
source: ts.SourceFile;
|
|
11
11
|
|
|
12
|
-
constructor(tree: Tree, moduleName: string, modelName: string, field: any) {
|
|
13
|
-
super(tree, moduleName, modelName, field);
|
|
12
|
+
constructor(tree: Tree, moduleName: string, modelName: string, field: any, modelEnableSoftDelete: any) {
|
|
13
|
+
super(tree, moduleName, modelName, field, modelEnableSoftDelete);
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
fieldType(): FieldType {
|
|
@@ -13,12 +13,14 @@ export class EmailFieldHandler implements FieldHandler {
|
|
|
13
13
|
moduleName: string,
|
|
14
14
|
modelName: string,
|
|
15
15
|
field: string,
|
|
16
|
+
modelEnableSoftDelete: any
|
|
16
17
|
) {
|
|
17
18
|
this.entityFieldManager = new EmailFieldManagerForEntity(
|
|
18
19
|
tree,
|
|
19
20
|
moduleName,
|
|
20
21
|
modelName,
|
|
21
22
|
field,
|
|
23
|
+
modelEnableSoftDelete
|
|
22
24
|
);
|
|
23
25
|
this.createDtoFieldManager = new EmailFieldManagerForDto(
|
|
24
26
|
tree,
|
|
@@ -9,8 +9,8 @@ export class EmailFieldManagerForEntity
|
|
|
9
9
|
extends BaseFieldManagerForEntity
|
|
10
10
|
implements FieldManager {
|
|
11
11
|
source: ts.SourceFile;
|
|
12
|
-
constructor(tree: Tree, moduleName: string, modelName: string, field: any) {
|
|
13
|
-
super(tree, moduleName, modelName, field);
|
|
12
|
+
constructor(tree: Tree, moduleName: string, modelName: string, field: any, modelEnableSoftDelete: any) {
|
|
13
|
+
super(tree, moduleName, modelName, field, modelEnableSoftDelete);
|
|
14
14
|
|
|
15
15
|
}
|
|
16
16
|
|
|
@@ -7,12 +7,13 @@ export class IntFieldHandler implements FieldHandler {
|
|
|
7
7
|
createDtoFieldManager: FieldManager;
|
|
8
8
|
updateDtoFieldManager: FieldManager;
|
|
9
9
|
|
|
10
|
-
constructor(tree: any, moduleName: string, modelName: string, field: any) {
|
|
10
|
+
constructor(tree: any, moduleName: string, modelName: string, field: any, modelEnableSoftDelete: any) {
|
|
11
11
|
this.entityFieldManager = new IntFieldManagerForEntity(
|
|
12
12
|
tree,
|
|
13
13
|
moduleName,
|
|
14
14
|
modelName,
|
|
15
15
|
field,
|
|
16
|
+
modelEnableSoftDelete
|
|
16
17
|
);
|
|
17
18
|
this.createDtoFieldManager = new IntFieldManagerForDto(
|
|
18
19
|
tree,
|
|
@@ -10,8 +10,8 @@ export class IntFieldManagerForEntity
|
|
|
10
10
|
{
|
|
11
11
|
source: ts.SourceFile;
|
|
12
12
|
|
|
13
|
-
constructor(tree: Tree, moduleName: string, modelName: string, field: any) {
|
|
14
|
-
super(tree, moduleName, modelName, field);
|
|
13
|
+
constructor(tree: Tree, moduleName: string, modelName: string, field: any, modelEnableSoftDelete: any) {
|
|
14
|
+
super(tree, moduleName, modelName, field, modelEnableSoftDelete);
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
fieldType(): FieldType {
|
|
@@ -13,12 +13,14 @@ export class JsonFieldHandler implements FieldHandler {
|
|
|
13
13
|
moduleName: string,
|
|
14
14
|
modelName: string,
|
|
15
15
|
field: string,
|
|
16
|
+
modelEnableSoftDelete: any
|
|
16
17
|
) {
|
|
17
18
|
this.entityFieldManager = new JsonFieldManagerForEntity(
|
|
18
19
|
tree,
|
|
19
20
|
moduleName,
|
|
20
21
|
modelName,
|
|
21
22
|
field,
|
|
23
|
+
modelEnableSoftDelete
|
|
22
24
|
);
|
|
23
25
|
this.createDtoFieldManager = new JsonFieldManagerForDto(
|
|
24
26
|
tree,
|
|
@@ -8,8 +8,8 @@ export class JsonFieldManagerForEntity
|
|
|
8
8
|
implements FieldManager {
|
|
9
9
|
source: ts.SourceFile;
|
|
10
10
|
|
|
11
|
-
constructor(tree: Tree, moduleName: string, modelName: string, field: any) {
|
|
12
|
-
super(tree, moduleName, modelName, field);
|
|
11
|
+
constructor(tree: Tree, moduleName: string, modelName: string, field: any, modelEnableSoftDelete: any) {
|
|
12
|
+
super(tree, moduleName, modelName, field, modelEnableSoftDelete);
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
fieldType(): FieldType {
|
|
@@ -13,12 +13,14 @@ export class LongTextFieldHandler implements FieldHandler {
|
|
|
13
13
|
moduleName: string,
|
|
14
14
|
modelName: string,
|
|
15
15
|
field: string,
|
|
16
|
+
modelEnableSoftDelete: any
|
|
16
17
|
) {
|
|
17
18
|
this.entityFieldManager = new LongTextFieldManagerForEntity(
|
|
18
19
|
tree,
|
|
19
20
|
moduleName,
|
|
20
21
|
modelName,
|
|
21
22
|
field,
|
|
23
|
+
modelEnableSoftDelete
|
|
22
24
|
);
|
|
23
25
|
this.createDtoFieldManager = new LongTextFieldManagerForDto(
|
|
24
26
|
tree,
|
package/src/code-builder/lib/field/field-managers/long-text/LongTextFieldManagerForEntity.ts
CHANGED
|
@@ -10,8 +10,8 @@ export class LongTextFieldManagerForEntity
|
|
|
10
10
|
{
|
|
11
11
|
source: ts.SourceFile;
|
|
12
12
|
|
|
13
|
-
constructor(tree: Tree, moduleName: string, modelName: string, field: any) {
|
|
14
|
-
super(tree, moduleName, modelName, field);
|
|
13
|
+
constructor(tree: Tree, moduleName: string, modelName: string, field: any, modelEnableSoftDelete: any) {
|
|
14
|
+
super(tree, moduleName, modelName, field, modelEnableSoftDelete);
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
fieldType(): FieldType {
|
|
@@ -13,12 +13,14 @@ export class PasswordFieldHandler implements FieldHandler {
|
|
|
13
13
|
moduleName: string,
|
|
14
14
|
modelName: string,
|
|
15
15
|
field: string,
|
|
16
|
+
modelEnableSoftDelete: any
|
|
16
17
|
) {
|
|
17
18
|
this.entityFieldManager = new PasswordFieldManagerForEntity(
|
|
18
19
|
tree,
|
|
19
20
|
moduleName,
|
|
20
21
|
modelName,
|
|
21
22
|
field,
|
|
23
|
+
modelEnableSoftDelete
|
|
22
24
|
);
|
|
23
25
|
this.createDtoFieldManager = new PasswordFieldManagerForDto(
|
|
24
26
|
tree,
|
|
@@ -7,8 +7,8 @@ export class PasswordFieldManagerForEntity
|
|
|
7
7
|
extends BaseFieldManagerForEntity
|
|
8
8
|
implements FieldManager {
|
|
9
9
|
source: ts.SourceFile;
|
|
10
|
-
constructor(tree: Tree, moduleName: string, modelName: string, field: any) {
|
|
11
|
-
super(tree, moduleName, modelName, field);
|
|
10
|
+
constructor(tree: Tree, moduleName: string, modelName: string, field: any, modelEnableSoftDelete: any) {
|
|
11
|
+
super(tree, moduleName, modelName, field, modelEnableSoftDelete);
|
|
12
12
|
|
|
13
13
|
}
|
|
14
14
|
|
package/src/code-builder/lib/field/field-managers/relation/ManyToManyInverseRelationFieldHandler.ts
CHANGED
|
@@ -7,12 +7,13 @@ export class ManyToManyInverseRelationFieldHandler implements FieldHandler {
|
|
|
7
7
|
entityFieldManager: FieldManager;
|
|
8
8
|
createDtoFieldManager: FieldManager;
|
|
9
9
|
updateDtoFieldManager: FieldManager;
|
|
10
|
-
constructor(tree: any, moduleName: string, modelName: string, field: any) {
|
|
10
|
+
constructor(tree: any, moduleName: string, modelName: string, field: any, modelEnableSoftDelete: any) {
|
|
11
11
|
this.entityFieldManager = new ManyToManyInverseRelationFieldManagerForEntity(
|
|
12
12
|
tree,
|
|
13
13
|
moduleName,
|
|
14
14
|
modelName,
|
|
15
15
|
field,
|
|
16
|
+
modelEnableSoftDelete
|
|
16
17
|
);
|
|
17
18
|
this.createDtoFieldManager = new ManyToManyInverseRelationFieldManagerForDto(
|
|
18
19
|
tree,
|
package/src/code-builder/lib/field/field-managers/relation/ManyToManyRelationFieldHandler.ts
CHANGED
|
@@ -6,12 +6,13 @@ export class ManyToManyRelationFieldHandler implements FieldHandler {
|
|
|
6
6
|
entityFieldManager: FieldManager;
|
|
7
7
|
createDtoFieldManager: FieldManager;
|
|
8
8
|
updateDtoFieldManager: FieldManager;
|
|
9
|
-
constructor(tree: any, moduleName: string, modelName: string, field: any) {
|
|
9
|
+
constructor(tree: any, moduleName: string, modelName: string, field: any, modelEnableSoftDelete: any) {
|
|
10
10
|
this.entityFieldManager = new ManyToManyRelationFieldManagerForEntity(
|
|
11
11
|
tree,
|
|
12
12
|
moduleName,
|
|
13
13
|
modelName,
|
|
14
14
|
field,
|
|
15
|
+
modelEnableSoftDelete
|
|
15
16
|
);
|
|
16
17
|
this.createDtoFieldManager = new ManyToManyRelationFieldManagerForDto(
|
|
17
18
|
tree,
|