@decaf-ts/for-nest 0.2.30 → 0.2.31

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.
@@ -7,36 +7,29 @@ const decoration_2 = require("./../../overrides/decoration.cjs");
7
7
  const decorator_validation_1 = require("@decaf-ts/decorator-validation");
8
8
  const core_1 = require("@decaf-ts/core");
9
9
  const logging_1 = require("@decaf-ts/logging");
10
+ const constants_1 = require("./../../overrides/constants.cjs");
10
11
  const dtoCache = new Map();
11
- // export function toCache(){
12
- // const cacheableProps: Record<keyof M, any> = Metadata.get(
13
- // model.constructor as Constructor,
14
- // PTPKeys.CACHE
15
- // );
16
- // if (!cacheableProps)
17
- // throw new InternalError("No cacheable properties defined for this model.");
18
- // try {
19
- // const cacheData: Record<keyof M, any> = {} as any;
20
- // for (const key of Object.keys(cacheableProps) as (keyof M)[]) {
21
- // if (
22
- // (model[key] as any) instanceof Model &&
23
- // (model[key] as ICacheable).toCache
24
- // ) {
25
- // cacheData[key] = (model[key] as ICacheable).toCache();
26
- // } else if (
27
- // Array.isArray(model[key]) &&
28
- // model[key].length &&
29
- // model[key].every(
30
- // (m) => m instanceof Model && (m as unknown as ICacheable).toCache
31
- // )
32
- // ) {
33
- // cacheData[key] = (model[key] as unknown as ICacheable[]).map((m) =>
34
- // m.toCache()
35
- // );
36
- // } else cacheData[key] = model[key];
37
- // }
38
- // return (stringify ? JSON.stringify(cacheData) : cacheData) as any;
39
- // }
12
+ /**
13
+ * Builds a Nest/Swagger DTO class for the given model and CRUD operation.
14
+ *
15
+ * Rules:
16
+ * - Only CREATE and UPDATE (and their bulk variants) produce a DTO;
17
+ * all other operations return the original model class unchanged.
18
+ * - @generated() properties (createdAt, updatedAt, createdBy, updatedBy,
19
+ * uuid, version, @composed pks, …) are **never** exposed in any DTO.
20
+ * - The @pk() property:
21
+ * • UPDATE always included.
22
+ * • CREATE – included only when the pk is NOT auto-generated
23
+ * (checked via Model.pkProps().generated AND Model.generated()).
24
+ * - Relation properties (@oneToOne, @oneToMany, ):
25
+ * • CREATE – nested as DtoFor(CREATE, RelatedModel).
26
+ * • UPDATE – union of DtoFor(UPDATE, RelatedModel) **or** the
27
+ * related model's primary-key type (string / integer),
28
+ * expressed as a Swagger oneOf.
29
+ *
30
+ * Metadata.properties() now returns ALL properties across the prototype chain,
31
+ * so DTO inheritance is no longer needed; every DTO is a flat class.
32
+ */
40
33
  function DtoFor(op, model) {
41
34
  if (!core_1.TransactionOperationKeys.includes(op)) {
42
35
  return model;
@@ -45,36 +38,16 @@ function DtoFor(op, model) {
45
38
  const cached = cache.get(model);
46
39
  if (cached)
47
40
  return cached;
48
- const ancestors = collectInheritance(model);
49
- for (const ancestor of ancestors) {
50
- if (decorator_validation_1.Model.isModel(ancestor)) {
51
- DtoFor(op, ancestor);
52
- }
53
- }
54
- const parentModel = ancestors.at(-1);
55
- const parentDto = parentModel && decorator_validation_1.Model.isModel(parentModel)
56
- ? cache.get(parentModel) || DtoFor(op, parentModel)
57
- : decorator_validation_1.Model;
58
- class DynamicDTO extends parentDto {
41
+ const isUpdateOp = [
42
+ db_decorators_1.OperationKeys.UPDATE,
43
+ db_decorators_1.BulkCrudOperationKeys.UPDATE_ALL,
44
+ ].includes(op);
45
+ class DynamicDTO {
59
46
  }
60
47
  cache.set(model, DynamicDTO);
61
48
  Object.defineProperty(DynamicDTO, "name", {
62
49
  value: `${(0, logging_1.toPascalCase)(model.name)}${(0, logging_1.toPascalCase)(op)}DTO`,
63
50
  });
64
- const schemaProps = decoration_1.Metadata.properties(model) || [];
65
- const createdByMetadata = decoration_1.Metadata.get(model, core_1.PersistenceKeys.CREATED_BY);
66
- const updatedByMetadata = decoration_1.Metadata.get(model, core_1.PersistenceKeys.UPDATED_BY);
67
- const metadataOwnershipProps = [
68
- ...Object.keys(createdByMetadata || {}),
69
- ...Object.keys(updatedByMetadata || {}),
70
- ];
71
- const manualOwnershipProps = ["createdBy", "updatedBy"].filter((prop) => schemaProps.includes(prop));
72
- const ownershipProps = Array.from(new Set([...metadataOwnershipProps, ...manualOwnershipProps]));
73
- const props = Array.from(new Set([...schemaProps, ...ownershipProps]));
74
- const relations = collectRelations(model);
75
- const relationProps = new Set(relations);
76
- const generatedProps = props.filter((prop) => isGeneratedAcrossInheritance(model, prop));
77
- const exceptions = new Set([...generatedProps, ...ownershipProps]);
78
51
  const pkProp = (() => {
79
52
  try {
80
53
  return decorator_validation_1.Model.pk(model);
@@ -83,19 +56,27 @@ function DtoFor(op, model) {
83
56
  return undefined;
84
57
  }
85
58
  })();
86
- const isUpdateOp = [db_decorators_1.OperationKeys.UPDATE, db_decorators_1.BulkCrudOperationKeys.UPDATE_ALL].includes(op);
87
- const allowedProps = props.filter((prop) => {
88
- if (relationProps.has(prop))
59
+ const pkIsGenerated = pkProp
60
+ ? !!decorator_validation_1.Model.pkProps(model)?.generated ||
61
+ isGeneratedAcrossInheritance(model, pkProp)
62
+ : false;
63
+ const allProps = Array.from(new Set(decoration_1.Metadata.properties(model) || []));
64
+ const relations = new Set(decorator_validation_1.Model.relations(model) || []);
65
+ const scalarProps = allProps.filter((prop) => {
66
+ if (relations.has(prop))
89
67
  return false;
90
- if (exceptions.has(prop)) {
91
- return isUpdateOp && prop === pkProp;
68
+ if (prop === pkProp) {
69
+ return isUpdateOp || !pkIsGenerated;
92
70
  }
71
+ if (isGeneratedAcrossInheritance(model, prop))
72
+ return false;
93
73
  return true;
94
74
  });
95
- for (const prop of allowedProps) {
96
- const validation = decoration_1.Metadata.validationFor(model, prop);
75
+ for (const prop of scalarProps) {
76
+ const validation = getValidationAcrossInheritance(model, prop);
97
77
  const isRequired = !!validation?.[decorator_validation_1.ValidationKeys.REQUIRED];
98
- const typeHint = decoration_1.Metadata.type(model, prop);
78
+ const typeHint = getTypeAcrossInheritance(model, prop) ??
79
+ Reflect.getMetadata("design:type", model.prototype, prop);
99
80
  const apiOptions = {
100
81
  required: isRequired,
101
82
  };
@@ -114,22 +95,6 @@ function DtoFor(op, model) {
114
95
  configurable: true,
115
96
  });
116
97
  }
117
- function addRelation(relation, relationDto, isArray, isRequired) {
118
- const apiOptions = {
119
- type: relationDto,
120
- required: isRequired,
121
- isArray,
122
- };
123
- (0, decoration_2.ApiProperty)(apiOptions)(DynamicDTO.prototype, relation);
124
- Object.defineProperty(DynamicDTO.prototype, relation, {
125
- value: undefined,
126
- writable: true,
127
- enumerable: true,
128
- configurable: true,
129
- });
130
- Reflect.defineMetadata("design:type", isArray ? Array : relationDto, DynamicDTO.prototype, relation);
131
- }
132
- // Add processed relations back to the DTO
133
98
  for (const relation of relations) {
134
99
  const relationMeta = decoration_1.Metadata.relations(model, relation);
135
100
  if (!relationMeta) {
@@ -146,23 +111,64 @@ function DtoFor(op, model) {
146
111
  continue;
147
112
  }
148
113
  const meta = decoration_1.Metadata.validationFor(model, relation);
114
+ const isArray = !!meta?.[decorator_validation_1.ValidationKeys.LIST];
115
+ const isRequired = !!meta?.[decorator_validation_1.ValidationKeys.REQUIRED];
149
116
  const relationDto = DtoFor(op, relationType);
150
- const isArray = !!meta[decorator_validation_1.ValidationKeys.LIST];
151
- addRelation(relation, relationDto, isArray, !!meta[decorator_validation_1.ValidationKeys.REQUIRED]);
117
+ if (isUpdateOp) {
118
+ addRelationUpdate(DynamicDTO, relation, relationType, relationDto, isArray, isRequired);
119
+ }
120
+ else {
121
+ addRelation(DynamicDTO, relation, relationDto, isArray, isRequired);
122
+ }
152
123
  }
153
124
  return DynamicDTO;
154
125
  }
155
- function collectInheritance(model) {
156
- const ancestors = [];
157
- let current = Object.getPrototypeOf(model);
158
- while (current && current !== Object && current !== Function) {
159
- ancestors.push(current);
160
- current = Object.getPrototypeOf(current);
126
+ function addRelation(DtoClass, relation, relationDto, isArray, isRequired) {
127
+ const apiOptions = {
128
+ type: relationDto,
129
+ required: isRequired,
130
+ isArray,
131
+ };
132
+ (0, decoration_2.ApiProperty)(apiOptions)(DtoClass.prototype, relation);
133
+ Reflect.defineMetadata("design:type", isArray ? Array : relationDto, DtoClass.prototype, relation);
134
+ Object.defineProperty(DtoClass.prototype, relation, {
135
+ value: undefined,
136
+ writable: true,
137
+ enumerable: true,
138
+ configurable: true,
139
+ });
140
+ }
141
+ function addRelationUpdate(DtoClass, relation, relationType, relationDto, isArray, isRequired) {
142
+ const extraModels = Reflect.getMetadata(constants_1.DECORATORS.API_EXTRA_MODELS, DtoClass) || [];
143
+ if (!extraModels.includes(relationDto)) {
144
+ Reflect.defineMetadata(constants_1.DECORATORS.API_EXTRA_MODELS, [...extraModels, relationDto], DtoClass);
161
145
  }
162
- return ancestors.reverse();
146
+ const dtoRef = `#/components/schemas/${relationDto.name}`;
147
+ const pkTypeName = getPkOpenApiType(relationType);
148
+ const oneOfItems = [{ $ref: dtoRef }, { type: pkTypeName }];
149
+ const apiOptions = isArray
150
+ ? { type: "array", required: isRequired, oneOf: oneOfItems }
151
+ : { type: Object, required: isRequired, oneOf: oneOfItems };
152
+ (0, decoration_2.ApiProperty)(apiOptions)(DtoClass.prototype, relation);
153
+ Reflect.defineMetadata("design:type", isArray ? Array : Object, DtoClass.prototype, relation);
154
+ Object.defineProperty(DtoClass.prototype, relation, {
155
+ value: undefined,
156
+ writable: true,
157
+ enumerable: true,
158
+ configurable: true,
159
+ });
163
160
  }
164
- function collectRelations(model) {
165
- return decorator_validation_1.Model.relations(model) || [];
161
+ function getPkOpenApiType(relationType) {
162
+ try {
163
+ const pkPropsMetadata = decorator_validation_1.Model.pkProps(relationType);
164
+ const pkType = pkPropsMetadata?.type;
165
+ if (pkType === Number || pkType === BigInt)
166
+ return "integer";
167
+ return "string";
168
+ }
169
+ catch {
170
+ return "string";
171
+ }
166
172
  }
167
173
  function isGeneratedAcrossInheritance(model, prop) {
168
174
  let current = model;
@@ -173,6 +179,26 @@ function isGeneratedAcrossInheritance(model, prop) {
173
179
  }
174
180
  return false;
175
181
  }
182
+ function getValidationAcrossInheritance(model, prop) {
183
+ let current = model;
184
+ while (current && current !== Object && current !== Function) {
185
+ const validation = decoration_1.Metadata.validationFor(current, prop);
186
+ if (validation)
187
+ return validation;
188
+ current = Object.getPrototypeOf(current);
189
+ }
190
+ return undefined;
191
+ }
192
+ function getTypeAcrossInheritance(model, prop) {
193
+ let current = model;
194
+ while (current && current !== Object && current !== Function) {
195
+ const type = decoration_1.Metadata.type(current, prop);
196
+ if (type)
197
+ return type;
198
+ current = Object.getPrototypeOf(current);
199
+ }
200
+ return undefined;
201
+ }
176
202
  function getDtoCache(op) {
177
203
  if (!dtoCache.has(op)) {
178
204
  dtoCache.set(op, new WeakMap());
@@ -1,4 +1,25 @@
1
1
  import { OperationKeys } from "@decaf-ts/db-decorators";
2
2
  import { Constructor } from "@decaf-ts/decoration";
3
3
  import { Model } from "@decaf-ts/decorator-validation";
4
+ /**
5
+ * Builds a Nest/Swagger DTO class for the given model and CRUD operation.
6
+ *
7
+ * Rules:
8
+ * - Only CREATE and UPDATE (and their bulk variants) produce a DTO;
9
+ * all other operations return the original model class unchanged.
10
+ * - @generated() properties (createdAt, updatedAt, createdBy, updatedBy,
11
+ * uuid, version, @composed pks, …) are **never** exposed in any DTO.
12
+ * - The @pk() property:
13
+ * • UPDATE – always included.
14
+ * • CREATE – included only when the pk is NOT auto-generated
15
+ * (checked via Model.pkProps().generated AND Model.generated()).
16
+ * - Relation properties (@oneToOne, @oneToMany, …):
17
+ * • CREATE – nested as DtoFor(CREATE, RelatedModel).
18
+ * • UPDATE – union of DtoFor(UPDATE, RelatedModel) **or** the
19
+ * related model's primary-key type (string / integer),
20
+ * expressed as a Swagger oneOf.
21
+ *
22
+ * Metadata.properties() now returns ALL properties across the prototype chain,
23
+ * so DTO inheritance is no longer needed; every DTO is a flat class.
24
+ */
4
25
  export declare function DtoFor<M extends Model>(op: OperationKeys, model: Constructor<M>): Constructor<any>;
@@ -1 +1 @@
1
- {"version":3,"file":"DtoBuilder.js","sourceRoot":"","sources":["../../../src/factory/openapi/DtoBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DtoBuilder.js","sourceRoot":"","sources":["../../../src/factory/openapi/DtoBuilder.ts"],"names":[],"mappings":"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"}
package/lib/index.cjs CHANGED
@@ -56,7 +56,7 @@ __exportStar(require("./events-module/index.cjs"), exports);
56
56
  * @constant
57
57
  * @type {string}
58
58
  */
59
- exports.VERSION = "0.2.29";
59
+ exports.VERSION = "0.2.30";
60
60
  exports.PACKAGE_NAME = "@decaf-ts/for-nest";
61
61
  decoration_1.Metadata.registerLibrary(exports.PACKAGE_NAME, exports.VERSION);
62
62
  //# sourceMappingURL=index.js.map
package/lib/index.d.ts CHANGED
@@ -38,5 +38,5 @@ export * from "./events-module";
38
38
  * @constant
39
39
  * @type {string}
40
40
  */
41
- export declare const VERSION = "0.2.29";
41
+ export declare const VERSION = "0.2.30";
42
42
  export declare const PACKAGE_NAME = "@decaf-ts/for-nest";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@decaf-ts/for-nest",
3
- "version": "0.2.30",
3
+ "version": "0.2.31",
4
4
  "description": "NestJS decaf integration",
5
5
  "type": "module",
6
6
  "exports": {
@@ -120,7 +120,7 @@
120
120
  "fabric-ca-client": {
121
121
  "jsrsasign": "^11.1.0"
122
122
  },
123
- "minimatch": "^10.2.2",
123
+ "minimatch": "^10.2.3",
124
124
  "test-exclude": "7.0.1",
125
125
  "ajv": "^8.17.2"
126
126
  }