@rxap/schematics-ts-morph 16.1.0-dev.5 → 16.1.0-dev.6

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 (70) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/package.json +2 -2
  3. package/src/index.d.ts +2 -1
  4. package/src/index.js +2 -1
  5. package/src/index.js.map +1 -1
  6. package/src/lib/angular/coerce-dialog-table-action-component.js +2 -2
  7. package/src/lib/angular/coerce-dialog-table-action-component.js.map +1 -1
  8. package/src/lib/angular/coerce-form-definition-control.js +2 -3
  9. package/src/lib/angular/coerce-form-definition-control.js.map +1 -1
  10. package/src/lib/angular/coerce-form-definition.js +4 -4
  11. package/src/lib/angular/coerce-form-definition.js.map +1 -1
  12. package/src/lib/angular/coerce-proxy-remote-method-class.d.ts +1 -1
  13. package/src/lib/angular/coerce-proxy-remote-method-class.js +1 -1
  14. package/src/lib/angular/coerce-proxy-remote-method-class.js.map +1 -1
  15. package/src/lib/angular/coerce-table-parameters-from-route.js +4 -4
  16. package/src/lib/angular/coerce-table-parameters-from-route.js.map +1 -1
  17. package/src/lib/nest/add-operation-to-controller.d.ts +1 -1
  18. package/src/lib/nest/add-operation-to-controller.js +59 -55
  19. package/src/lib/nest/add-operation-to-controller.js.map +1 -1
  20. package/src/lib/nest/build-nest-controller-name.js +10 -0
  21. package/src/lib/nest/build-nest-controller-name.js.map +1 -1
  22. package/src/lib/nest/coerce-dto-class.d.ts +2 -7
  23. package/src/lib/nest/coerce-dto-class.js +44 -59
  24. package/src/lib/nest/coerce-dto-class.js.map +1 -1
  25. package/src/lib/nest/coerce-form-submit-operation.d.ts +2 -4
  26. package/src/lib/nest/coerce-form-submit-operation.js +10 -15
  27. package/src/lib/nest/coerce-form-submit-operation.js.map +1 -1
  28. package/src/lib/nest/coerce-get-by-id-operation.d.ts +9 -7
  29. package/src/lib/nest/coerce-get-by-id-operation.js +84 -56
  30. package/src/lib/nest/coerce-get-by-id-operation.js.map +1 -1
  31. package/src/lib/nest/coerce-get-children-operation.js +8 -40
  32. package/src/lib/nest/coerce-get-children-operation.js.map +1 -1
  33. package/src/lib/nest/coerce-get-data-grid-operation.d.ts +5 -4
  34. package/src/lib/nest/coerce-get-data-grid-operation.js +7 -17
  35. package/src/lib/nest/coerce-get-data-grid-operation.js.map +1 -1
  36. package/src/lib/nest/coerce-get-operation.d.ts +5 -0
  37. package/src/lib/nest/coerce-get-operation.js +11 -0
  38. package/src/lib/nest/coerce-get-operation.js.map +1 -0
  39. package/src/lib/nest/coerce-get-page-operation.d.ts +16 -17
  40. package/src/lib/nest/coerce-get-page-operation.js +106 -112
  41. package/src/lib/nest/coerce-get-page-operation.js.map +1 -1
  42. package/src/lib/nest/coerce-get-root-operation.d.ts +2 -5
  43. package/src/lib/nest/coerce-get-root-operation.js +7 -22
  44. package/src/lib/nest/coerce-get-root-operation.js.map +1 -1
  45. package/src/lib/nest/coerce-operation.d.ts +36 -9
  46. package/src/lib/nest/coerce-operation.js +182 -24
  47. package/src/lib/nest/coerce-operation.js.map +1 -1
  48. package/src/lib/nest/coerce-options-operation.js +13 -42
  49. package/src/lib/nest/coerce-options-operation.js.map +1 -1
  50. package/src/lib/nest/coerce-page-dto-class.d.ts +1 -0
  51. package/src/lib/nest/coerce-page-dto-class.js +7 -3
  52. package/src/lib/nest/coerce-page-dto-class.js.map +1 -1
  53. package/src/lib/nest/coerce-row-dto-class.d.ts +1 -0
  54. package/src/lib/nest/coerce-row-dto-class.js +11 -6
  55. package/src/lib/nest/coerce-row-dto-class.js.map +1 -1
  56. package/src/lib/nest/coerce-table-select-operation.js +6 -6
  57. package/src/lib/nest/coerce-table-select-operation.js.map +1 -1
  58. package/src/lib/nest/coerce-table-select-value-resolve-operation.d.ts +5 -1
  59. package/src/lib/nest/coerce-table-select-value-resolve-operation.js +23 -32
  60. package/src/lib/nest/coerce-table-select-value-resolve-operation.js.map +1 -1
  61. package/src/lib/nest/coerce-tree-operation.js +35 -44
  62. package/src/lib/nest/coerce-tree-operation.js.map +1 -1
  63. package/src/lib/nest/dto-class-property.d.ts +19 -0
  64. package/src/lib/nest/dto-class-property.js +26 -0
  65. package/src/lib/nest/dto-class-property.js.map +1 -0
  66. package/src/lib/nest/table-query-list.js +10 -2
  67. package/src/lib/nest/table-query-list.js.map +1 -1
  68. package/src/lib/nest/create-dto-class.d.ts +0 -24
  69. package/src/lib/nest/create-dto-class.js +0 -169
  70. package/src/lib/nest/create-dto-class.js.map +0 -1
@@ -1,22 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CoerceDtoClass = exports.CoercePropertyDeclaration = void 0;
3
+ exports.CoerceDtoClass = void 0;
4
4
  const schematics_utilities_1 = require("@rxap/schematics-utilities");
5
+ const ts_morph_1 = require("@rxap/ts-morph");
5
6
  const utilities_1 = require("@rxap/utilities");
6
7
  const path_1 = require("path");
7
- const ts_morph_1 = require("ts-morph");
8
- const coerce_decorator_1 = require("../ts-morph/coerce-decorator");
9
- const ts_morph_2 = require("@rxap/ts-morph");
8
+ const ts_morph_2 = require("ts-morph");
9
+ const dto_class_property_1 = require("./dto-class-property");
10
10
  require("colors");
11
- function CoercePropertyDeclaration(node, name, structure = {}) {
12
- let property = node.getProperty(name);
13
- if (!property) {
14
- property = node.addProperty({ name });
15
- property.set(structure);
16
- }
17
- return property;
18
- }
19
- exports.CoercePropertyDeclaration = CoercePropertyDeclaration;
20
11
  function CoerceDtoClass(options) {
21
12
  var _a;
22
13
  const { project, propertyList = [], tsMorphTransform = utilities_1.noop, } = options;
@@ -24,12 +15,13 @@ function CoerceDtoClass(options) {
24
15
  name = (0, schematics_utilities_1.dasherize)(name);
25
16
  const className = (0, schematics_utilities_1.CoerceSuffix)((0, schematics_utilities_1.classify)(name), 'Dto');
26
17
  const fileName = (0, schematics_utilities_1.CoerceSuffix)(name, '.dto');
27
- const sourceFile = (0, ts_morph_2.CoerceSourceFile)(project, (0, path_1.join)('dtos', fileName + '.ts'));
28
- const classDeclaration = (0, ts_morph_2.CoerceClass)(sourceFile, className);
18
+ const sourceFile = (0, ts_morph_1.CoerceSourceFile)(project, (0, path_1.join)('dtos', fileName + '.ts'));
19
+ const classDeclaration = (0, ts_morph_1.CoerceClass)(sourceFile, className);
29
20
  classDeclaration.setIsExported(true);
30
- for (const property of propertyList) {
31
- if (property.type === '<self>') {
32
- property.type = className;
21
+ for (const property of propertyList.map(dto_class_property_1.NormalizeDataClassProperty)) {
22
+ if (property.type.name === '<self>') {
23
+ property.type.name = className;
24
+ property.isType = true;
33
25
  }
34
26
  let propertyName = (0, schematics_utilities_1.camelize)(property.name);
35
27
  const prefixMatch = property.name.match(/^(_+)/);
@@ -37,149 +29,142 @@ function CoerceDtoClass(options) {
37
29
  propertyName = (0, schematics_utilities_1.camelize)(property.name.replace(/^_+/, ''));
38
30
  propertyName = prefixMatch[0] + propertyName;
39
31
  }
40
- const propertyDeclaration = CoercePropertyDeclaration(classDeclaration, propertyName).set({
41
- type: (0, ts_morph_2.WriteType)(property, sourceFile),
42
- hasQuestionToken: !!property.isOptional,
32
+ const propertyDeclaration = (0, ts_morph_1.CoercePropertyDeclaration)(classDeclaration, propertyName).set({
33
+ type: (0, ts_morph_1.WriteType)(property, sourceFile),
34
+ hasQuestionToken: property.isOptional,
43
35
  hasExclamationToken: !property.isOptional,
44
36
  });
45
- (0, coerce_decorator_1.CoerceDecorator)(propertyDeclaration, 'Expose', {
37
+ (0, ts_morph_1.CoerceDecorator)(propertyDeclaration, 'Expose', {
46
38
  arguments: [],
47
39
  });
48
- (0, ts_morph_2.CoerceImports)(sourceFile, {
40
+ (0, ts_morph_1.CoerceImports)(sourceFile, {
49
41
  namedImports: ['Expose'],
50
42
  moduleSpecifier: 'class-transformer',
51
43
  });
52
44
  if (property.isArray) {
53
- (0, coerce_decorator_1.CoerceDecorator)(propertyDeclaration, 'IsArray', {
45
+ (0, ts_morph_1.CoerceDecorator)(propertyDeclaration, 'IsArray', {
54
46
  arguments: [],
55
47
  });
56
- (0, ts_morph_2.CoerceImports)(sourceFile, {
48
+ (0, ts_morph_1.CoerceImports)(sourceFile, {
57
49
  namedImports: ['IsArray'],
58
50
  moduleSpecifier: 'class-validator',
59
51
  });
60
52
  }
61
53
  if (property.isType) {
62
- (0, coerce_decorator_1.CoerceDecorator)(propertyDeclaration, 'Type', {
54
+ (0, ts_morph_1.CoerceDecorator)(propertyDeclaration, 'Type', {
63
55
  arguments: [
64
56
  w => {
65
57
  w.write('() => ');
66
- (0, ts_morph_2.WriteType)({
58
+ (0, ts_morph_1.WriteType)({
67
59
  type: property.type,
68
60
  isArray: false
69
61
  }, sourceFile)(w);
70
62
  },
71
63
  ],
72
64
  });
73
- (0, ts_morph_2.CoerceImports)(sourceFile, {
65
+ (0, ts_morph_1.CoerceImports)(sourceFile, {
74
66
  namedImports: ['Type'],
75
67
  moduleSpecifier: 'class-transformer',
76
68
  });
77
- (0, coerce_decorator_1.CoerceDecorator)(propertyDeclaration, 'IsInstance', {
69
+ (0, ts_morph_1.CoerceDecorator)(propertyDeclaration, 'IsInstance', {
78
70
  arguments: [
79
- (0, ts_morph_2.WriteType)({
71
+ (0, ts_morph_1.WriteType)({
80
72
  type: property.type,
81
73
  isArray: false
82
74
  }, sourceFile),
83
75
  w => {
84
76
  if (property.isArray) {
85
- ts_morph_1.Writers.object({ each: 'true' })(w);
77
+ ts_morph_2.Writers.object({ each: 'true' })(w);
86
78
  }
87
79
  },
88
80
  ],
89
81
  });
90
- (0, ts_morph_2.CoerceImports)(sourceFile, {
82
+ (0, ts_morph_1.CoerceImports)(sourceFile, {
91
83
  namedImports: ['IsInstance'],
92
84
  moduleSpecifier: 'class-validator',
93
85
  });
94
86
  }
95
87
  if (property.isOptional) {
96
- (0, coerce_decorator_1.CoerceDecorator)(propertyDeclaration, 'IsOptional', {
88
+ (0, ts_morph_1.CoerceDecorator)(propertyDeclaration, 'IsOptional', {
97
89
  arguments: [],
98
90
  });
99
- (0, ts_morph_2.CoerceImports)(sourceFile, {
91
+ (0, ts_morph_1.CoerceImports)(sourceFile, {
100
92
  namedImports: ['IsOptional'],
101
93
  moduleSpecifier: 'class-validator',
102
94
  });
103
95
  }
104
- let autoType = 'none';
105
- if (typeof property.type === 'string') {
106
- autoType = property.type;
107
- }
108
- else if (typeof property.type === 'object') {
109
- autoType = property.type.name;
110
- }
111
- switch (autoType) {
96
+ switch (property.type.name) {
112
97
  case 'date':
113
- (0, coerce_decorator_1.CoerceDecorator)(propertyDeclaration, 'IsDate', {
98
+ (0, ts_morph_1.CoerceDecorator)(propertyDeclaration, 'IsDate', {
114
99
  arguments: [],
115
100
  });
116
- (0, ts_morph_2.CoerceImports)(sourceFile, {
101
+ (0, ts_morph_1.CoerceImports)(sourceFile, {
117
102
  namedImports: ['IsDate'],
118
103
  moduleSpecifier: 'class-validator',
119
104
  });
120
105
  break;
121
106
  case 'number':
122
- (0, coerce_decorator_1.CoerceDecorator)(propertyDeclaration, 'IsNumber', {
107
+ (0, ts_morph_1.CoerceDecorator)(propertyDeclaration, 'IsNumber', {
123
108
  arguments: [],
124
109
  });
125
- (0, ts_morph_2.CoerceImports)(sourceFile, {
110
+ (0, ts_morph_1.CoerceImports)(sourceFile, {
126
111
  namedImports: ['IsNumber'],
127
112
  moduleSpecifier: 'class-validator',
128
113
  });
129
114
  break;
130
115
  case 'string':
131
116
  if (property.name === 'uuid') {
132
- (0, ts_morph_2.CoerceImports)(sourceFile, {
117
+ (0, ts_morph_1.CoerceImports)(sourceFile, {
133
118
  namedImports: ['IsUUID'],
134
119
  moduleSpecifier: 'class-validator',
135
120
  });
136
- (0, coerce_decorator_1.CoerceDecorator)(propertyDeclaration, 'IsUUID', {
121
+ (0, ts_morph_1.CoerceDecorator)(propertyDeclaration, 'IsUUID', {
137
122
  arguments: [],
138
123
  });
139
124
  }
140
125
  else {
141
- (0, ts_morph_2.CoerceImports)(sourceFile, {
126
+ (0, ts_morph_1.CoerceImports)(sourceFile, {
142
127
  namedImports: ['IsString'],
143
128
  moduleSpecifier: 'class-validator',
144
129
  });
145
- (0, coerce_decorator_1.CoerceDecorator)(propertyDeclaration, 'IsString', {
130
+ (0, ts_morph_1.CoerceDecorator)(propertyDeclaration, 'IsString', {
146
131
  arguments: [],
147
132
  });
148
133
  }
149
134
  break;
150
135
  case 'uuid':
151
- (0, coerce_decorator_1.CoerceDecorator)(propertyDeclaration, 'IsUUID', {
136
+ (0, ts_morph_1.CoerceDecorator)(propertyDeclaration, 'IsUUID', {
152
137
  arguments: [],
153
138
  });
154
- (0, ts_morph_2.CoerceImports)(sourceFile, {
139
+ (0, ts_morph_1.CoerceImports)(sourceFile, {
155
140
  namedImports: ['IsUUID'],
156
141
  moduleSpecifier: 'class-validator',
157
142
  });
158
143
  break;
159
144
  case 'boolean':
160
- (0, coerce_decorator_1.CoerceDecorator)(propertyDeclaration, 'IsBoolean', {
145
+ (0, ts_morph_1.CoerceDecorator)(propertyDeclaration, 'IsBoolean', {
161
146
  arguments: [],
162
147
  });
163
- (0, ts_morph_2.CoerceImports)(sourceFile, {
148
+ (0, ts_morph_1.CoerceImports)(sourceFile, {
164
149
  namedImports: ['IsBoolean'],
165
150
  moduleSpecifier: 'class-validator',
166
151
  });
167
152
  break;
168
153
  case 'unknown':
169
- (0, coerce_decorator_1.CoerceDecorator)(propertyDeclaration, 'ApiProperty', {
170
- arguments: [ts_morph_1.Writers.object({ type: w => w.quote('unknown') })],
154
+ (0, ts_morph_1.CoerceDecorator)(propertyDeclaration, 'ApiProperty', {
155
+ arguments: [ts_morph_2.Writers.object({ type: w => w.quote('unknown') })],
171
156
  });
172
- (0, ts_morph_2.CoerceImports)(sourceFile, {
157
+ (0, ts_morph_1.CoerceImports)(sourceFile, {
173
158
  namedImports: ['ApiProperty'],
174
159
  moduleSpecifier: '@nestjs/swagger',
175
160
  });
176
161
  break;
177
162
  }
178
- if (autoType !== 'unknown') {
163
+ if (property.type.name !== 'unknown') {
179
164
  const apiProperty = propertyDeclaration.getDecorators().find(d => d.getName() === 'ApiProperty');
180
165
  if (apiProperty) {
181
166
  const args = apiProperty.getArguments()[0];
182
- if (args instanceof ts_morph_1.ObjectLiteralExpression) {
167
+ if (args instanceof ts_morph_2.ObjectLiteralExpression) {
183
168
  if ((_a = args.getProperty('type')) === null || _a === void 0 ? void 0 : _a.getText().includes('unknown')) {
184
169
  apiProperty.remove();
185
170
  }
@@ -1 +1 @@
1
- {"version":3,"file":"coerce-dto-class.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/ts-morph/src/lib/nest/coerce-dto-class.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coerce-dto-class.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/ts-morph/src/lib/nest/coerce-dto-class.ts"],"names":[],"mappings":";;;AAAA,qEAKoC;AACpC,6CAOwB;AACxB,+CAAuC;AACvC,+BAA4B;AAC5B,uCAakB;AAClB,6DAG8B;AAC9B,kBAAgB;AAgBhB,SAAgB,cAAc,CAAC,OAA8B;;IAC3D,MAAM,EACJ,OAAO,EACP,YAAY,GAAG,EAAE,EACjB,gBAAgB,GAAG,gBAAI,GACxB,GAAG,OAAO,CAAC;IACZ,IAAI,EACF,IAAI,GACL,GAAG,OAAO,CAAC;IAEZ,IAAI,GAAG,IAAA,gCAAS,EAAC,IAAI,CAAC,CAAC;IAEvB,MAAM,SAAS,GAAG,IAAA,mCAAY,EAAC,IAAA,+BAAQ,EAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,IAAA,mCAAY,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAE5C,MAAM,UAAU,GAAG,IAAA,2BAAgB,EAAC,OAAO,EAAE,IAAA,WAAI,EAAC,MAAM,EAAE,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC;IAC7E,MAAM,gBAAgB,GAAG,IAAA,sBAAW,EAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAC5D,gBAAgB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAErC,KAAK,MAAM,QAAQ,IAAI,YAAY,CAAC,GAAG,CAAC,+CAA0B,CAAC,EAAE;QAEnE,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;YACnC,QAAQ,CAAC,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;YAC/B,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC;SACxB;QAED,IAAI,YAAY,GAAG,IAAA,+BAAQ,EAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEjD,IAAI,WAAW,EAAE;YACf,YAAY,GAAG,IAAA,+BAAQ,EAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;YAC1D,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC;SAC9C;QAED,MAAM,mBAAmB,GAAwB,IAAA,oCAAyB,EACxE,gBAAgB,EAChB,YAAY,CACb,CAAC,GAAG,CAAC;YACJ,IAAI,EAAE,IAAA,oBAAS,EAAC,QAAQ,EAAE,UAAU,CAAC;YACrC,gBAAgB,EAAE,QAAQ,CAAC,UAAU;YACrC,mBAAmB,EAAE,CAAC,QAAQ,CAAC,UAAU;SAC1C,CAAC,CAAC;QAEH,IAAA,0BAAe,EACb,mBAAmB,EACnB,QAAQ,EACR;YACE,SAAS,EAAE,EAAE;SACd,CACF,CAAC;QACF,IAAA,wBAAa,EAAC,UAAU,EAAC;YACvB,YAAY,EAAE,CAAE,QAAQ,CAAE;YAC1B,eAAe,EAAE,mBAAmB;SACrC,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,OAAO,EAAE;YACpB,IAAA,0BAAe,EACb,mBAAmB,EACnB,SAAS,EACT;gBACE,SAAS,EAAE,EAAE;aACd,CACF,CAAC;YACF,IAAA,wBAAa,EAAC,UAAU,EAAC;gBACvB,YAAY,EAAE,CAAE,SAAS,CAAE;gBAC3B,eAAe,EAAE,iBAAiB;aACnC,CAAC,CAAC;SACJ;QACD,IAAI,QAAQ,CAAC,MAAM,EAAE;YACnB,IAAA,0BAAe,EAAC,mBAAmB,EAAE,MAAM,EAAE;gBAC3C,SAAS,EAAE;oBACT,CAAC,CAAC,EAAE;wBACF,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;wBAClB,IAAA,oBAAS,EAAC;4BACR,IAAI,EAAE,QAAQ,CAAC,IAAI;4BACnB,OAAO,EAAE,KAAK;yBACf,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;oBACpB,CAAC;iBACF;aACF,CAAC,CAAC;YACF,IAAA,wBAAa,EAAC,UAAU,EAAC;gBACxB,YAAY,EAAE,CAAE,MAAM,CAAE;gBACxB,eAAe,EAAE,mBAAmB;aACrC,CAAC,CAAC;YACH,IAAA,0BAAe,EAAC,mBAAmB,EAAE,YAAY,EAAE;gBACjD,SAAS,EAAE;oBACT,IAAA,oBAAS,EAAC;wBACR,IAAI,EAAE,QAAQ,CAAC,IAAI;wBACnB,OAAO,EAAE,KAAK;qBACf,EAAE,UAAU,CAAC;oBACd,CAAC,CAAC,EAAE;wBACF,IAAI,QAAQ,CAAC,OAAO,EAAE;4BACpB,kBAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;yBACrC;oBACH,CAAC;iBACF;aACF,CAAC,CAAC;YACF,IAAA,wBAAa,EAAC,UAAU,EAAC;gBACxB,YAAY,EAAE,CAAE,YAAY,CAAE;gBAC9B,eAAe,EAAE,iBAAiB;aACnC,CAAC,CAAC;SACJ;QACD,IAAI,QAAQ,CAAC,UAAU,EAAE;YACvB,IAAA,0BAAe,EACb,mBAAmB,EACnB,YAAY,EACZ;gBACE,SAAS,EAAE,EAAE;aACd,CACF,CAAC;YACD,IAAA,wBAAa,EAAC,UAAU,EAAC;gBACxB,YAAY,EAAE,CAAE,YAAY,CAAE;gBAC9B,eAAe,EAAE,iBAAiB;aACnC,CAAC,CAAC;SACJ;QAED,QAAQ,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE;YAC1B,KAAK,MAAM;gBACT,IAAA,0BAAe,EACb,mBAAmB,EACnB,QAAQ,EACR;oBACE,SAAS,EAAE,EAAE;iBACd,CACF,CAAC;gBACD,IAAA,wBAAa,EAAC,UAAU,EAAC;oBACxB,YAAY,EAAE,CAAE,QAAQ,CAAE;oBAC1B,eAAe,EAAE,iBAAiB;iBACnC,CAAC,CAAC;gBACH,MAAM;YACR,KAAK,QAAQ;gBACX,IAAA,0BAAe,EACb,mBAAmB,EACnB,UAAU,EACV;oBACE,SAAS,EAAE,EAAE;iBACd,CACF,CAAC;gBACD,IAAA,wBAAa,EAAC,UAAU,EAAC;oBACxB,YAAY,EAAE,CAAE,UAAU,CAAE;oBAC5B,eAAe,EAAE,iBAAiB;iBACnC,CAAC,CAAC;gBACH,MAAM;YACR,KAAK,QAAQ;gBACX,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,EAAE;oBAC3B,IAAA,wBAAa,EAAC,UAAU,EAAC;wBACxB,YAAY,EAAE,CAAE,QAAQ,CAAE;wBAC1B,eAAe,EAAE,iBAAiB;qBACnC,CAAC,CAAC;oBACH,IAAA,0BAAe,EACb,mBAAmB,EACnB,QAAQ,EACR;wBACE,SAAS,EAAE,EAAE;qBACd,CACF,CAAC;iBACH;qBAAM;oBACJ,IAAA,wBAAa,EAAC,UAAU,EAAC;wBACxB,YAAY,EAAE,CAAE,UAAU,CAAE;wBAC5B,eAAe,EAAE,iBAAiB;qBACnC,CAAC,CAAC;oBACH,IAAA,0BAAe,EACb,mBAAmB,EACnB,UAAU,EACV;wBACE,SAAS,EAAE,EAAE;qBACd,CACF,CAAC;iBACH;gBACD,MAAM;YACR,KAAK,MAAM;gBACT,IAAA,0BAAe,EACb,mBAAmB,EACnB,QAAQ,EACR;oBACE,SAAS,EAAE,EAAE;iBACd,CACF,CAAC;gBACD,IAAA,wBAAa,EAAC,UAAU,EAAC;oBACxB,YAAY,EAAE,CAAE,QAAQ,CAAE;oBAC1B,eAAe,EAAE,iBAAiB;iBACnC,CAAC,CAAC;gBACH,MAAM;YACR,KAAK,SAAS;gBACZ,IAAA,0BAAe,EACb,mBAAmB,EACnB,WAAW,EACX;oBACE,SAAS,EAAE,EAAE;iBACd,CACF,CAAC;gBACD,IAAA,wBAAa,EAAC,UAAU,EAAC;oBACxB,YAAY,EAAE,CAAE,WAAW,CAAE;oBAC7B,eAAe,EAAE,iBAAiB;iBACnC,CAAC,CAAC;gBACH,MAAM;YACN,KAAK,SAAS;gBACZ,IAAA,0BAAe,EACb,mBAAmB,EACnB,aAAa,EACb;oBACE,SAAS,EAAE,CAAC,kBAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,EAAC,CAAC,CAAC;iBAC9D,CACF,CAAC;gBACD,IAAA,wBAAa,EAAC,UAAU,EAAC;oBACxB,YAAY,EAAE,CAAE,aAAa,CAAE;oBAC/B,eAAe,EAAE,iBAAiB;iBACnC,CAAC,CAAC;gBACH,MAAM;SACX;QAED,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE;YACpC,MAAM,WAAW,GAAG,mBAAmB,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,aAAa,CAAC,CAAC;YACjG,IAAI,WAAW,EAAE;gBACf,MAAM,IAAI,GAAG,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC3C,IAAI,IAAI,YAAY,kCAAuB,EAAE;oBAC3C,IAAI,MAAA,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,0CAAE,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,EAAE;wBAC3D,WAAW,CAAC,MAAM,EAAE,CAAC;qBACtB;iBACF;aACF;SACF;KAEF;IAED,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC;IAExD,OAAO;QACL,SAAS;QACT,QAAQ,EAAE,GAAG,GAAG,IAAA,WAAI,EAAC,UAAU,CAAC,gBAAgB,EAAE,EAAE,UAAU,CAAC,2BAA2B,EAAE,CAAC;QAC7F,UAAU;QACV,gBAAgB;KACjB,CAAC;AAEJ,CAAC;AA1OD,wCA0OC"}
@@ -1,7 +1,5 @@
1
- import { CoerceOperationOptions } from './coerce-operation';
2
- import { DtoClassProperty } from './create-dto-class';
3
- export interface CoerceFormSubmitOperationOptions extends Omit<CoerceOperationOptions, 'operationName'> {
4
- propertyList?: DtoClassProperty[];
1
+ import { CoerceGetByIdControllerOptions } from './coerce-get-by-id-operation';
2
+ export interface CoerceFormSubmitOperationOptions extends CoerceGetByIdControllerOptions {
5
3
  bodyDtoName?: string;
6
4
  }
7
5
  export declare function CoerceFormSubmitOperation(options: CoerceFormSubmitOperationOptions): import("@angular-devkit/schematics").Rule;
@@ -2,22 +2,17 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CoerceFormSubmitOperation = void 0;
4
4
  const utilities_1 = require("@rxap/utilities");
5
- const coerce_imports_1 = require("../ts-morph/coerce-imports");
6
- const coerce_dto_class_1 = require("./coerce-dto-class");
7
- const coerce_operation_1 = require("./coerce-operation");
5
+ const coerce_get_by_id_operation_1 = require("./coerce-get-by-id-operation");
8
6
  function CoerceFormSubmitOperation(options) {
9
- const { tsMorphTransform = utilities_1.noop, controllerName, propertyList = [], context, bodyDtoName = (0, utilities_1.joinWithDash)([context, controllerName]), } = options;
10
- return (0, coerce_operation_1.CoerceOperation)(Object.assign(Object.assign({}, options), { operationName: 'submit', tsMorphTransform: (project, sourceFile, classDeclaration, controllerName, moduleSourceFile) => {
11
- const { className: dtoClassName, filePath: dtoFilePath, } = (0, coerce_dto_class_1.CoerceDtoClass)({
12
- project,
13
- name: bodyDtoName,
14
- propertyList,
15
- });
16
- (0, coerce_imports_1.CoerceImports)(sourceFile, {
17
- namedImports: [dtoClassName],
18
- moduleSpecifier: dtoFilePath,
19
- });
20
- return Object.assign({ body: dtoClassName, method: 'post' }, tsMorphTransform(project, sourceFile, classDeclaration, controllerName, moduleSourceFile));
7
+ const { tsMorphTransform = utilities_1.noop, bodyDtoName, operationName = 'submit', isReturnVoid = true, } = options;
8
+ return (0, coerce_get_by_id_operation_1.CoerceGetByIdOperation)(Object.assign(Object.assign({}, options), { operationName,
9
+ isReturnVoid, buildOperationDtoClassName: (controllerName, { dtoClassName, dtoClassNameSuffix }) => {
10
+ return dtoClassName !== null && dtoClassName !== void 0 ? dtoClassName : (dtoClassNameSuffix ? (0, utilities_1.CoerceSuffix)(bodyDtoName !== null && bodyDtoName !== void 0 ? bodyDtoName : controllerName, dtoClassNameSuffix) : bodyDtoName !== null && bodyDtoName !== void 0 ? bodyDtoName : controllerName);
11
+ }, tsMorphTransform: (project, sourceFile, classDeclaration, controllerName, moduleSourceFile, dto) => {
12
+ if (!dto) {
13
+ throw new Error('The dto must be created for an submit operation');
14
+ }
15
+ return Object.assign({ body: dto.className, method: 'post' }, tsMorphTransform(project, sourceFile, classDeclaration, controllerName, moduleSourceFile, dto));
21
16
  } }));
22
17
  }
23
18
  exports.CoerceFormSubmitOperation = CoerceFormSubmitOperation;
@@ -1 +1 @@
1
- {"version":3,"file":"coerce-form-submit-operation.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/ts-morph/src/lib/nest/coerce-form-submit-operation.ts"],"names":[],"mappings":";;;AAAA,+CAGyB;AACzB,+DAA2D;AAC3D,yDAAoD;AACpD,yDAG4B;AAQ5B,SAAgB,yBAAyB,CAAC,OAAyC;IACjF,MAAM,EACJ,gBAAgB,GAAG,gBAAI,EACvB,cAAc,EACd,YAAY,GAAE,EAAE,EAChB,OAAO,EACP,WAAW,GAAE,IAAA,wBAAY,EAAC,CAAE,OAAO,EAAE,cAAc,CAAE,CAAC,GACvD,GAAG,OAAO,CAAC;IAEZ,OAAO,IAAA,kCAAe,kCACjB,OAAO,KACV,aAAa,EAAE,QAAQ,EACvB,gBAAgB,EAAE,CAChB,OAAO,EACP,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,EAAE;YAEF,MAAM,EACJ,SAAS,EAAE,YAAY,EACvB,QAAQ,EAAE,WAAW,GACtB,GAAG,IAAA,iCAAc,EAAC;gBACjB,OAAO;gBACP,IAAI,EAAE,WAAY;gBAClB,YAAY;aACb,CAAC,CAAC;YAEH,IAAA,8BAAa,EAAC,UAAU,EAAE;gBACxB,YAAY,EAAE,CAAE,YAAY,CAAE;gBAC9B,eAAe,EAAE,WAAW;aAC7B,CAAC,CAAC;YAEH,uBACE,IAAI,EAAE,YAAY,EAClB,MAAM,EAAE,MAAM,IACX,gBAAiB,CAAC,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,cAAc,EAAE,gBAAgB,CAAC,EAC7F;QAEJ,CAAC,IACD,CAAC;AAEL,CAAC;AA3CD,8DA2CC"}
1
+ {"version":3,"file":"coerce-form-submit-operation.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/ts-morph/src/lib/nest/coerce-form-submit-operation.ts"],"names":[],"mappings":";;;AAAA,+CAGyB;AACzB,6EAGsC;AAMtC,SAAgB,yBAAyB,CAAC,OAAyC;IACjF,MAAM,EACJ,gBAAgB,GAAG,gBAAI,EACvB,WAAW,EACX,aAAa,GAAG,QAAQ,EACxB,YAAY,GAAG,IAAI,GACpB,GAAG,OAAO,CAAC;IAEZ,OAAO,IAAA,mDAAsB,kCACxB,OAAO,KACV,aAAa;QACb,YAAY,EACZ,0BAA0B,EAAE,CAAC,cAAc,EAAE,EAAE,YAAY,EAAE,kBAAkB,EAAE,EAAE,EAAE;YACnF,OAAO,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,CACrB,kBAAkB,CAAC,CAAC,CAAC,IAAA,wBAAY,EAAC,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,cAAc,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,cAAc,CACrH,CAAC;QACJ,CAAC,EACD,gBAAgB,EAAE,CAChB,OAAO,EACP,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,GAAG,EACH,EAAE;YAEF,IAAI,CAAC,GAAG,EAAE;gBACR,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;aACpE;YAED,uBACE,IAAI,EAAE,GAAG,CAAC,SAAS,EACnB,MAAM,EAAE,MAAM,IACX,gBAAiB,CAAC,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,cAAc,EAAE,gBAAgB,EAAE,GAAG,CAAC,EAClG;QAEJ,CAAC,IACD,CAAC;AAEL,CAAC;AAvCD,8DAuCC"}
@@ -1,9 +1,11 @@
1
- import { CoerceOperationOptions } from './coerce-operation';
2
- import { DtoClassProperty } from './create-dto-class';
3
- export interface CoerceGetByIdControllerOptions extends Omit<CoerceOperationOptions, 'operationName'> {
4
- propertyList?: DtoClassProperty[];
5
- isArray?: boolean;
6
- idProperty?: DtoClassProperty;
7
- operationName?: string;
1
+ import { OperationParameter } from '@rxap/ts-morph';
2
+ import { ClassDeclaration, SourceFile, WriterFunction } from 'ts-morph';
3
+ import { CoerceDtoClassOutput } from './coerce-dto-class';
4
+ import { CoerceGetControllerOptions } from './coerce-get-operation';
5
+ import { TransformOperation } from './coerce-operation';
6
+ export interface CoerceGetByIdControllerOptions extends CoerceGetControllerOptions {
7
+ idProperty?: OperationParameter | null;
8
8
  }
9
+ export declare function BuildUpstreamGetByIdParametersImplementation(classDeclaration: ClassDeclaration, moduleSourceFile: SourceFile, dto: CoerceDtoClassOutput | null, options: Readonly<CoerceGetByIdControllerOptions>): TransformOperation<string | WriterFunction>;
10
+ export declare function BuiltGetByIdDtoDataMapperImplementation(classDeclaration: ClassDeclaration, moduleSourceFile: SourceFile, dto: CoerceDtoClassOutput | null, options: Readonly<CoerceGetByIdControllerOptions>): TransformOperation<string | WriterFunction>;
9
11
  export declare function CoerceGetByIdOperation(options: CoerceGetByIdControllerOptions): import("@angular-devkit/schematics").Rule;
@@ -1,64 +1,92 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CoerceGetByIdOperation = void 0;
4
- const schematics_utilities_1 = require("@rxap/schematics-utilities");
5
- const ts_morph_1 = require("@rxap/ts-morph");
6
- const coerce_dto_class_1 = require("./coerce-dto-class");
7
- const coerce_operation_1 = require("./coerce-operation");
3
+ exports.CoerceGetByIdOperation = exports.BuiltGetByIdDtoDataMapperImplementation = exports.BuildUpstreamGetByIdParametersImplementation = void 0;
4
+ const utilities_1 = require("@rxap/utilities");
5
+ const ts_morph_1 = require("ts-morph");
6
+ const coerce_get_operation_1 = require("./coerce-get-operation");
7
+ function BuildUpstreamGetByIdParametersImplementation(classDeclaration, moduleSourceFile, dto, options) {
8
+ return () => {
9
+ const { idProperty } = options;
10
+ return idProperty ? `{ parameters: { ${idProperty.name} } }` : '';
11
+ };
12
+ }
13
+ exports.BuildUpstreamGetByIdParametersImplementation = BuildUpstreamGetByIdParametersImplementation;
14
+ function BuiltGetByIdDtoDataMapperImplementation(classDeclaration, moduleSourceFile, dto, options) {
15
+ const { propertyList = [], upstream, isArray, idProperty, } = options;
16
+ return () => {
17
+ if (upstream) {
18
+ const mapper = {};
19
+ if (idProperty) {
20
+ mapper[idProperty.name] = idProperty.name;
21
+ }
22
+ for (const property of propertyList.filter(p => !idProperty || p.name !== idProperty.name)) {
23
+ mapper[property.name] = `data.${property.name}`;
24
+ }
25
+ if (isArray) {
26
+ return w => {
27
+ w.write('data.map(item => (');
28
+ ts_morph_1.Writers.object(mapper)(w);
29
+ w.write('))');
30
+ };
31
+ }
32
+ else {
33
+ return ts_morph_1.Writers.object(mapper);
34
+ }
35
+ }
36
+ else {
37
+ if (isArray) {
38
+ return '[]';
39
+ }
40
+ if (idProperty) {
41
+ return `{ ${idProperty.name} }`;
42
+ }
43
+ return '{}';
44
+ }
45
+ };
46
+ }
47
+ exports.BuiltGetByIdDtoDataMapperImplementation = BuiltGetByIdDtoDataMapperImplementation;
8
48
  function CoerceGetByIdOperation(options) {
9
- const { controllerName, isArray, paramList = [], propertyList = [], idProperty = { name: 'uuid', type: 'string' }, operationName = 'getById', } = options;
10
- let { nestModule } = options;
11
- /**
12
- * If the module is not specified. This controller has an own module. Else the
13
- * module is originated by another controller.
14
- *
15
- * **Example**
16
- * true:
17
- * The controller ReportDetailsController should be extended with getById Operation.
18
- * And the controller is used in the module ReportDetailsModule
19
- *
20
- * name = "report-details"
21
- * module = undefined
22
- *
23
- * false:
24
- * The controller ReportDetailsNotificationController should be extend with getById Operation.
25
- * And the controller ise used in the module ReportDetailsModule
26
- *
27
- * name = "notification"
28
- * module = "report-details"
29
- */
30
- const isFirstBornSibling = !nestModule || nestModule === controllerName;
31
- if (isFirstBornSibling && !propertyList.some(param => param.name === idProperty.name)) {
32
- propertyList.unshift(idProperty);
33
- }
34
- if (isFirstBornSibling) {
35
- nestModule = controllerName;
36
- }
37
- if (!paramList.some(param => param.name === idProperty.name)) {
38
- paramList.push({
39
- name: idProperty.name,
40
- type: idProperty.type,
41
- alias: isFirstBornSibling ? undefined : (0, schematics_utilities_1.CoerceSuffix)(nestModule, '-' + idProperty.name),
42
- fromParent: !isFirstBornSibling,
43
- });
49
+ var _a, _b;
50
+ const { controllerName, paramList = [], propertyList = [], idProperty = { name: 'uuid', type: 'string' }, operationName = 'getById', nestModule, buildUpstreamGetParametersImplementation = BuildUpstreamGetByIdParametersImplementation, builtDtoDataMapperImplementation = BuiltGetByIdDtoDataMapperImplementation, } = options;
51
+ if (idProperty) {
52
+ /**
53
+ * If the module is not specified. This controller has an own module. Else the
54
+ * module is originated by another controller.
55
+ *
56
+ * **Example**
57
+ * true:
58
+ * The controller ReportDetailsController should be extended with getById Operation.
59
+ * And the controller is used in the module ReportDetailsModule
60
+ *
61
+ * name = "report-details"
62
+ * module = undefined
63
+ *
64
+ * false:
65
+ * The controller ReportDetailsNotificationController should be extend with getById Operation.
66
+ * And the controller ise used in the module ReportDetailsModule
67
+ *
68
+ * name = "notification"
69
+ * module = "report-details"
70
+ */
71
+ const isFirstBornSibling = !nestModule || nestModule === controllerName;
72
+ if (isFirstBornSibling) {
73
+ (0, utilities_1.CoerceArrayItems)(propertyList, [{
74
+ name: idProperty.name,
75
+ type: (_a = idProperty.type) !== null && _a !== void 0 ? _a : 'string',
76
+ isArray: idProperty.isArray,
77
+ }], (a, b) => a.name === b.name, true);
78
+ }
79
+ (0, utilities_1.CoerceArrayItems)(paramList, [{
80
+ name: idProperty.name,
81
+ type: idProperty.type,
82
+ fromParent: (_b = idProperty.fromParent) !== null && _b !== void 0 ? _b : !isFirstBornSibling,
83
+ }], (a, b) => a.name === b.name, true);
44
84
  }
45
- return (0, coerce_operation_1.CoerceOperation)(Object.assign(Object.assign({}, options), { nestModule,
46
- controllerName,
85
+ return (0, coerce_get_operation_1.CoerceGetOperation)(Object.assign(Object.assign({}, options), { operationName,
47
86
  paramList,
48
- operationName, tsMorphTransform: (project, sourceFile, classDeclaration, controllerName) => {
49
- const { className: dtoClassName, filePath: dtoFilePath, } = (0, coerce_dto_class_1.CoerceDtoClass)({
50
- project,
51
- name: controllerName,
52
- propertyList,
53
- });
54
- (0, ts_morph_1.CoerceImports)(sourceFile, {
55
- namedImports: [dtoClassName],
56
- moduleSpecifier: dtoFilePath,
57
- });
58
- return {
59
- returnType: dtoClassName + (isArray ? '[]' : ''),
60
- };
61
- } }));
87
+ propertyList,
88
+ buildUpstreamGetParametersImplementation,
89
+ builtDtoDataMapperImplementation }));
62
90
  }
63
91
  exports.CoerceGetByIdOperation = CoerceGetByIdOperation;
64
92
  //# sourceMappingURL=coerce-get-by-id-operation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"coerce-get-by-id-operation.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/ts-morph/src/lib/nest/coerce-get-by-id-operation.ts"],"names":[],"mappings":";;;AAAA,qEAA0D;AAC1D,6CAA+C;AAC/C,yDAAoD;AACpD,yDAG4B;AAU5B,SAAgB,sBAAsB,CAAC,OAAuC;IAC5E,MAAM,EACJ,cAAc,EACd,OAAO,EACP,SAAS,GAAE,EAAE,EACb,YAAY,GAAG,EAAE,EACjB,UAAU,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,EAC7C,aAAa,GAAG,SAAS,GAC1B,GAAG,OAAO,CAAC;IACZ,IAAI,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAE7B;;;;;;;;;;;;;;;;;;OAkBG;IACH,MAAM,kBAAkB,GAAG,CAAC,UAAU,IAAI,UAAU,KAAK,cAAc,CAAC;IAExE,IAAI,kBAAkB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,CAAC,EAAE;QACrF,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;KAClC;IAED,IAAI,kBAAkB,EAAE;QACtB,UAAU,GAAG,cAAc,CAAC;KAC7B;IAED,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,CAAC,EAAE;QAC5D,SAAS,CAAC,IAAI,CAAC;YACb,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAA,mCAAY,EAAC,UAAW,EAAE,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC;YACxF,UAAU,EAAE,CAAC,kBAAkB;SAChC,CAAC,CAAC;KACJ;IAED,OAAO,IAAA,kCAAe,kCACjB,OAAO,KACV,UAAU;QACV,cAAc;QACd,SAAS;QACT,aAAa,EACb,gBAAgB,EAAE,CAChB,OAAO,EACP,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,EAAE;YAEF,MAAM,EACJ,SAAS,EAAE,YAAY,EACvB,QAAQ,EAAE,WAAW,GACtB,GAAG,IAAA,iCAAc,EAAC;gBACjB,OAAO;gBACP,IAAI,EAAE,cAAc;gBACpB,YAAY;aACb,CAAC,CAAC;YAEH,IAAA,wBAAa,EAAC,UAAU,EAAE;gBACxB,YAAY,EAAE,CAAE,YAAY,CAAE;gBAC9B,eAAe,EAAE,WAAW;aAC7B,CAAC,CAAC;YAEH,OAAO;gBACL,UAAU,EAAE,YAAY,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;aACjD,CAAC;QAEJ,CAAC,IACD,CAAC;AAEL,CAAC;AAnFD,wDAmFC"}
1
+ {"version":3,"file":"coerce-get-by-id-operation.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/ts-morph/src/lib/nest/coerce-get-by-id-operation.ts"],"names":[],"mappings":"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"}
@@ -1,50 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CoerceGetChildrenOperation = void 0;
4
- const schematics_utilities_1 = require("@rxap/schematics-utilities");
5
4
  const utilities_1 = require("@rxap/utilities");
6
- const coerce_imports_1 = require("../ts-morph/coerce-imports");
7
- const coerce_dto_class_1 = require("./coerce-dto-class");
8
- const coerce_operation_1 = require("./coerce-operation");
9
- const table_query_list_1 = require("./table-query-list");
5
+ const coerce_get_root_operation_1 = require("./coerce-get-root-operation");
10
6
  function CoerceGetChildrenOperation(options) {
11
- const { tsMorphTransform = utilities_1.noop, paramList = [], propertyList = [], operationName = 'get-children', } = options;
12
- (0, utilities_1.CoerceArrayItems)(propertyList, [
7
+ const { paramList = [], operationName = 'get-children', } = options;
8
+ (0, utilities_1.CoerceArrayItems)(paramList, [
13
9
  {
14
- name: 'hasChildren',
15
- type: 'boolean',
16
- },
17
- {
18
- name: 'children',
19
- type: '<self>',
20
- isArray: true,
21
- isOptional: true,
22
- isType: true,
23
- },
10
+ name: 'parentUuid',
11
+ type: 'string',
12
+ }
24
13
  ], (a, b) => a.name === b.name);
25
- paramList.push({
26
- name: 'parentUuid',
27
- type: 'string',
28
- });
29
- return (0, coerce_operation_1.CoerceOperation)(Object.assign(Object.assign({}, options), { operationName,
30
- paramList, tsMorphTransform: (project, sourceFile, classDeclaration, controllerName, moduleSourceFile) => {
31
- const { className, filePath, } = (0, coerce_dto_class_1.CoerceDtoClass)({
32
- project,
33
- name: (0, schematics_utilities_1.CoerceSuffix)(controllerName, '-item'),
34
- propertyList,
35
- });
36
- (0, coerce_imports_1.CoerceImports)(sourceFile, [
37
- {
38
- namedImports: ['FilterQuery', 'FilterQueryPipe'],
39
- moduleSpecifier: '@rxap/nest-utilities',
40
- },
41
- {
42
- namedImports: [className],
43
- moduleSpecifier: filePath,
44
- },
45
- ]);
46
- return Object.assign({ queryList: table_query_list_1.TABLE_QUERY_LIST, returnType: className + '[]' }, tsMorphTransform(project, sourceFile, classDeclaration, controllerName, moduleSourceFile));
47
- } }));
14
+ return (0, coerce_get_root_operation_1.CoerceGetRootOperation)(Object.assign(Object.assign({}, options), { operationName,
15
+ paramList }));
48
16
  }
49
17
  exports.CoerceGetChildrenOperation = CoerceGetChildrenOperation;
50
18
  //# sourceMappingURL=coerce-get-children-operation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"coerce-get-children-operation.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/ts-morph/src/lib/nest/coerce-get-children-operation.ts"],"names":[],"mappings":";;;AAAA,qEAGoC;AACpC,+CAGyB;AACzB,+DAA2D;AAC3D,yDAAoD;AAEpD,yDAG4B;AAC5B,yDAAsD;AAItD,SAAgB,0BAA0B,CAAC,OAAoD;IAC7F,MAAM,EACJ,gBAAgB,GAAG,gBAAI,EACvB,SAAS,GAAG,EAAE,EACd,YAAY,GAAG,EAAE,EACjB,aAAa,GAAG,cAAc,GAC/B,GAAG,OAAO,CAAC;IACZ,IAAA,4BAAgB,EAAC,YAAY,EAAE;QAC7B;YACE,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,SAAS;SAChB;QACD;YACE,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,IAAI;YAChB,MAAM,EAAE,IAAI;SACb;KACF,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;IAChC,SAAS,CAAC,IAAI,CAAC;QACb,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,QAAQ;KACf,CAAC,CAAC;IACH,OAAO,IAAA,kCAAe,kCACjB,OAAO,KACV,aAAa;QACb,SAAS,EACT,gBAAgB,EAAE,CAChB,OAAO,EACP,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,EAAE;YAEF,MAAM,EACJ,SAAS,EACT,QAAQ,GACT,GAAG,IAAA,iCAAc,EAAC;gBACjB,OAAO;gBACP,IAAI,EAAE,IAAA,mCAAY,EAAC,cAAc,EAAE,OAAO,CAAC;gBAC3C,YAAY;aACb,CAAC,CAAC;YAEH,IAAA,8BAAa,EAAC,UAAU,EAAE;gBACxB;oBACE,YAAY,EAAE,CAAE,aAAa,EAAE,iBAAiB,CAAE;oBAClD,eAAe,EAAE,sBAAsB;iBACxC;gBACD;oBACE,YAAY,EAAE,CAAE,SAAS,CAAE;oBAC3B,eAAe,EAAE,QAAQ;iBAC1B;aACF,CAAC,CAAC;YAEH,uBACE,SAAS,EAAE,mCAAgB,EAC3B,UAAU,EAAE,SAAS,GAAG,IAAI,IACzB,gBAAiB,CAAC,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,cAAc,EAAE,gBAAgB,CAAC,EAC7F;QACJ,CAAC,IACD,CAAC;AACL,CAAC;AA/DD,gEA+DC"}
1
+ {"version":3,"file":"coerce-get-children-operation.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/ts-morph/src/lib/nest/coerce-get-children-operation.ts"],"names":[],"mappings":";;;AAAA,+CAAmD;AACnD,2EAGqC;AAIrC,SAAgB,0BAA0B,CAAC,OAAoD;IAC7F,MAAM,EACJ,SAAS,GAAG,EAAE,EACd,aAAa,GAAG,cAAc,GAC/B,GAAG,OAAO,CAAC;IACZ,IAAA,4BAAgB,EAAC,SAAS,EAAE;QAC1B;YACA,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,QAAQ;SACb;KACF,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;IAChC,OAAO,IAAA,kDAAsB,kCACxB,OAAO,KACV,aAAa;QACb,SAAS,IACT,CAAC;AACL,CAAC;AAhBD,gEAgBC"}
@@ -1,7 +1,8 @@
1
- import { CoerceOperationOptions } from './coerce-operation';
2
- import { DtoClassProperty } from './create-dto-class';
3
- export interface CoerceGetDataGridOperationOptions extends Omit<CoerceOperationOptions, 'operationName'> {
1
+ import { CoerceGetByIdControllerOptions } from './coerce-get-by-id-operation';
2
+ export interface CoerceGetDataGridOperationOptions extends CoerceGetByIdControllerOptions {
3
+ /**
4
+ * @deprecated use isArray instead
5
+ */
4
6
  collection?: boolean;
5
- propertyList?: DtoClassProperty[];
6
7
  }
7
8
  export declare function CoerceGetDataGridOperation(options: Readonly<CoerceGetDataGridOperationOptions>): import("@angular-devkit/schematics").Rule;
@@ -1,24 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CoerceGetDataGridOperation = void 0;
4
- const utilities_1 = require("@rxap/utilities");
5
- const coerce_imports_1 = require("../ts-morph/coerce-imports");
6
- const coerce_dto_class_1 = require("./coerce-dto-class");
7
- const coerce_operation_1 = require("./coerce-operation");
4
+ const coerce_get_by_id_operation_1 = require("./coerce-get-by-id-operation");
8
5
  function CoerceGetDataGridOperation(options) {
9
- const { tsMorphTransform = utilities_1.noop, collection = false, propertyList = [], controllerName, } = options;
10
- return (0, coerce_operation_1.CoerceOperation)(Object.assign(Object.assign({}, options), { controllerName, operationName: 'get', tsMorphTransform: (project, sourceFile, classDeclaration, controllerName, moduleSourceFile) => {
11
- const { className: dtoClassName, filePath: dtoFilePath, } = (0, coerce_dto_class_1.CoerceDtoClass)({
12
- project,
13
- name: controllerName,
14
- propertyList,
15
- });
16
- (0, coerce_imports_1.CoerceImports)(sourceFile, {
17
- namedImports: [dtoClassName],
18
- moduleSpecifier: dtoFilePath,
19
- });
20
- return Object.assign({ returnType: dtoClassName + (collection ? '[]' : '') }, tsMorphTransform(project, sourceFile, classDeclaration, controllerName, moduleSourceFile));
21
- } }));
6
+ const { collection = false, isArray = collection !== null && collection !== void 0 ? collection : false, operationName = 'get',
7
+ // if not explicitly defined the idProperty is set to null, as not each data grid operation has an id
8
+ idProperty = null, } = options;
9
+ return (0, coerce_get_by_id_operation_1.CoerceGetByIdOperation)(Object.assign(Object.assign({}, options), { operationName,
10
+ idProperty,
11
+ isArray }));
22
12
  }
23
13
  exports.CoerceGetDataGridOperation = CoerceGetDataGridOperation;
24
14
  //# sourceMappingURL=coerce-get-data-grid-operation.js.map