@solidstarters/solid-code-builder 1.0.31 → 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.
Files changed (56) hide show
  1. package/dist/code-builder/index.d.ts +0 -4
  2. package/dist/code-builder/index.js +3 -4
  3. package/dist/code-builder/index.js.map +1 -1
  4. package/dist/code-builder/lib/field/FieldManager.d.ts +2 -1
  5. package/dist/code-builder/lib/field/FieldManager.js +3 -3
  6. package/dist/code-builder/lib/field/FieldManager.js.map +1 -1
  7. package/dist/code-builder/lib/field/db-helpers.d.ts +5 -0
  8. package/dist/code-builder/lib/field/db-helpers.js +22 -0
  9. package/dist/code-builder/lib/field/db-helpers.js.map +1 -0
  10. package/dist/code-builder/lib/field/decorator-managers/dto/RegexDecoratorManager.d.ts +1 -0
  11. package/dist/code-builder/lib/field/decorator-managers/dto/RegexDecoratorManager.js +7 -1
  12. package/dist/code-builder/lib/field/decorator-managers/dto/RegexDecoratorManager.js.map +1 -1
  13. package/dist/code-builder/lib/field/decorator-managers/entity/ColumnDecoratorManager.d.ts +1 -2
  14. package/dist/code-builder/lib/field/decorator-managers/entity/PrimaryColumnDecoratorManager.d.ts +11 -0
  15. package/dist/code-builder/lib/field/decorator-managers/entity/PrimaryColumnDecoratorManager.js +16 -0
  16. package/dist/code-builder/lib/field/decorator-managers/entity/PrimaryColumnDecoratorManager.js.map +1 -0
  17. package/dist/code-builder/lib/field/field-managers/base/BaseFieldManagerForDto.js +1 -1
  18. package/dist/code-builder/lib/field/field-managers/base/BaseFieldManagerForDto.js.map +1 -1
  19. package/dist/code-builder/lib/field/field-managers/base/BaseFieldManagerForEntity.d.ts +6 -1
  20. package/dist/code-builder/lib/field/field-managers/base/BaseFieldManagerForEntity.js +18 -3
  21. package/dist/code-builder/lib/field/field-managers/base/BaseFieldManagerForEntity.js.map +1 -1
  22. package/dist/code-builder/lib/field/field-managers/long-text/LongTextFieldHandler.d.ts +2 -1
  23. package/dist/code-builder/lib/field/field-managers/long-text/LongTextFieldHandler.js +2 -2
  24. package/dist/code-builder/lib/field/field-managers/long-text/LongTextFieldHandler.js.map +1 -1
  25. package/dist/code-builder/lib/field/field-managers/long-text/LongTextFieldManagerForEntity.d.ts +2 -1
  26. package/dist/code-builder/lib/field/field-managers/long-text/LongTextFieldManagerForEntity.js +22 -2
  27. package/dist/code-builder/lib/field/field-managers/long-text/LongTextFieldManagerForEntity.js.map +1 -1
  28. package/dist/code-builder/lib/field/field-managers/rich-text/RichTextFieldHandler.d.ts +2 -1
  29. package/dist/code-builder/lib/field/field-managers/rich-text/RichTextFieldHandler.js +2 -2
  30. package/dist/code-builder/lib/field/field-managers/rich-text/RichTextFieldHandler.js.map +1 -1
  31. package/dist/code-builder/lib/field/field-managers/rich-text/RichTextFieldManagerForEntity.d.ts +2 -1
  32. package/dist/code-builder/lib/field/field-managers/rich-text/RichTextFieldManagerForEntity.js +21 -2
  33. package/dist/code-builder/lib/field/field-managers/rich-text/RichTextFieldManagerForEntity.js.map +1 -1
  34. package/dist/code-builder/lib/model/helpers.d.ts +1 -1
  35. package/dist/code-builder/lib/model/helpers.js +4 -4
  36. package/dist/code-builder/lib/model/helpers.js.map +1 -1
  37. package/dist/code-builder/lib/model/refresh-model.schema.json +15 -0
  38. package/dist/files/generate-model/entities/__model@dasherize__.entity.ts +2 -2
  39. package/dist/files/generate-model/repositories/__model@dasherize__.repository.ts +2 -0
  40. package/files/generate-model/entities/__model@dasherize__.entity.ts +2 -2
  41. package/files/generate-model/repositories/__model@dasherize__.repository.ts +2 -0
  42. package/package.json +1 -1
  43. package/src/code-builder/index.ts +8 -5
  44. package/src/code-builder/lib/field/FieldManager.ts +4 -2
  45. package/src/code-builder/lib/field/db-helpers.ts +22 -0
  46. package/src/code-builder/lib/field/decorator-managers/dto/RegexDecoratorManager.ts +7 -1
  47. package/src/code-builder/lib/field/decorator-managers/entity/ColumnDecoratorManager.ts +1 -1
  48. package/src/code-builder/lib/field/decorator-managers/entity/PrimaryColumnDecoratorManager.ts +18 -0
  49. package/src/code-builder/lib/field/field-managers/base/BaseFieldManagerForDto.ts +1 -1
  50. package/src/code-builder/lib/field/field-managers/base/BaseFieldManagerForEntity.ts +24 -3
  51. package/src/code-builder/lib/field/field-managers/long-text/LongTextFieldHandler.ts +5 -2
  52. package/src/code-builder/lib/field/field-managers/long-text/LongTextFieldManagerForEntity.ts +36 -6
  53. package/src/code-builder/lib/field/field-managers/rich-text/RichTextFieldHandler.ts +5 -2
  54. package/src/code-builder/lib/field/field-managers/rich-text/RichTextFieldManagerForEntity.ts +33 -6
  55. package/src/code-builder/lib/model/helpers.ts +5 -3
  56. package/src/code-builder/lib/model/refresh-model.schema.json +15 -0
@@ -6,10 +6,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.LongTextFieldManagerForEntity = void 0;
7
7
  const typescript_1 = __importDefault(require("@schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript"));
8
8
  const BaseFieldManagerForEntity_1 = require("../base/BaseFieldManagerForEntity");
9
+ const db_helpers_1 = require("../../db-helpers");
9
10
  //FIXME Implementation pending
10
11
  class LongTextFieldManagerForEntity extends BaseFieldManagerForEntity_1.BaseFieldManagerForEntity {
11
- constructor(tree, moduleName, modelName, field, modelEnableSoftDelete) {
12
- super(tree, moduleName, modelName, field, modelEnableSoftDelete);
12
+ constructor(tree, moduleName, modelName, field, modelEnableSoftDelete, dataSourceType) {
13
+ super(tree, moduleName, modelName, field, modelEnableSoftDelete, dataSourceType);
13
14
  }
14
15
  fieldType() {
15
16
  return {
@@ -20,12 +21,31 @@ class LongTextFieldManagerForEntity extends BaseFieldManagerForEntity_1.BaseFiel
20
21
  additionalColumnDecoratorOptions() {
21
22
  var _a, _b;
22
23
  const options = new Map();
24
+ //console.log(`Configuring LongText field with max length ${this.field.max} for database ${this.dataSourceType}`);
25
+ if (this.field.max) {
26
+ options.set('length', (0, db_helpers_1.transformColumnOptionForDatabase)('length', this.field.max, this.field.ormType, this.dataSourceType));
27
+ }
23
28
  options.set('default', (_b = (_a = this.defaultValueInitializer(this.field.defaultValue)) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : null);
24
29
  return options;
25
30
  }
26
31
  additionalColumnDecoratorOptionExpressions() {
27
32
  var _a, _b;
28
33
  const options = new Map();
34
+ if (this.field.max) {
35
+ const lengthValue = (0, db_helpers_1.transformColumnOptionForDatabase)('length', this.field.max, this.field.ormType, this.dataSourceType);
36
+ if (typeof lengthValue === 'number') {
37
+ options.set('length', typescript_1.default.factory.createNumericLiteral(lengthValue));
38
+ }
39
+ else if (typeof lengthValue === 'string') {
40
+ options.set('length', typescript_1.default.factory.createStringLiteral(lengthValue));
41
+ }
42
+ else {
43
+ options.set('length', null);
44
+ }
45
+ }
46
+ else {
47
+ options.set('length', null);
48
+ }
29
49
  options.set('default', (_b = (_a = this.defaultValueInitializer(this.field.defaultValue)) === null || _a === void 0 ? void 0 : _a.expression) !== null && _b !== void 0 ? _b : null);
30
50
  return options;
31
51
  }
@@ -1 +1 @@
1
- {"version":3,"file":"LongTextFieldManagerForEntity.js","sourceRoot":"","sources":["../../../../../../src/code-builder/lib/field/field-managers/long-text/LongTextFieldManagerForEntity.ts"],"names":[],"mappings":";;;;;;AACA,gIAAgG;AAEhG,iFAA8E;AAE9E,8BAA8B;AAC9B,MAAa,6BACX,SAAQ,qDAAyB;IAKjC,YAAY,IAAU,EAAE,UAAkB,EAAE,SAAiB,EAAE,KAAU,EAAE,qBAA0B;QACnG,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,qBAAqB,CAAC,CAAC;IACnE,CAAC;IAED,SAAS;QACP,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,IAAI,EAAG,CAAC,MAAW,EAAE,EAAE,CAAC,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,oBAAE,CAAC,UAAU,CAAC,aAAa,CAAC;SACtF,CAAC;IACJ,CAAC;IAEkB,gCAAgC;;QACjD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAe,CAAC;QACvC,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,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;AA7BD,sEA6BC"}
1
+ {"version":3,"file":"LongTextFieldManagerForEntity.js","sourceRoot":"","sources":["../../../../../../src/code-builder/lib/field/field-managers/long-text/LongTextFieldManagerForEntity.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,kHAAkH;QAClH,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;QAED,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;QAED,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;AA1DD,sEA0DC"}
@@ -1,10 +1,11 @@
1
1
  import { Tree } from '@angular-devkit/schematics';
2
2
  import { FieldChange, FieldHandler, FieldManager } from '../../FieldManager';
3
+ import { SupportedDatabases } from '../../db-helpers';
3
4
  export declare class RichTextFieldHandler implements FieldHandler {
4
5
  entityFieldManager: FieldManager;
5
6
  createDtoFieldManager: FieldManager;
6
7
  updateDtoFieldManager: FieldManager;
7
- constructor(tree: Tree, moduleName: string, modelName: string, field: string, modelEnableSoftDelete: any);
8
+ constructor(tree: Tree, moduleName: string, modelName: string, field: string, modelEnableSoftDelete: any, dataSourceType?: SupportedDatabases);
8
9
  updateEntityField(): FieldChange[];
9
10
  updateDtoField(): FieldChange[];
10
11
  removeEntityField(): FieldChange[];
@@ -5,8 +5,8 @@ const FieldManager_1 = require("../../FieldManager");
5
5
  const RichTextFieldManagerForDto_1 = require("./RichTextFieldManagerForDto");
6
6
  const RichTextFieldManagerForEntity_1 = require("./RichTextFieldManagerForEntity");
7
7
  class RichTextFieldHandler {
8
- constructor(tree, moduleName, modelName, field, modelEnableSoftDelete) {
9
- this.entityFieldManager = new RichTextFieldManagerForEntity_1.RichTextFieldManagerForEntity(tree, moduleName, modelName, field, modelEnableSoftDelete);
8
+ constructor(tree, moduleName, modelName, field, modelEnableSoftDelete, dataSourceType) {
9
+ this.entityFieldManager = new RichTextFieldManagerForEntity_1.RichTextFieldManagerForEntity(tree, moduleName, modelName, field, modelEnableSoftDelete, dataSourceType);
10
10
  this.createDtoFieldManager = new RichTextFieldManagerForDto_1.RichTextFieldManagerForDto(tree, moduleName, modelName, field, new FieldManager_1.ManagerForDtoOptions(FieldManager_1.DtoSourceType.Create));
11
11
  this.updateDtoFieldManager = new RichTextFieldManagerForDto_1.RichTextFieldManagerForDto(tree, moduleName, modelName, field, new FieldManager_1.ManagerForDtoOptions(FieldManager_1.DtoSourceType.Update));
12
12
  //Instantiate the entity and dto source files
@@ -1 +1 @@
1
- {"version":3,"file":"RichTextFieldHandler.js","sourceRoot":"","sources":["../../../../../../src/code-builder/lib/field/field-managers/rich-text/RichTextFieldHandler.ts"],"names":[],"mappings":";;;AACA,qDAAkH;AAClH,6EAA0E;AAC1E,mFAAgF;AAEhF,MAAa,oBAAoB;IAI/B,YACE,IAAU,EACV,UAAkB,EAClB,SAAiB,EACjB,KAAa,EACb,qBAA0B;QAE1B,IAAI,CAAC,kBAAkB,GAAG,IAAI,6DAA6B,CACzD,IAAI,EACJ,UAAU,EACV,SAAS,EACT,KAAK,EACL,qBAAqB,CACtB,CAAC;QACF,IAAI,CAAC,qBAAqB,GAAG,IAAI,uDAA0B,CACzD,IAAI,EACJ,UAAU,EACV,SAAS,EACT,KAAK,EACL,IAAI,mCAAoB,CAAC,4BAAa,CAAC,MAAM,CAAC,CAC/C,CAAC;QACF,IAAI,CAAC,qBAAqB,GAAG,IAAI,uDAA0B,CACzD,IAAI,EACJ,UAAU,EACV,SAAS,EACT,KAAK,EACL,IAAI,mCAAoB,CAAC,4BAAa,CAAC,MAAM,CAAC,CAC/C,CAAC;QACF,6CAA6C;IAC/C,CAAC;IACD,iBAAiB;QACf,OAAO,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC;IAC/C,CAAC;IACD,cAAc;QACZ,OAAO,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,EAAE,GAAG,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,CAAC,CAAC;IACpG,CAAC;IACD,iBAAiB;QACf,OAAO,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC;IAC/C,CAAC;IACD,cAAc;QACZ,OAAO,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,EAAE,GAAG,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,CAAC,CAAC;IACpG,CAAC;IACD,cAAc;QACZ,OAAO,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC;IAC5C,CAAC;IACD,WAAW;QACT,OAAO,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,EAAE,GAAG,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC9F,CAAC;CACF;AApDD,oDAoDC"}
1
+ {"version":3,"file":"RichTextFieldHandler.js","sourceRoot":"","sources":["../../../../../../src/code-builder/lib/field/field-managers/rich-text/RichTextFieldHandler.ts"],"names":[],"mappings":";;;AACA,qDAAkH;AAClH,6EAA0E;AAC1E,mFAAgF;AAGhF,MAAa,oBAAoB;IAI/B,YACE,IAAU,EACV,UAAkB,EAClB,SAAiB,EACjB,KAAa,EACb,qBAA0B,EAC1B,cAAmC;QAEnC,IAAI,CAAC,kBAAkB,GAAG,IAAI,6DAA6B,CACzD,IAAI,EACJ,UAAU,EACV,SAAS,EACT,KAAK,EACL,qBAAqB,EACrB,cAAc,CACf,CAAC;QACF,IAAI,CAAC,qBAAqB,GAAG,IAAI,uDAA0B,CACzD,IAAI,EACJ,UAAU,EACV,SAAS,EACT,KAAK,EACL,IAAI,mCAAoB,CAAC,4BAAa,CAAC,MAAM,CAAC,CAC/C,CAAC;QACF,IAAI,CAAC,qBAAqB,GAAG,IAAI,uDAA0B,CACzD,IAAI,EACJ,UAAU,EACV,SAAS,EACT,KAAK,EACL,IAAI,mCAAoB,CAAC,4BAAa,CAAC,MAAM,CAAC,CAC/C,CAAC;QACF,6CAA6C;IAC/C,CAAC;IACD,iBAAiB;QACf,OAAO,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC;IAC/C,CAAC;IACD,cAAc;QACZ,OAAO,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,EAAE,GAAG,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,CAAC,CAAC;IACpG,CAAC;IACD,iBAAiB;QACf,OAAO,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC;IAC/C,CAAC;IACD,cAAc;QACZ,OAAO,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,EAAE,GAAG,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,CAAC,CAAC;IACpG,CAAC;IACD,cAAc;QACZ,OAAO,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC;IAC5C,CAAC;IACD,WAAW;QACT,OAAO,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,EAAE,GAAG,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC9F,CAAC;CACF;AAtDD,oDAsDC"}
@@ -2,9 +2,10 @@ 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 } from '../../db-helpers';
5
6
  export declare class RichTextFieldManagerForEntity extends BaseFieldManagerForEntity implements FieldManager {
6
7
  source: ts.SourceFile;
7
- constructor(tree: Tree, moduleName: string, modelName: string, field: any, modelEnableSoftDelete: any);
8
+ constructor(tree: Tree, moduleName: string, modelName: string, field: any, modelEnableSoftDelete: any, dataSourceType?: SupportedDatabases);
8
9
  fieldType(): FieldType;
9
10
  protected additionalColumnDecoratorOptions(): Map<string, any>;
10
11
  protected additionalColumnDecoratorOptionExpressions(): Map<string, ts.Expression | null>;
@@ -6,10 +6,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.RichTextFieldManagerForEntity = void 0;
7
7
  const typescript_1 = __importDefault(require("@schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript"));
8
8
  const BaseFieldManagerForEntity_1 = require("../base/BaseFieldManagerForEntity");
9
+ const db_helpers_1 = require("../../db-helpers");
9
10
  //FIXME Implementation pending
10
11
  class RichTextFieldManagerForEntity extends BaseFieldManagerForEntity_1.BaseFieldManagerForEntity {
11
- constructor(tree, moduleName, modelName, field, modelEnableSoftDelete) {
12
- super(tree, moduleName, modelName, field, modelEnableSoftDelete);
12
+ constructor(tree, moduleName, modelName, field, modelEnableSoftDelete, dataSourceType) {
13
+ super(tree, moduleName, modelName, field, modelEnableSoftDelete, dataSourceType);
13
14
  }
14
15
  fieldType() {
15
16
  return {
@@ -20,12 +21,30 @@ class RichTextFieldManagerForEntity extends BaseFieldManagerForEntity_1.BaseFiel
20
21
  additionalColumnDecoratorOptions() {
21
22
  var _a, _b;
22
23
  const options = new Map();
24
+ if (this.field.max) {
25
+ options.set('length', (0, db_helpers_1.transformColumnOptionForDatabase)('length', this.field.max, this.field.ormType, this.dataSourceType));
26
+ }
23
27
  options.set('default', (_b = (_a = this.defaultValueInitializer(this.field.defaultValue)) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : null);
24
28
  return options;
25
29
  }
26
30
  additionalColumnDecoratorOptionExpressions() {
27
31
  var _a, _b;
28
32
  const options = new Map();
33
+ if (this.field.max) {
34
+ const lengthValue = (0, db_helpers_1.transformColumnOptionForDatabase)('length', this.field.max, this.field.ormType, this.dataSourceType);
35
+ if (typeof lengthValue === 'number') {
36
+ options.set('length', typescript_1.default.factory.createNumericLiteral(lengthValue));
37
+ }
38
+ else if (typeof lengthValue === 'string') {
39
+ options.set('length', typescript_1.default.factory.createStringLiteral(lengthValue));
40
+ }
41
+ else {
42
+ options.set('length', null);
43
+ }
44
+ }
45
+ else {
46
+ options.set('length', null);
47
+ }
29
48
  options.set('default', (_b = (_a = this.defaultValueInitializer(this.field.defaultValue)) === null || _a === void 0 ? void 0 : _a.expression) !== null && _b !== void 0 ? _b : null);
30
49
  return options;
31
50
  }
@@ -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;AAE9E,8BAA8B;AAC9B,MAAa,6BACX,SAAQ,qDAAyB;IAKjC,YAAY,IAAU,EAAE,UAAkB,EAAE,SAAiB,EAAE,KAAU,EAAE,qBAA0B;QACnG,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,qBAAqB,CAAC,CAAC;IACnE,CAAC;IAED,SAAS;QACP,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,IAAI,EAAG,CAAC,MAAW,EAAE,EAAE,CAAC,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,oBAAE,CAAC,UAAU,CAAC,aAAa,CAAC;SACtF,CAAC;IACJ,CAAC;IAEkB,gCAAgC;;QACjD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAe,CAAC;QACvC,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,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;AA7BD,sEA6BC"}
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 outputParentImportPathForEntity(parentModel?: string | null, parentModule?: string): string;
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.outputParentImportPathForEntity = outputParentImportPathForEntity;
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 outputParentImportPathForEntity(parentModel = null, parentModule = "solid-core") {
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
- <%= outputParentImportPathForEntity(parentModel, parentModule) %>
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
- <%= outputParentImportPathForEntity(parentModel, parentModule) %>
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@solidstarters/solid-code-builder",
3
- "version": "1.0.31",
3
+ "version": "1.0.33",
4
4
  "description": "This package is use to generate code for the @solidstarters projects",
5
5
  "private": false,
6
6
  "publishConfig": {
@@ -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
- export function addModel(options: any): Rule {
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
- export function addFields(options: any): Rule {
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
- export function updateFields(options: any): Rule {
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
- export function updateChecksum(moduleName: string, generateChecksum: boolean = false, ...filePaths: string[]): Rule {
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
+ }
@@ -7,6 +7,7 @@ import _ from "lodash";
7
7
  export interface RegexDecoratorOptions {
8
8
  isApplyRegex: boolean;
9
9
  regexPattern: string;
10
+ regexPatternNotMatchingErrorMsg?: string;
10
11
  source: ts.SourceFile;
11
12
  field: any;
12
13
  }
@@ -18,7 +19,12 @@ export class RegexDecoratorManager implements DecoratorManager {
18
19
  buildDecorator(): PartialAddFieldChange {
19
20
  const fieldSourceLines = [];
20
21
  const changes: Change[] = [];
21
- fieldSourceLines.push(`@Matches(/${this.options.regexPattern}/)`);
22
+ const notMatchingErrorMsg = this.options.regexPatternNotMatchingErrorMsg;
23
+ if (notMatchingErrorMsg && notMatchingErrorMsg.trim().length > 0) {
24
+ fieldSourceLines.push(`@Matches(/${this.options.regexPattern}/, { message: ${JSON.stringify(notMatchingErrorMsg)} })`);
25
+ } else {
26
+ fieldSourceLines.push(`@Matches(/${this.options.regexPattern}/)`);
27
+ }
22
28
  changes.push(...this.decoratorImports());
23
29
 
24
30
  return {
@@ -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
+ }
@@ -476,7 +476,7 @@ export abstract class BaseFieldManagerForDto implements FieldManager {
476
476
  case DecoratorType.Optional:
477
477
  return new OptionalDecoratorManager({ isApplyOptional: true, optional: (this.options.sourceType === DtoSourceType.Update || !field.required), source: source, field: field });
478
478
  case DecoratorType.Regex:
479
- return new RegexDecoratorManager({ isApplyRegex: this.isApplyRegex(), regexPattern: field.regexPattern, source: source, field: field });
479
+ return new RegexDecoratorManager({ isApplyRegex: this.isApplyRegex(), regexPattern: field.regexPattern, regexPatternNotMatchingErrorMsg: field.regexPatternNotMatchingErrorMsg, source: source, field: field });
480
480
  case DecoratorType.Number:
481
481
  return new NumberDecoratorManager({ isNumber: this.isNumber(), source: source, field: field });
482
482
  case DecoratorType.String:
@@ -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,