@solidstarters/solid-code-builder 1.0.13 → 1.0.14
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/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/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 -10
- 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/ManyToOneDecoratorManager.ts +3 -3
- 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 -10
- 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
|
@@ -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,14 +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.
|
|
103
|
+
relationModelName: this.field.relationCoModelSingularName,
|
|
104
|
+
relationInverseFieldName: this.field.relationCoModelFieldName,
|
|
105
105
|
relationCascade: this.field.relationCascade,
|
|
106
106
|
owner: this.field.isRelationManyToManyOwner,
|
|
107
107
|
source: this.source,
|
|
@@ -118,12 +118,12 @@ export abstract class BaseFieldManagerForEntity implements FieldManager {
|
|
|
118
118
|
fieldName: this.fieldName(),
|
|
119
119
|
modelName: this.modelName,
|
|
120
120
|
relationJoinTableName: this.field.relationJoinTableName,
|
|
121
|
-
relationJoinColumnName: this.field.
|
|
122
|
-
joinColumnName: this.
|
|
121
|
+
relationJoinColumnName: this.field.relationCoModelColumnName,
|
|
122
|
+
joinColumnName: this.field.columnName
|
|
123
123
|
},
|
|
124
124
|
);
|
|
125
125
|
this.uniqueIndexDecoratorManager = new UniqueIndexDecoratorManager(
|
|
126
|
-
{ unique: this.field.unique, fieldName: this.fieldName(), source: this.source, field: this.field },
|
|
126
|
+
{ unique: this.field.unique, fieldName: this.fieldName(), source: this.source, field: this.field, modelEnableSoftDelete: this.modelEnableSoftDelete},
|
|
127
127
|
this.getClassNode(this.modelName, this.source)
|
|
128
128
|
);
|
|
129
129
|
this.oneToManyDecoratorManager = new OneToManyDecoratorManager(
|
|
@@ -457,7 +457,7 @@ export abstract class BaseFieldManagerForEntity implements FieldManager {
|
|
|
457
457
|
}
|
|
458
458
|
|
|
459
459
|
protected inverseRelationFieldName(): string {
|
|
460
|
-
return `${this.field.
|
|
460
|
+
return `${this.field.relationCoModelSingularName}s`;
|
|
461
461
|
}
|
|
462
462
|
|
|
463
463
|
|
|
@@ -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,
|
package/src/code-builder/lib/field/field-managers/relation/ManyToManyRelationFieldManagerForDto.ts
CHANGED
|
@@ -8,6 +8,7 @@ import { StringDecoratorManager } from '../../decorator-managers/dto/StringDecor
|
|
|
8
8
|
import { TransformDecoratorManager } from '../../decorator-managers/dto/TransformDecoratorManager';
|
|
9
9
|
import { DecoratorType, FieldChange, FieldManager, FieldType, ManagerForDtoOptions, safeInsertImport } from '../../FieldManager';
|
|
10
10
|
import { BaseFieldManagerForDto } from '../base/BaseFieldManagerForDto';
|
|
11
|
+
import { ApiPropertyDecoratorManager } from '../../decorator-managers/dto/ApiPropertyDecoratorManager';
|
|
11
12
|
|
|
12
13
|
export class ManyToManyRelationFieldManagerForDto
|
|
13
14
|
extends BaseFieldManagerForDto
|
|
@@ -28,7 +29,7 @@ export class ManyToManyRelationFieldManagerForDto
|
|
|
28
29
|
DecoratorType.ValidateNested,
|
|
29
30
|
)];
|
|
30
31
|
this.decoratorManagers.push(
|
|
31
|
-
new TransformDecoratorManager({ isTransform: true, type: this.transformType(this.field.
|
|
32
|
+
new TransformDecoratorManager({ isTransform: true, type: this.transformType(this.field.relationCoModelSingularName), source: this.source, field: field })
|
|
32
33
|
);
|
|
33
34
|
|
|
34
35
|
}
|
|
@@ -66,7 +67,7 @@ export class ManyToManyRelationFieldManagerForDto
|
|
|
66
67
|
|
|
67
68
|
// This is the field type of the owner in the m2m relation
|
|
68
69
|
fieldType(): FieldType {
|
|
69
|
-
return this.manyToManyFieldType(this.field.
|
|
70
|
+
return this.manyToManyFieldType(this.field.relationCoModelSingularName)
|
|
70
71
|
}
|
|
71
72
|
|
|
72
73
|
private transformType(forModelName: string): string {
|
|
@@ -106,7 +107,8 @@ export class ManyToManyRelationFieldManagerForDto
|
|
|
106
107
|
const modelName = this.modelName
|
|
107
108
|
const decoratorManagers = [
|
|
108
109
|
new OptionalDecoratorManager({ isApplyOptional: true, optional: true, source: source, field: field }),
|
|
109
|
-
new ArrayDecoratorManager({ isArray: true, source: source, field: field })
|
|
110
|
+
new ArrayDecoratorManager({ isArray: true, source: source, field: field }),
|
|
111
|
+
new ApiPropertyDecoratorManager({isApplyApiProperty: true, source: source, field: field})
|
|
110
112
|
]
|
|
111
113
|
|
|
112
114
|
return this.addFieldInternal(fieldName, fieldType, decoratorManagers, field, modelName, source);
|
|
@@ -121,6 +123,7 @@ export class ManyToManyRelationFieldManagerForDto
|
|
|
121
123
|
const decoratorManagers = [
|
|
122
124
|
new StringDecoratorManager({ isString: true, source: source, field: field }),
|
|
123
125
|
new OptionalDecoratorManager({ isApplyOptional: true, optional: true, source: source, field: field }),
|
|
126
|
+
new ApiPropertyDecoratorManager({isApplyApiProperty: true, source: source, field: field})
|
|
124
127
|
// TODO pending @IsEnum(RelationFieldsCommand)
|
|
125
128
|
]
|
|
126
129
|
|
|
@@ -176,7 +179,8 @@ export class ManyToManyRelationFieldManagerForDto
|
|
|
176
179
|
const fieldType = ts.factory.createArrayTypeNode(ts.factory.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword));
|
|
177
180
|
const decoratorManagers = [
|
|
178
181
|
new OptionalDecoratorManager({ isApplyOptional: true, optional: true, source: source, field: field }),
|
|
179
|
-
new ArrayDecoratorManager({ isArray: true, source: source, field: field })
|
|
182
|
+
new ArrayDecoratorManager({ isArray: true, source: source, field: field }),
|
|
183
|
+
new ApiPropertyDecoratorManager({isApplyApiProperty: true, source: source, field: field})
|
|
180
184
|
];
|
|
181
185
|
return this.updateFieldInternal(idsFieldName, fieldType, decoratorManagers, field, source);
|
|
182
186
|
}
|
|
@@ -203,6 +207,7 @@ export class ManyToManyRelationFieldManagerForDto
|
|
|
203
207
|
const decoratorManagers = [
|
|
204
208
|
new StringDecoratorManager({ isString: true, source: source, field: field }),
|
|
205
209
|
new OptionalDecoratorManager({ isApplyOptional: true, optional: true, source: source, field: field }),
|
|
210
|
+
new ApiPropertyDecoratorManager({isApplyApiProperty: true, source: source, field: field})
|
|
206
211
|
// TODO pending @IsEnum(RelationFieldsCommand)
|
|
207
212
|
];
|
|
208
213
|
return this.updateFieldInternal(commandFieldName, fieldType, decoratorManagers, field, source);
|
|
@@ -242,7 +247,7 @@ export class ManyToManyRelationFieldManagerForDto
|
|
|
242
247
|
|
|
243
248
|
override addField(): FieldChange[] {
|
|
244
249
|
const fieldChanges: FieldChange[] = super.addField();
|
|
245
|
-
if (fieldChanges.length > 0 && this.modelName !== this.field.
|
|
250
|
+
if (fieldChanges.length > 0 && this.modelName !== this.field.relationCoModelSingularName) {
|
|
246
251
|
const mainField = fieldChanges[0];
|
|
247
252
|
mainField.changes.push(this.relatedFieldImport());
|
|
248
253
|
}
|
|
@@ -257,7 +262,7 @@ export class ManyToManyRelationFieldManagerForDto
|
|
|
257
262
|
// if (containsAddFieldChanges) return fieldChanges;
|
|
258
263
|
|
|
259
264
|
//This line is required to add import changes in the update context
|
|
260
|
-
// if (fieldChanges.length > 0 && this.modelName !== this.field.
|
|
265
|
+
// if (fieldChanges.length > 0 && this.modelName !== this.field.relationCoModelSingularName) {
|
|
261
266
|
const mainField = fieldChanges[0];
|
|
262
267
|
mainField.changes.push(this.relatedFieldImport());
|
|
263
268
|
// }
|
|
@@ -265,9 +270,9 @@ export class ManyToManyRelationFieldManagerForDto
|
|
|
265
270
|
}
|
|
266
271
|
|
|
267
272
|
relatedFieldImport(): Change {
|
|
268
|
-
const relatedEntityImportName = `update-${dasherize(this.field.
|
|
273
|
+
const relatedEntityImportName = `update-${dasherize(this.field.relationCoModelSingularName)}.dto`;
|
|
269
274
|
const relatedEntityPath = this.field.relationModelModuleName ? `src/${this.field.relationModelModuleName}/dtos/${relatedEntityImportName}` : `./${relatedEntityImportName}`;
|
|
270
|
-
return safeInsertImport(this.source, `Update${classify(this.field.
|
|
271
|
-
// return insertImport(this.source, this.source.fileName, `Update${classify(this.field.
|
|
275
|
+
return safeInsertImport(this.source, `Update${classify(this.field.relationCoModelSingularName)}Dto`, relatedEntityPath, this.moduleName);
|
|
276
|
+
// return insertImport(this.source, this.source.fileName, `Update${classify(this.field.relationCoModelSingularName)}Dto`, relatedEntityPath);
|
|
272
277
|
} //Uncomment this method while implementing many-to-many relation changes
|
|
273
278
|
}
|
|
@@ -19,7 +19,7 @@ export class ManyToManyRelationFieldManagerForEntity
|
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
private manyToManyFieldType(): FieldType {
|
|
22
|
-
const type = `${classify(this.field.
|
|
22
|
+
const type = `${classify(this.field.relationCoModelSingularName)}`
|
|
23
23
|
const text = `${type}[]`
|
|
24
24
|
return {
|
|
25
25
|
text: text,
|
|
@@ -34,7 +34,7 @@ export class ManyToManyRelationFieldManagerForEntity
|
|
|
34
34
|
|
|
35
35
|
override addField(): FieldChange[] {
|
|
36
36
|
const fieldChanges = super.addField();
|
|
37
|
-
if (fieldChanges.length > 0 && this.modelName !== this.field.
|
|
37
|
+
if (fieldChanges.length > 0 && this.modelName !== this.field.relationCoModelSingularName) {
|
|
38
38
|
const mainField = fieldChanges[0]; // The 1st field change is the main field change, related to the entity source file
|
|
39
39
|
mainField.changes.push(this.relatedFieldImport());
|
|
40
40
|
}
|
|
@@ -43,7 +43,7 @@ export class ManyToManyRelationFieldManagerForEntity
|
|
|
43
43
|
|
|
44
44
|
override updateField(): FieldChange[] {
|
|
45
45
|
const fieldChanges = super.updateField();
|
|
46
|
-
if (fieldChanges.length > 0 && this.modelName !== this.field.
|
|
46
|
+
if (fieldChanges.length > 0 && this.modelName !== this.field.relationCoModelSingularName) {
|
|
47
47
|
const mainField = fieldChanges[0]; // The 1st field change is the main field change, related to the entity source file
|
|
48
48
|
mainField.changes.push(this.relatedFieldImport());
|
|
49
49
|
}
|
|
@@ -51,9 +51,9 @@ export class ManyToManyRelationFieldManagerForEntity
|
|
|
51
51
|
}
|
|
52
52
|
|
|
53
53
|
relatedFieldImport(): Change {
|
|
54
|
-
const relatedEntityImportName = `${dasherize(this.field.
|
|
54
|
+
const relatedEntityImportName = `${dasherize(this.field.relationCoModelSingularName)}.entity`;
|
|
55
55
|
const relatedEntityPath = this.field.relationModelModuleName ? `src/${dasherize(this.field.relationModelModuleName)}/entities/${relatedEntityImportName}` : `./${relatedEntityImportName}`;
|
|
56
|
-
return safeInsertImport(this.source, classify(this.field.
|
|
56
|
+
return safeInsertImport(this.source, classify(this.field.relationCoModelSingularName), relatedEntityPath, this.moduleName);
|
|
57
57
|
}
|
|
58
58
|
|
|
59
59
|
}
|
|
@@ -7,12 +7,13 @@ export class ManyToOneRelationFieldHandler 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 ManyToOneRelationFieldManagerForEntity(
|
|
12
12
|
tree,
|
|
13
13
|
moduleName,
|
|
14
14
|
modelName,
|
|
15
15
|
field,
|
|
16
|
+
modelEnableSoftDelete
|
|
16
17
|
);
|
|
17
18
|
this.createDtoFieldManager = new ManyToOneRelationFieldManagerForDto(
|
|
18
19
|
tree,
|
package/src/code-builder/lib/field/field-managers/relation/ManyToOneRelationFieldManagerForDto.ts
CHANGED
|
@@ -4,6 +4,7 @@ import { OptionalDecoratorManager } from '../../decorator-managers/dto/OptionalD
|
|
|
4
4
|
import { StringDecoratorManager } from '../../decorator-managers/dto/StringDecoratorManager';
|
|
5
5
|
import { FieldChange, FieldManager, FieldType, ManagerForDtoOptions } from '../../FieldManager';
|
|
6
6
|
import { BaseFieldManagerForDto } from '../base/BaseFieldManagerForDto';
|
|
7
|
+
import { ApiPropertyDecoratorManager } from '../../decorator-managers/dto/ApiPropertyDecoratorManager';
|
|
7
8
|
|
|
8
9
|
export class ManyToOneRelationFieldManagerForDto
|
|
9
10
|
extends BaseFieldManagerForDto
|
|
@@ -79,6 +80,7 @@ export class ManyToOneRelationFieldManagerForDto
|
|
|
79
80
|
const decoratorManagers = [
|
|
80
81
|
new StringDecoratorManager({ isString: true, source: source, field: field }),
|
|
81
82
|
new OptionalDecoratorManager({ isApplyOptional: true, optional: true, source: source, field: field }),
|
|
83
|
+
new ApiPropertyDecoratorManager({isApplyApiProperty: true, source: source, field: field})
|
|
82
84
|
];
|
|
83
85
|
|
|
84
86
|
const fieldChange = this.addFieldInternal(fieldName, fieldType, decoratorManagers, field, modelName, source);
|
|
@@ -103,6 +105,7 @@ export class ManyToOneRelationFieldManagerForDto
|
|
|
103
105
|
const decoratorManagers = [
|
|
104
106
|
new StringDecoratorManager({ isString: true, source: source, field: field }),
|
|
105
107
|
new OptionalDecoratorManager({ isApplyOptional: true, optional: true, source: source, field: field }),
|
|
108
|
+
new ApiPropertyDecoratorManager({isApplyApiProperty: true, source: source, field: field})
|
|
106
109
|
// TODO pending @IsEnum(RelationFieldsCommand)
|
|
107
110
|
]
|
|
108
111
|
|
package/src/code-builder/lib/field/field-managers/relation/ManyToOneRelationFieldManagerForEntity.ts
CHANGED
|
@@ -16,10 +16,10 @@ export class ManyToOneRelationFieldManagerForEntity
|
|
|
16
16
|
|
|
17
17
|
private manyToOneFieldType(): FieldType {
|
|
18
18
|
return {
|
|
19
|
-
text: classify(this.field.
|
|
19
|
+
text: classify(this.field.relationCoModelSingularName),
|
|
20
20
|
node: (field: any) => ts.factory.createTypeReferenceNode(
|
|
21
21
|
ts.factory.createIdentifier(
|
|
22
|
-
classify(field.
|
|
22
|
+
classify(field.relationCoModelSingularName)
|
|
23
23
|
),
|
|
24
24
|
undefined
|
|
25
25
|
),
|
|
@@ -28,7 +28,7 @@ export class ManyToOneRelationFieldManagerForEntity
|
|
|
28
28
|
|
|
29
29
|
override addField(): FieldChange[] {
|
|
30
30
|
const fieldChanges = super.addField();
|
|
31
|
-
if (fieldChanges.length > 0 && this.modelName !== this.field.
|
|
31
|
+
if (fieldChanges.length > 0 && this.modelName !== this.field.relationCoModelSingularName) {
|
|
32
32
|
const mainField = fieldChanges[0]; // The 1st field change is the main field change, related to the entity source file
|
|
33
33
|
mainField.changes.push(this.relatedFieldImport());
|
|
34
34
|
}
|
|
@@ -37,7 +37,7 @@ export class ManyToOneRelationFieldManagerForEntity
|
|
|
37
37
|
|
|
38
38
|
override updateField(): FieldChange[] {
|
|
39
39
|
const fieldChanges = super.updateField();
|
|
40
|
-
if (fieldChanges.length > 0 && this.modelName !== this.field.
|
|
40
|
+
if (fieldChanges.length > 0 && this.modelName !== this.field.relationCoModelSingularName) {
|
|
41
41
|
const mainField = fieldChanges[0]; // The 1st field change is the main field change, related to the entity source file
|
|
42
42
|
mainField.changes.push(this.relatedFieldImport());
|
|
43
43
|
}
|
|
@@ -45,9 +45,9 @@ export class ManyToOneRelationFieldManagerForEntity
|
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
relatedFieldImport(): Change {
|
|
48
|
-
const relatedEntityImportName = `${dasherize(this.field.
|
|
48
|
+
const relatedEntityImportName = `${dasherize(this.field.relationCoModelSingularName)}.entity`;
|
|
49
49
|
const relatedEntityPath = this.field.relationModelModuleName ? `src/${dasherize(this.field.relationModelModuleName)}/entities/${relatedEntityImportName}` : `./${relatedEntityImportName}`;
|
|
50
|
-
return safeInsertImport(this.source, classify(this.field.
|
|
50
|
+
return safeInsertImport(this.source, classify(this.field.relationCoModelSingularName), relatedEntityPath, this.moduleName);
|
|
51
51
|
}
|
|
52
52
|
|
|
53
53
|
|
|
@@ -7,12 +7,13 @@ export class OneToManyRelationFieldHandler 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 OneToManyRelationFieldManagerForEntity(
|
|
12
12
|
tree,
|
|
13
13
|
moduleName,
|
|
14
14
|
modelName,
|
|
15
15
|
field,
|
|
16
|
+
modelEnableSoftDelete
|
|
16
17
|
);
|
|
17
18
|
this.createDtoFieldManager = new OneToManyRelationFieldManagerForDto(
|
|
18
19
|
tree,
|