@klerick/json-api-nestjs 10.0.0-beta.1 → 10.0.0-beta.11

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 (153) hide show
  1. package/CHANGELOG.md +217 -0
  2. package/README.md +614 -0
  3. package/package.json +38 -34
  4. package/src/index.d.ts +6 -6
  5. package/src/index.js +6 -1
  6. package/src/index.js.map +1 -1
  7. package/src/lib/constants/constants.d.ts +4 -0
  8. package/src/lib/constants/constants.js +12 -1
  9. package/src/lib/constants/constants.js.map +1 -1
  10. package/src/lib/constants/reflection.d.ts +2 -0
  11. package/src/lib/constants/reflection.js +3 -1
  12. package/src/lib/constants/reflection.js.map +1 -1
  13. package/src/lib/json-api.module.js +3 -2
  14. package/src/lib/json-api.module.js.map +1 -1
  15. package/src/lib/modules/atomic-operation/atomic-operation.module.d.ts +1 -2
  16. package/src/lib/modules/atomic-operation/atomic-operation.module.js +12 -5
  17. package/src/lib/modules/atomic-operation/atomic-operation.module.js.map +1 -1
  18. package/src/lib/modules/atomic-operation/factory/map-controller-entity.d.ts +1 -2
  19. package/src/lib/modules/atomic-operation/factory/map-controller-entity.js +8 -7
  20. package/src/lib/modules/atomic-operation/factory/map-controller-entity.js.map +1 -1
  21. package/src/lib/modules/atomic-operation/pipes/input-operation.pipe.js +1 -4
  22. package/src/lib/modules/atomic-operation/pipes/input-operation.pipe.js.map +1 -1
  23. package/src/lib/modules/atomic-operation/service/execute.service.d.ts +6 -0
  24. package/src/lib/modules/atomic-operation/service/execute.service.js +46 -2
  25. package/src/lib/modules/atomic-operation/service/execute.service.js.map +1 -1
  26. package/src/lib/modules/atomic-operation/service/explorer.service.js +1 -1
  27. package/src/lib/modules/atomic-operation/service/explorer.service.js.map +1 -1
  28. package/src/lib/modules/atomic-operation/service/swagger.service.js +2 -2
  29. package/src/lib/modules/atomic-operation/service/swagger.service.js.map +1 -1
  30. package/src/lib/modules/atomic-operation/utils/zod/zod-helper.d.ts +35 -680
  31. package/src/lib/modules/atomic-operation/utils/zod/zod-helper.js +6 -7
  32. package/src/lib/modules/atomic-operation/utils/zod/zod-helper.js.map +1 -1
  33. package/src/lib/modules/mixin/config/bindings.js +9 -9
  34. package/src/lib/modules/mixin/config/bindings.js.map +1 -1
  35. package/src/lib/modules/mixin/decorators/index.d.ts +1 -0
  36. package/src/lib/modules/mixin/decorators/index.js +1 -0
  37. package/src/lib/modules/mixin/decorators/index.js.map +1 -1
  38. package/src/lib/modules/mixin/decorators/json-api-read-only/json-api-read-only.decorator.d.ts +48 -0
  39. package/src/lib/modules/mixin/decorators/json-api-read-only/json-api-read-only.decorator.js +83 -0
  40. package/src/lib/modules/mixin/decorators/json-api-read-only/json-api-read-only.decorator.js.map +1 -0
  41. package/src/lib/modules/mixin/factory/zod-validate.factory.js +11 -6
  42. package/src/lib/modules/mixin/factory/zod-validate.factory.js.map +1 -1
  43. package/src/lib/modules/mixin/helpers/bind-controller.js +10 -3
  44. package/src/lib/modules/mixin/helpers/bind-controller.js.map +1 -1
  45. package/src/lib/modules/mixin/helpers/create-controller.js +3 -0
  46. package/src/lib/modules/mixin/helpers/create-controller.js.map +1 -1
  47. package/src/lib/modules/mixin/helpers/utils.d.ts +2 -0
  48. package/src/lib/modules/mixin/helpers/utils.js +10 -0
  49. package/src/lib/modules/mixin/helpers/utils.js.map +1 -1
  50. package/src/lib/modules/mixin/mixin.module.js +1 -0
  51. package/src/lib/modules/mixin/mixin.module.js.map +1 -1
  52. package/src/lib/modules/mixin/pipe/patch-input/patch-input.pipe.js +1 -4
  53. package/src/lib/modules/mixin/pipe/patch-input/patch-input.pipe.js.map +1 -1
  54. package/src/lib/modules/mixin/pipe/patch-relationship/patch-relationship.pipe.js +1 -4
  55. package/src/lib/modules/mixin/pipe/patch-relationship/patch-relationship.pipe.js.map +1 -1
  56. package/src/lib/modules/mixin/pipe/post-input/post-input.pipe.d.ts +1 -0
  57. package/src/lib/modules/mixin/pipe/post-input/post-input.pipe.js +10 -4
  58. package/src/lib/modules/mixin/pipe/post-input/post-input.pipe.js.map +1 -1
  59. package/src/lib/modules/mixin/pipe/post-relationship/post-relationship.pipe.js +1 -4
  60. package/src/lib/modules/mixin/pipe/post-relationship/post-relationship.pipe.js.map +1 -1
  61. package/src/lib/modules/mixin/pipe/query-filed-on-include/query-filed-in-include.pipe.js +2 -4
  62. package/src/lib/modules/mixin/pipe/query-filed-on-include/query-filed-in-include.pipe.js.map +1 -1
  63. package/src/lib/modules/mixin/pipe/query-input/query-input.pipe.js +1 -4
  64. package/src/lib/modules/mixin/pipe/query-input/query-input.pipe.js.map +1 -1
  65. package/src/lib/modules/mixin/service/json-api-transformer.service.js +27 -4
  66. package/src/lib/modules/mixin/service/json-api-transformer.service.js.map +1 -1
  67. package/src/lib/modules/mixin/swagger/method/delete-relationship.js +3 -3
  68. package/src/lib/modules/mixin/swagger/method/delete-relationship.js.map +1 -1
  69. package/src/lib/modules/mixin/swagger/method/index.d.ts +0 -4
  70. package/src/lib/modules/mixin/swagger/method/index.js.map +1 -1
  71. package/src/lib/modules/mixin/swagger/method/patch-one.js +6 -3
  72. package/src/lib/modules/mixin/swagger/method/patch-one.js.map +1 -1
  73. package/src/lib/modules/mixin/swagger/method/patch-relationship.js +3 -3
  74. package/src/lib/modules/mixin/swagger/method/patch-relationship.js.map +1 -1
  75. package/src/lib/modules/mixin/swagger/method/post-one.js +6 -3
  76. package/src/lib/modules/mixin/swagger/method/post-one.js.map +1 -1
  77. package/src/lib/modules/mixin/swagger/method/post-relationship.js +3 -3
  78. package/src/lib/modules/mixin/swagger/method/post-relationship.js.map +1 -1
  79. package/src/lib/modules/mixin/swagger/utils.d.ts +2 -0
  80. package/src/lib/modules/mixin/swagger/utils.js +16 -1
  81. package/src/lib/modules/mixin/swagger/utils.js.map +1 -1
  82. package/src/lib/modules/mixin/types/decorator-options.type.d.ts +1 -0
  83. package/src/lib/modules/mixin/types/orm-service.type.d.ts +8 -0
  84. package/src/lib/modules/mixin/zod/index.d.ts +1 -0
  85. package/src/lib/modules/mixin/zod/index.js +6 -0
  86. package/src/lib/modules/mixin/zod/index.js.map +1 -1
  87. package/src/lib/modules/mixin/zod/map-transform-to-json-shema.d.ts +6 -0
  88. package/src/lib/modules/mixin/zod/map-transform-to-json-shema.js +27 -0
  89. package/src/lib/modules/mixin/zod/map-transform-to-json-shema.js.map +1 -0
  90. package/src/lib/modules/mixin/zod/zod-input-patch-relationship-schema/index.d.ts +4 -44
  91. package/src/lib/modules/mixin/zod/zod-input-patch-relationship-schema/index.js +2 -3
  92. package/src/lib/modules/mixin/zod/zod-input-patch-relationship-schema/index.js.map +1 -1
  93. package/src/lib/modules/mixin/zod/zod-input-patch-schema/index.d.ts +16 -5
  94. package/src/lib/modules/mixin/zod/zod-input-patch-schema/index.js +7 -9
  95. package/src/lib/modules/mixin/zod/zod-input-patch-schema/index.js.map +1 -1
  96. package/src/lib/modules/mixin/zod/zod-input-post-relationship-schema/index.d.ts +4 -50
  97. package/src/lib/modules/mixin/zod/zod-input-post-relationship-schema/index.js +2 -3
  98. package/src/lib/modules/mixin/zod/zod-input-post-relationship-schema/index.js.map +1 -1
  99. package/src/lib/modules/mixin/zod/zod-input-post-schema/index.d.ts +16 -6
  100. package/src/lib/modules/mixin/zod/zod-input-post-schema/index.js +7 -13
  101. package/src/lib/modules/mixin/zod/zod-input-post-schema/index.js.map +1 -1
  102. package/src/lib/modules/mixin/zod/zod-input-query-schema/fields.d.ts +13 -27
  103. package/src/lib/modules/mixin/zod/zod-input-query-schema/fields.js +20 -13
  104. package/src/lib/modules/mixin/zod/zod-input-query-schema/fields.js.map +1 -1
  105. package/src/lib/modules/mixin/zod/zod-input-query-schema/filter.d.ts +72 -987
  106. package/src/lib/modules/mixin/zod/zod-input-query-schema/filter.js +11 -7
  107. package/src/lib/modules/mixin/zod/zod-input-query-schema/filter.js.map +1 -1
  108. package/src/lib/modules/mixin/zod/zod-input-query-schema/include.d.ts +1 -1
  109. package/src/lib/modules/mixin/zod/zod-input-query-schema/index.d.ts +73 -4933
  110. package/src/lib/modules/mixin/zod/zod-input-query-schema/index.js +6 -3
  111. package/src/lib/modules/mixin/zod/zod-input-query-schema/index.js.map +1 -1
  112. package/src/lib/modules/mixin/zod/zod-input-query-schema/sort.d.ts +1 -1
  113. package/src/lib/modules/mixin/zod/zod-query-schema/fields.d.ts +3 -3
  114. package/src/lib/modules/mixin/zod/zod-query-schema/fields.js +6 -2
  115. package/src/lib/modules/mixin/zod/zod-query-schema/fields.js.map +1 -1
  116. package/src/lib/modules/mixin/zod/zod-query-schema/filter.d.ts +24 -104
  117. package/src/lib/modules/mixin/zod/zod-query-schema/filter.js +32 -10
  118. package/src/lib/modules/mixin/zod/zod-query-schema/filter.js.map +1 -1
  119. package/src/lib/modules/mixin/zod/zod-query-schema/include.d.ts +1 -1
  120. package/src/lib/modules/mixin/zod/zod-query-schema/include.js +1 -1
  121. package/src/lib/modules/mixin/zod/zod-query-schema/include.js.map +1 -1
  122. package/src/lib/modules/mixin/zod/zod-query-schema/index.d.ts +4 -4
  123. package/src/lib/modules/mixin/zod/zod-query-schema/index.js +3 -4
  124. package/src/lib/modules/mixin/zod/zod-query-schema/index.js.map +1 -1
  125. package/src/lib/modules/mixin/zod/zod-query-schema/sort.d.ts +11 -3
  126. package/src/lib/modules/mixin/zod/zod-query-schema/sort.js +1 -1
  127. package/src/lib/modules/mixin/zod/zod-query-schema/sort.js.map +1 -1
  128. package/src/lib/modules/mixin/zod/zod-share/attributes.d.ts +15 -14
  129. package/src/lib/modules/mixin/zod/zod-share/attributes.js +26 -20
  130. package/src/lib/modules/mixin/zod/zod-share/attributes.js.map +1 -1
  131. package/src/lib/modules/mixin/zod/zod-share/page.d.ts +3 -9
  132. package/src/lib/modules/mixin/zod/zod-share/rel-data.d.ts +4 -40
  133. package/src/lib/modules/mixin/zod/zod-share/rel-data.js +2 -2
  134. package/src/lib/modules/mixin/zod/zod-share/rel-data.js.map +1 -1
  135. package/src/lib/modules/mixin/zod/zod-share/relationships.d.ts +8 -304
  136. package/src/lib/modules/mixin/zod/zod-share/relationships.js +1 -1
  137. package/src/lib/modules/mixin/zod/zod-share/relationships.js.map +1 -1
  138. package/src/lib/modules/mixin/zod/zod-utils.d.ts +2 -1
  139. package/src/lib/modules/mixin/zod/zod-utils.js +12 -0
  140. package/src/lib/modules/mixin/zod/zod-utils.js.map +1 -1
  141. package/src/lib/types/entity-param.type.d.ts +6 -4
  142. package/src/lib/types/entity-param.type.js +13 -0
  143. package/src/lib/types/entity-param.type.js.map +1 -1
  144. package/src/lib/types/error.types.d.ts +3 -3
  145. package/src/lib/types/index.d.ts +1 -0
  146. package/src/lib/types/index.js +1 -0
  147. package/src/lib/types/index.js.map +1 -1
  148. package/src/lib/types/json-api-read-only.d.ts +51 -0
  149. package/src/lib/types/json-api-read-only.js +3 -0
  150. package/src/lib/types/json-api-read-only.js.map +1 -0
  151. package/src/lib/types/module-options.types.d.ts +6 -1
  152. package/src/lib/utils/module-helper.js +5 -0
  153. package/src/lib/utils/module-helper.js.map +1 -1
@@ -5,9 +5,7 @@ exports.zodInputOperation = zodInputOperation;
5
5
  const json_api_nestjs_shared_1 = require("@klerick/json-api-nestjs-shared");
6
6
  const zod_1 = require("zod");
7
7
  const change_case_commonjs_1 = require("change-case-commonjs");
8
- const literalSchema = zod_1.z.union([zod_1.z.string(), zod_1.z.number(), zod_1.z.boolean(), zod_1.z.null()]);
9
- const jsonSchema = zod_1.z.lazy(() => zod_1.z.union([literalSchema, zod_1.z.array(jsonSchema), zod_1.z.record(jsonSchema)]));
10
- const zodGeneralData = jsonSchema.nullable();
8
+ const zodGeneralData = zod_1.z.json().nullable();
11
9
  const zodAdd = (type) => zod_1.z
12
10
  .object({
13
11
  op: zod_1.z.literal(json_api_nestjs_shared_1.Operation.add),
@@ -15,6 +13,7 @@ const zodAdd = (type) => zod_1.z
15
13
  .object({
16
14
  type: zod_1.z.literal(type),
17
15
  tmpId: zod_1.z.union([zod_1.z.number(), zod_1.z.string()]).optional(),
16
+ id: zod_1.z.string().optional(),
18
17
  })
19
18
  .strict(),
20
19
  data: zodGeneralData,
@@ -81,19 +80,19 @@ function zodInputOperation(mapController, entityMapProps) {
81
80
  if (hasOwnProperty('deleteOne')) {
82
81
  array.push((0, exports.zodRemove)(typeName));
83
82
  }
84
- if (hasOwnProperty('postRelationship')) {
83
+ if (hasOwnProperty('postRelationship') && relations.length > 0) {
85
84
  array.push((0, exports.zodOperationRel)(typeName, relations, json_api_nestjs_shared_1.Operation.add));
86
85
  }
87
- if (hasOwnProperty('deleteRelationship')) {
86
+ if (hasOwnProperty('deleteRelationship') && relations.length > 0) {
88
87
  array.push((0, exports.zodOperationRel)(typeName, relations, json_api_nestjs_shared_1.Operation.remove));
89
88
  }
90
- if (hasOwnProperty('patchRelationship')) {
89
+ if (hasOwnProperty('patchRelationship') && relations.length > 0) {
91
90
  array.push((0, exports.zodOperationRel)(typeName, relations, json_api_nestjs_shared_1.Operation.update));
92
91
  }
93
92
  }
94
93
  return zod_1.z
95
94
  .object({
96
- [json_api_nestjs_shared_1.KEY_MAIN_INPUT_SCHEMA]: zod_1.z.array(zod_1.z.union(array)).nonempty(),
95
+ [json_api_nestjs_shared_1.KEY_MAIN_INPUT_SCHEMA]: array.length > 0 ? zod_1.z.array(zod_1.z.union(array)).nonempty() : zod_1.z.never(),
97
96
  })
98
97
  .strict();
99
98
  }
@@ -1 +1 @@
1
- {"version":3,"file":"zod-helper.js","sourceRoot":"","sources":["../../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/atomic-operation/utils/zod/zod-helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"zod-helper.js","sourceRoot":"","sources":["../../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/atomic-operation/utils/zod/zod-helper.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ const json_base_controller_1 = require("../controllers/json-base.controller");
6
6
  const constants_1 = require("../../../constants");
7
7
  const pipe_1 = require("../pipe");
8
8
  const Bindings = {
9
- getAll: {
9
+ [constants_1.METHOD_NAME.getAll]: {
10
10
  method: common_1.RequestMethod.GET,
11
11
  name: 'getAll',
12
12
  path: '/',
@@ -23,7 +23,7 @@ const Bindings = {
23
23
  },
24
24
  ],
25
25
  },
26
- getOne: {
26
+ [constants_1.METHOD_NAME.getOne]: {
27
27
  method: common_1.RequestMethod.GET,
28
28
  name: 'getOne',
29
29
  path: `:${constants_1.PARAMS_RESOURCE_ID}`,
@@ -45,7 +45,7 @@ const Bindings = {
45
45
  },
46
46
  ],
47
47
  },
48
- deleteOne: {
48
+ [constants_1.METHOD_NAME.deleteOne]: {
49
49
  method: common_1.RequestMethod.DELETE,
50
50
  name: 'deleteOne',
51
51
  path: `:${constants_1.PARAMS_RESOURCE_ID}`,
@@ -58,7 +58,7 @@ const Bindings = {
58
58
  },
59
59
  ],
60
60
  },
61
- postOne: {
61
+ [constants_1.METHOD_NAME.postOne]: {
62
62
  method: common_1.RequestMethod.POST,
63
63
  name: 'postOne',
64
64
  path: '/',
@@ -70,7 +70,7 @@ const Bindings = {
70
70
  },
71
71
  ],
72
72
  },
73
- patchOne: {
73
+ [constants_1.METHOD_NAME.patchOne]: {
74
74
  method: common_1.RequestMethod.PATCH,
75
75
  name: 'patchOne',
76
76
  path: `:${constants_1.PARAMS_RESOURCE_ID}`,
@@ -87,7 +87,7 @@ const Bindings = {
87
87
  },
88
88
  ],
89
89
  },
90
- getRelationship: {
90
+ [constants_1.METHOD_NAME.getRelationship]: {
91
91
  path: `:${constants_1.PARAMS_RESOURCE_ID}/relationships/:${constants_1.PARAMS_RELATION_NAME}`,
92
92
  name: 'getRelationship',
93
93
  method: common_1.RequestMethod.GET,
@@ -105,7 +105,7 @@ const Bindings = {
105
105
  },
106
106
  ],
107
107
  },
108
- postRelationship: {
108
+ [constants_1.METHOD_NAME.postRelationship]: {
109
109
  path: `:${constants_1.PARAMS_RESOURCE_ID}/relationships/:${constants_1.PARAMS_RELATION_NAME}`,
110
110
  name: 'postRelationship',
111
111
  method: common_1.RequestMethod.POST,
@@ -127,7 +127,7 @@ const Bindings = {
127
127
  },
128
128
  ],
129
129
  },
130
- deleteRelationship: {
130
+ [constants_1.METHOD_NAME.deleteRelationship]: {
131
131
  path: `:${constants_1.PARAMS_RESOURCE_ID}/relationships/:${constants_1.PARAMS_RELATION_NAME}`,
132
132
  name: 'deleteRelationship',
133
133
  method: common_1.RequestMethod.DELETE,
@@ -149,7 +149,7 @@ const Bindings = {
149
149
  },
150
150
  ],
151
151
  },
152
- patchRelationship: {
152
+ [constants_1.METHOD_NAME.patchRelationship]: {
153
153
  path: `:${constants_1.PARAMS_RESOURCE_ID}/relationships/:${constants_1.PARAMS_RELATION_NAME}`,
154
154
  name: 'patchRelationship',
155
155
  method: common_1.RequestMethod.PATCH,
@@ -1 +1 @@
1
- {"version":3,"file":"bindings.js","sourceRoot":"","sources":["../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/config/bindings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bindings.js","sourceRoot":"","sources":["../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/config/bindings.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,3 @@
1
1
  export * from './json-api/json-api.decorator';
2
2
  export * from './inject-service/inject-service.decorator';
3
+ export * from './json-api-read-only/json-api-read-only.decorator';
@@ -3,4 +3,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./json-api/json-api.decorator"), exports);
5
5
  tslib_1.__exportStar(require("./inject-service/inject-service.decorator"), exports);
6
+ tslib_1.__exportStar(require("./json-api-read-only/json-api-read-only.decorator"), exports);
6
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/decorators/index.ts"],"names":[],"mappings":";;;AAAA,wEAA8C;AAC9C,oFAA0D"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/decorators/index.ts"],"names":[],"mappings":";;;AAAA,wEAA8C;AAC9C,oFAA0D;AAC1D,4FAAkE"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Marks a field as read-only for JSON:API.
3
+ * The field will be excluded from POST/PATCH validation.
4
+ *
5
+ * Use together with JsonApiReadOnly type for compile-time checking.
6
+ *
7
+ * Note: For FK fields (relationFkField), only the type marker is needed
8
+ * since runtime exclusion is handled automatically.
9
+ *
10
+ * @example
11
+ * // Computed/auto-generated field - decorator + type marker
12
+ * @Property()
13
+ * @JsonApiReadOnly()
14
+ * public createdAt!: Date & JsonApiReadOnly;
15
+ *
16
+ * @example
17
+ * // FK field - only type marker needed (no decorator required)
18
+ * @Property({ persist: false })
19
+ * public createdById!: number & Opt & JsonApiReadOnly;
20
+ */
21
+ export declare function JsonApiReadOnly(): PropertyDecorator;
22
+ type Constructor = new (...args: unknown[]) => object;
23
+ /**
24
+ * Get list of read-only fields from entity class.
25
+ * Collects metadata from entire prototype chain (handles inheritance).
26
+ */
27
+ export declare function getJsonApiReadOnlyFields(target: Constructor): string[];
28
+ /**
29
+ * Marks a field as immutable for JSON:API.
30
+ * The field will be optional in POST validation and excluded from PATCH validation.
31
+ *
32
+ * Use case: fields that are computed by business logic for regular users,
33
+ * but can be set by admins during creation. Cannot be modified after creation.
34
+ *
35
+ * Use together with JsonApiImmutable type for compile-time checking.
36
+ *
37
+ * @example
38
+ * @Property()
39
+ * @JsonApiImmutable()
40
+ * public score!: number & JsonApiImmutable;
41
+ */
42
+ export declare function JsonApiImmutable(): PropertyDecorator;
43
+ /**
44
+ * Get list of immutable fields from entity class.
45
+ * Collects metadata from entire prototype chain (handles inheritance).
46
+ */
47
+ export declare function getJsonApiImmutableFields(target: Constructor): string[];
48
+ export {};
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.JsonApiReadOnly = JsonApiReadOnly;
4
+ exports.getJsonApiReadOnlyFields = getJsonApiReadOnlyFields;
5
+ exports.JsonApiImmutable = JsonApiImmutable;
6
+ exports.getJsonApiImmutableFields = getJsonApiImmutableFields;
7
+ const constants_1 = require("../../../../constants");
8
+ /**
9
+ * Marks a field as read-only for JSON:API.
10
+ * The field will be excluded from POST/PATCH validation.
11
+ *
12
+ * Use together with JsonApiReadOnly type for compile-time checking.
13
+ *
14
+ * Note: For FK fields (relationFkField), only the type marker is needed
15
+ * since runtime exclusion is handled automatically.
16
+ *
17
+ * @example
18
+ * // Computed/auto-generated field - decorator + type marker
19
+ * @Property()
20
+ * @JsonApiReadOnly()
21
+ * public createdAt!: Date & JsonApiReadOnly;
22
+ *
23
+ * @example
24
+ * // FK field - only type marker needed (no decorator required)
25
+ * @Property({ persist: false })
26
+ * public createdById!: number & Opt & JsonApiReadOnly;
27
+ */
28
+ function JsonApiReadOnly() {
29
+ return (target, propertyKey) => {
30
+ const existingKeys = Reflect.getMetadata(constants_1.JSON_API_DECORATOR_READ_ONLY, target.constructor) || [];
31
+ Reflect.defineMetadata(constants_1.JSON_API_DECORATOR_READ_ONLY, [...existingKeys, propertyKey], target.constructor);
32
+ };
33
+ }
34
+ /**
35
+ * Get list of read-only fields from entity class.
36
+ * Collects metadata from entire prototype chain (handles inheritance).
37
+ */
38
+ function getJsonApiReadOnlyFields(target) {
39
+ return collectFieldsFromPrototypeChain(target, constants_1.JSON_API_DECORATOR_READ_ONLY);
40
+ }
41
+ /**
42
+ * Marks a field as immutable for JSON:API.
43
+ * The field will be optional in POST validation and excluded from PATCH validation.
44
+ *
45
+ * Use case: fields that are computed by business logic for regular users,
46
+ * but can be set by admins during creation. Cannot be modified after creation.
47
+ *
48
+ * Use together with JsonApiImmutable type for compile-time checking.
49
+ *
50
+ * @example
51
+ * @Property()
52
+ * @JsonApiImmutable()
53
+ * public score!: number & JsonApiImmutable;
54
+ */
55
+ function JsonApiImmutable() {
56
+ return (target, propertyKey) => {
57
+ const existingKeys = Reflect.getMetadata(constants_1.JSON_API_DECORATOR_IMMUTABLE, target.constructor) || [];
58
+ Reflect.defineMetadata(constants_1.JSON_API_DECORATOR_IMMUTABLE, [...existingKeys, propertyKey], target.constructor);
59
+ };
60
+ }
61
+ /**
62
+ * Get list of immutable fields from entity class.
63
+ * Collects metadata from entire prototype chain (handles inheritance).
64
+ */
65
+ function getJsonApiImmutableFields(target) {
66
+ return collectFieldsFromPrototypeChain(target, constants_1.JSON_API_DECORATOR_IMMUTABLE);
67
+ }
68
+ /**
69
+ * Helper function to collect fields from prototype chain.
70
+ */
71
+ function collectFieldsFromPrototypeChain(target, metadataKey) {
72
+ const allKeys = new Set();
73
+ let currentTarget = target;
74
+ while (currentTarget && currentTarget !== Object) {
75
+ const keys = Reflect.getOwnMetadata(metadataKey, currentTarget) || [];
76
+ for (const key of keys) {
77
+ allKeys.add(key.toString());
78
+ }
79
+ currentTarget = Object.getPrototypeOf(currentTarget);
80
+ }
81
+ return Array.from(allKeys);
82
+ }
83
+ //# sourceMappingURL=json-api-read-only.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-api-read-only.decorator.js","sourceRoot":"","sources":["../../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/decorators/json-api-read-only/json-api-read-only.decorator.ts"],"names":[],"mappings":";;AAyBA,0CAWC;AAQD,4DAEC;AAgBD,4CAWC;AAMD,8DAEC;AAjFD,qDAG+B;AAE/B;;;;;;;;;;;;;;;;;;;GAmBG;AACH,SAAgB,eAAe;IAC7B,OAAO,CAAC,MAAc,EAAE,WAA4B,EAAE,EAAE;QACtD,MAAM,YAAY,GAChB,OAAO,CAAC,WAAW,CAAC,wCAA4B,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QAE9E,OAAO,CAAC,cAAc,CACpB,wCAA4B,EAC5B,CAAC,GAAG,YAAY,EAAE,WAAW,CAAC,EAC9B,MAAM,CAAC,WAAW,CACnB,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAID;;;GAGG;AACH,SAAgB,wBAAwB,CAAC,MAAmB;IAC1D,OAAO,+BAA+B,CAAC,MAAM,EAAE,wCAA4B,CAAC,CAAC;AAC/E,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAgB,gBAAgB;IAC9B,OAAO,CAAC,MAAc,EAAE,WAA4B,EAAE,EAAE;QACtD,MAAM,YAAY,GAChB,OAAO,CAAC,WAAW,CAAC,wCAA4B,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QAE9E,OAAO,CAAC,cAAc,CACpB,wCAA4B,EAC5B,CAAC,GAAG,YAAY,EAAE,WAAW,CAAC,EAC9B,MAAM,CAAC,WAAW,CACnB,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAgB,yBAAyB,CAAC,MAAmB;IAC3D,OAAO,+BAA+B,CAAC,MAAM,EAAE,wCAA4B,CAAC,CAAC;AAC/E,CAAC;AAED;;GAEG;AACH,SAAS,+BAA+B,CACtC,MAAmB,EACnB,WAAmB;IAEnB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAElC,IAAI,aAAa,GAAuB,MAAM,CAAC;IAC/C,OAAO,aAAa,IAAI,aAAa,KAAK,MAAM,EAAE,CAAC;QACjD,MAAM,IAAI,GACR,OAAO,CAAC,cAAc,CAAC,WAAW,EAAE,aAAa,CAAC,IAAI,EAAE,CAAC;QAE3D,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9B,CAAC;QAED,aAAa,GAAG,MAAM,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC"}
@@ -8,6 +8,7 @@ exports.ZodPatchSchema = ZodPatchSchema;
8
8
  const zod_1 = require("../zod");
9
9
  const constants_1 = require("../../../constants");
10
10
  const service_1 = require("../service");
11
+ const decorators_1 = require("../decorators");
11
12
  function ZodInputQuerySchema() {
12
13
  return {
13
14
  provide: constants_1.ZOD_INPUT_QUERY_SCHEMA,
@@ -29,18 +30,22 @@ function ZodQuerySchema() {
29
30
  function ZodPostSchema() {
30
31
  return {
31
32
  provide: constants_1.ZOD_POST_SCHEMA,
32
- inject: [service_1.EntityParamMapService],
33
- useFactory: (entityParamMapService) => {
34
- return (0, zod_1.zodPost)(entityParamMapService);
33
+ inject: [service_1.EntityParamMapService, constants_1.CURRENT_ENTITY],
34
+ useFactory: (entityParamMapService, entity) => {
35
+ const readOnlyProps = (0, decorators_1.getJsonApiReadOnlyFields)(entity);
36
+ const immutableProps = (0, decorators_1.getJsonApiImmutableFields)(entity);
37
+ return (0, zod_1.zodPost)(entityParamMapService, readOnlyProps, immutableProps);
35
38
  },
36
39
  };
37
40
  }
38
41
  function ZodPatchSchema() {
39
42
  return {
40
43
  provide: constants_1.ZOD_PATCH_SCHEMA,
41
- inject: [service_1.EntityParamMapService],
42
- useFactory: (entityParamMapService) => {
43
- return (0, zod_1.zodPatch)(entityParamMapService);
44
+ inject: [service_1.EntityParamMapService, constants_1.CURRENT_ENTITY],
45
+ useFactory: (entityParamMapService, entity) => {
46
+ const readOnlyProps = (0, decorators_1.getJsonApiReadOnlyFields)(entity);
47
+ const immutableProps = (0, decorators_1.getJsonApiImmutableFields)(entity);
48
+ return (0, zod_1.zodPatch)(entityParamMapService, readOnlyProps, immutableProps);
44
49
  },
45
50
  };
46
51
  }
@@ -1 +1 @@
1
- {"version":3,"file":"zod-validate.factory.js","sourceRoot":"","sources":["../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/factory/zod-validate.factory.ts"],"names":[],"mappings":";;;AA2BA,kDAWC;AACD,wCAWC;AACD,sCAWC;AAED,wCAWC;AA3ED,gCAagB;AAEhB,kDAO4B;AAE5B,wCAAmD;AAGnD,SAAgB,mBAAmB;IAIjC,OAAO;QACL,OAAO,EAAE,kCAAsB;QAC/B,MAAM,EAAE,CAAC,+BAAqB,CAAC;QAC/B,UAAU,EAAE,CAAC,qBAAsD,EAAE,EAAE;YACrE,OAAO,IAAA,mBAAa,EAAC,qBAAqB,CAAC,CAAC;QAC9C,CAAC;KACF,CAAC;AACJ,CAAC;AACD,SAAgB,cAAc;IAI5B,OAAO;QACL,OAAO,EAAE,4BAAgB;QACzB,MAAM,EAAE,CAAC,+BAAqB,CAAC;QAC/B,UAAU,EAAE,CAAC,qBAAsD,EAAE,EAAE;YACrE,OAAO,IAAA,cAAQ,EAAC,qBAAqB,CAAC,CAAC;QACzC,CAAC;KACF,CAAC;AACJ,CAAC;AACD,SAAgB,aAAa;IAI3B,OAAO;QACL,OAAO,EAAE,2BAAe;QACxB,MAAM,EAAE,CAAC,+BAAqB,CAAC;QAC/B,UAAU,EAAE,CAAC,qBAAsD,EAAE,EAAE;YACrE,OAAO,IAAA,aAAO,EAAC,qBAAqB,CAAC,CAAC;QACxC,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAgB,cAAc;IAI5B,OAAO;QACL,OAAO,EAAE,4BAAgB;QACzB,MAAM,EAAE,CAAC,+BAAqB,CAAC;QAC/B,UAAU,EAAE,CAAC,qBAAsD,EAAE,EAAE;YACrE,OAAO,IAAA,cAAQ,EAAC,qBAAqB,CAAC,CAAC;QACzC,CAAC;KACF,CAAC;AACJ,CAAC;AACY,QAAA,8BAA8B,GACzC;IACE,OAAO,EAAE,wCAA4B;IACrC,QAAQ,EAAE,yBAAmB;CAC9B,CAAC;AAES,QAAA,+BAA+B,GAC1C;IACE,OAAO,EAAE,yCAA6B;IACtC,QAAQ,EAAE,0BAAoB;CAC/B,CAAC"}
1
+ {"version":3,"file":"zod-validate.factory.js","sourceRoot":"","sources":["../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/factory/zod-validate.factory.ts"],"names":[],"mappings":";;;AAgCA,kDAWC;AACD,wCAWC;AACD,sCAgBC;AAED,wCAgBC;AAvFD,gCAagB;AAEhB,kDAQ4B;AAE5B,wCAAmD;AACnD,8CAAoF;AAGpF,SAAgB,mBAAmB;IAIjC,OAAO;QACL,OAAO,EAAE,kCAAsB;QAC/B,MAAM,EAAE,CAAC,+BAAqB,CAAC;QAC/B,UAAU,EAAE,CAAC,qBAAsD,EAAE,EAAE;YACrE,OAAO,IAAA,mBAAa,EAAC,qBAAqB,CAAC,CAAC;QAC9C,CAAC;KACF,CAAC;AACJ,CAAC;AACD,SAAgB,cAAc;IAI5B,OAAO;QACL,OAAO,EAAE,4BAAgB;QACzB,MAAM,EAAE,CAAC,+BAAqB,CAAC;QAC/B,UAAU,EAAE,CAAC,qBAAsD,EAAE,EAAE;YACrE,OAAO,IAAA,cAAQ,EAAC,qBAAqB,CAAC,CAAC;QACzC,CAAC;KACF,CAAC;AACJ,CAAC;AACD,SAAgB,aAAa;IAI3B,OAAO;QACL,OAAO,EAAE,2BAAe;QACxB,MAAM,EAAE,CAAC,+BAAqB,EAAE,0BAAc,CAAC;QAC/C,UAAU,EAAE,CACV,qBAAsD,EACtD,MAAsB,EACtB,EAAE;YACF,MAAM,aAAa,GAAG,IAAA,qCAAwB,EAAC,MAAM,CAAoC,CAAC;YAC1F,MAAM,cAAc,GAAG,IAAA,sCAAyB,EAAC,MAAM,CAAqC,CAAC;YAC7F,OAAO,IAAA,aAAO,EAAC,qBAAqB,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC;QACvE,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAgB,cAAc;IAI5B,OAAO;QACL,OAAO,EAAE,4BAAgB;QACzB,MAAM,EAAE,CAAC,+BAAqB,EAAE,0BAAc,CAAC;QAC/C,UAAU,EAAE,CACV,qBAAsD,EACtD,MAAsB,EACtB,EAAE;YACF,MAAM,aAAa,GAAG,IAAA,qCAAwB,EAAC,MAAM,CAAoC,CAAC;YAC1F,MAAM,cAAc,GAAG,IAAA,sCAAyB,EAAC,MAAM,CAAqC,CAAC;YAC7F,OAAO,IAAA,cAAQ,EAAC,qBAAqB,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC;QACxE,CAAC;KACF,CAAC;AACJ,CAAC;AACY,QAAA,8BAA8B,GACzC;IACE,OAAO,EAAE,wCAA4B;IACrC,QAAQ,EAAE,yBAAmB;CAC9B,CAAC;AAES,QAAA,+BAA+B,GAC1C;IACE,OAAO,EAAE,yCAA6B;IACtC,QAAQ,EAAE,0BAAoB;CAC/B,CAAC"}
@@ -17,10 +17,17 @@ function bindController(controller, entity, config) {
17
17
  }
18
18
  if (!Object.prototype.hasOwnProperty.call(controller.prototype, name)) {
19
19
  // need uniq descriptor for correct work swagger
20
+ const func = function (...arg) {
21
+ return this.constructor.__proto__.prototype[name].call(this, ...arg);
22
+ };
23
+ Object.defineProperty(func, 'name', {
24
+ value: name,
25
+ writable: false,
26
+ enumerable: false,
27
+ configurable: true
28
+ });
20
29
  Reflect.defineProperty(controller.prototype, name, {
21
- value: function (...arg) {
22
- return this.constructor.__proto__.prototype[name].call(this, ...arg);
23
- },
30
+ value: func,
24
31
  writable: true,
25
32
  enumerable: false,
26
33
  configurable: true,
@@ -1 +1 @@
1
- {"version":3,"file":"bind-controller.js","sourceRoot":"","sources":["../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/helpers/bind-controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bind-controller.js","sourceRoot":"","sources":["../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/helpers/bind-controller.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,9 @@ const json_api_nestjs_shared_1 = require("@klerick/json-api-nestjs-shared");
11
11
  function createController(entity, controller) {
12
12
  const controllerClass = controller ||
13
13
  (0, utils_1.nameIt)((0, utils_1.getProviderName)(entity, constants_1.JSON_API_CONTROLLER_POSTFIX), controllers_1.JsonBaseController);
14
+ if (!(0, utils_1.entityForClass)(controllerClass)) {
15
+ Reflect.defineMetadata(constants_1.JSON_API_DECORATOR_ENTITY, entity, controllerClass);
16
+ }
14
17
  const entityName = (0, json_api_nestjs_shared_1.getEntityName)(entity);
15
18
  if (!Object.prototype.isPrototypeOf.call(controllers_1.JsonBaseController, controllerClass)) {
16
19
  throw new Error(`Controller "${controller?.name}" should be inherited of "JsonBaseController"`);
@@ -1 +1 @@
1
- {"version":3,"file":"create-controller.js","sourceRoot":"","sources":["../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/helpers/create-controller.ts"],"names":[],"mappings":";;AAeA,4CAqCC;AApDD,2CAAqE;AACrE,+DAAiD;AAGjD,mCAAkD;AAClD,gDAAoD;AACpD,kDAK4B;AAC5B,kDAAyE;AACzE,4EAAgE;AAEhE,SAAgB,gBAAgB,CAC9B,MAAoC,EACpC,UAA6C;IAE7C,MAAM,eAAe,GACnB,UAAU;QACV,IAAA,cAAM,EACJ,IAAA,uBAAe,EAAC,MAAM,EAAE,uCAA2B,CAAC,EACpD,gCAAkB,CACnB,CAAC;IAEJ,MAAM,UAAU,GAAG,IAAA,sCAAa,EAAC,MAAM,CAAC,CAAC;IAEzC,IACE,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,gCAAkB,EAAE,eAAe,CAAC,EACzE,CAAC;QACD,MAAM,IAAI,KAAK,CACb,eAAe,UAAU,EAAE,IAAI,+CAA+C,CAC/E,CAAC;IACJ,CAAC;IAED,MAAM,gBAAgB,GAAqB,OAAO,CAAC,WAAW,CAC5D,sCAA0B,EAC1B,eAAe,CAChB,CAAC;IAEF,MAAM,cAAc,GAClB,gBAAgB,IAAI,gBAAgB,CAAC,eAAe,CAAC;QACnD,CAAC,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,QAAQ,EAAE;QAC9C,CAAC,CAAC,GAAG,IAAA,gCAAS,EAAC,UAAU,CAAC,EAAE,CAAC;IAEjC,IAAA,mBAAU,EAAC,cAAc,CAAC,CAAC,eAAe,CAAC,CAAC;IAE5C,IAAA,eAAM,EAAC,uBAAW,CAAC,CAAC,eAAe,CAAC,SAAS,EAAE,6BAAiB,CAAC,CAAC;IAClE,IAAA,wBAAe,EAAC,kCAAmB,CAAC,CAAC,eAAe,CAAC,CAAC;IACtD,IAAA,wBAAe,EAAC,gCAAiB,CAAC,CAAC,eAAe,CAAC,CAAC;IACpD,OAAO,eAAe,CAAC;AACzB,CAAC"}
1
+ {"version":3,"file":"create-controller.js","sourceRoot":"","sources":["../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/helpers/create-controller.ts"],"names":[],"mappings":";;AAgBA,4CAwCC;AAxDD,2CAAqE;AACrE,+DAAiD;AAGjD,mCAAkE;AAClE,gDAAoD;AACpD,kDAM4B;AAC5B,kDAAyE;AACzE,4EAAgE;AAEhE,SAAgB,gBAAgB,CAC9B,MAAoC,EACpC,UAA6C;IAE7C,MAAM,eAAe,GACnB,UAAU;QACV,IAAA,cAAM,EACJ,IAAA,uBAAe,EAAC,MAAM,EAAE,uCAA2B,CAAC,EACpD,gCAAkB,CACnB,CAAC;IAEJ,IAAG,CAAC,IAAA,sBAAc,EAAC,eAAe,CAAC,EAAC,CAAC;QACnC,OAAO,CAAC,cAAc,CAAC,qCAAyB,EAAE,MAAM,EAAE,eAAe,CAAC,CAAA;IAC5E,CAAC;IACD,MAAM,UAAU,GAAG,IAAA,sCAAa,EAAC,MAAM,CAAC,CAAC;IAEzC,IACE,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,gCAAkB,EAAE,eAAe,CAAC,EACzE,CAAC;QACD,MAAM,IAAI,KAAK,CACb,eAAe,UAAU,EAAE,IAAI,+CAA+C,CAC/E,CAAC;IACJ,CAAC;IAED,MAAM,gBAAgB,GAAqB,OAAO,CAAC,WAAW,CAC5D,sCAA0B,EAC1B,eAAe,CAChB,CAAC;IAEF,MAAM,cAAc,GAClB,gBAAgB,IAAI,gBAAgB,CAAC,eAAe,CAAC;QACnD,CAAC,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,QAAQ,EAAE;QAC9C,CAAC,CAAC,GAAG,IAAA,gCAAS,EAAC,UAAU,CAAC,EAAE,CAAC;IAEjC,IAAA,mBAAU,EAAC,cAAc,CAAC,CAAC,eAAe,CAAC,CAAC;IAE5C,IAAA,eAAM,EAAC,uBAAW,CAAC,CAAC,eAAe,CAAC,SAAS,EAAE,6BAAiB,CAAC,CAAC;IAClE,IAAA,wBAAe,EAAC,kCAAmB,CAAC,CAAC,eAAe,CAAC,CAAC;IACtD,IAAA,wBAAe,EAAC,gCAAiB,CAAC,CAAC,eAAe,CAAC,CAAC;IACpD,OAAO,eAAe,CAAC;AACzB,CAAC"}
@@ -1,9 +1,11 @@
1
1
  import { EntityClass, AnyEntity } from '@klerick/json-api-nestjs-shared';
2
2
  import { MethodName } from '../types';
3
3
  import { Type } from '@nestjs/common/interfaces';
4
+ import { PostData, PatchData, Attributes, PatchDataRaw, PostDataRaw } from '../zod';
4
5
  export declare const nameIt: (name: string, cls: new (...rest: unknown[]) => Record<never, unknown>) => {
5
6
  new (...arg: unknown[]): {};
6
7
  };
7
8
  export declare function getProviderName<Entity extends object>(entity: EntityClass<Entity>, name: string): string;
8
9
  export declare function excludeMethod(names: Array<Partial<MethodName>>): Array<MethodName>;
9
10
  export declare function entityForClass<T = any>(type: Type<T>): EntityClass<AnyEntity>;
11
+ export declare function patchInputData<E extends object, IdKey extends string = 'id'>(data: PostData<E, IdKey> | PatchData<E, IdKey>, patch: Partial<Attributes<E, IdKey, true>>): PostData<E, IdKey> | PatchData<E, IdKey> extends PatchData<E, IdKey> ? PatchDataRaw<E, IdKey> : PostDataRaw<E, IdKey>;
@@ -4,6 +4,7 @@ exports.nameIt = void 0;
4
4
  exports.getProviderName = getProviderName;
5
5
  exports.excludeMethod = excludeMethod;
6
6
  exports.entityForClass = entityForClass;
7
+ exports.patchInputData = patchInputData;
7
8
  const json_api_nestjs_shared_1 = require("@klerick/json-api-nestjs-shared");
8
9
  const change_case_commonjs_1 = require("change-case-commonjs");
9
10
  const bindings_1 = require("../config/bindings");
@@ -27,4 +28,13 @@ function excludeMethod(names) {
27
28
  function entityForClass(type) {
28
29
  return Reflect.getMetadata(constants_1.JSON_API_DECORATOR_ENTITY, type);
29
30
  }
31
+ function patchInputData(data, patch) {
32
+ return {
33
+ ...data,
34
+ attributes: {
35
+ ...data.attributes,
36
+ ...patch,
37
+ },
38
+ };
39
+ }
30
40
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/helpers/utils.ts"],"names":[],"mappings":";;;AA0BA,0CAMC;AAED,sCAUC;AAED,wCAEC;AAhDD,4EAKyC;AACzC,+DAAkD;AAIlD,iDAA8C;AAE9C,kDAA+D;AAExD,MAAM,MAAM,GAAG,CACpB,IAAY,EACZ,GAAuD,EACvD,EAAE,CACF,CAAC;IACC,CAAC,IAAI,CAAC,EAAE,KAAM,SAAQ,GAAG;QACvB,YAAY,GAAG,GAAc;YAC3B,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;QAChB,CAAC;KACF;CACF,CAAC,IAAI,CAAC,CAAC,CAAC;AAVE,QAAA,MAAM,UAUR;AAEX,SAAgB,eAAe,CAC7B,MAA2B,EAC3B,IAAY;IAEZ,MAAM,UAAU,GAAG,IAAA,sCAAa,EAAC,MAAM,CAAC,CAAC;IACzC,OAAO,GAAG,IAAA,iCAAU,EAAC,UAAU,CAAC,GAAG,IAAI,EAAE,CAAC;AAC5C,CAAC;AAED,SAAgB,aAAa,CAC3B,KAAiC;IAEjC,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAC5B,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,IAAI,CAAC,EACzC,EAA0C,CAC3C,CAAC;IACF,OAAO,oCAAW,CAAC,IAAI,CAAC,mBAAQ,CAAC,CAAC,MAAM,CACtC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CACV,CAAC;AACzB,CAAC;AAED,SAAgB,cAAc,CAAU,IAAa;IACnD,OAAO,OAAO,CAAC,WAAW,CAAC,qCAAyB,EAAE,IAAI,CAAC,CAAC;AAC9D,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/helpers/utils.ts"],"names":[],"mappings":";;;AAiCA,0CAMC;AAED,sCAUC;AAED,wCAEC;AACD,wCAeC;AAvED,4EAKyC;AACzC,+DAAkD;AAIlD,iDAA8C;AAE9C,kDAA+D;AASxD,MAAM,MAAM,GAAG,CACpB,IAAY,EACZ,GAAuD,EACvD,EAAE,CACF,CAAC;IACC,CAAC,IAAI,CAAC,EAAE,KAAM,SAAQ,GAAG;QACvB,YAAY,GAAG,GAAc;YAC3B,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;QAChB,CAAC;KACF;CACF,CAAC,IAAI,CAAC,CAAC,CAAC;AAVE,QAAA,MAAM,UAUR;AAEX,SAAgB,eAAe,CAC7B,MAA2B,EAC3B,IAAY;IAEZ,MAAM,UAAU,GAAG,IAAA,sCAAa,EAAC,MAAM,CAAC,CAAC;IACzC,OAAO,GAAG,IAAA,iCAAU,EAAC,UAAU,CAAC,GAAG,IAAI,EAAE,CAAC;AAC5C,CAAC;AAED,SAAgB,aAAa,CAC3B,KAAiC;IAEjC,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAC5B,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,IAAI,CAAC,EACzC,EAA0C,CAC3C,CAAC;IACF,OAAO,oCAAW,CAAC,IAAI,CAAC,mBAAQ,CAAC,CAAC,MAAM,CACtC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CACV,CAAC;AACzB,CAAC;AAED,SAAgB,cAAc,CAAU,IAAa;IACnD,OAAO,OAAO,CAAC,WAAW,CAAC,qCAAyB,EAAE,IAAI,CAAC,CAAC;AAC9D,CAAC;AACD,SAAgB,cAAc,CAC5B,IAA8C,EAC9C,KAA0C;IAI1C,OAAO;QACL,GAAG,IAAI;QACP,UAAU,EAAE;YACV,GAAG,IAAI,CAAC,UAAU;YAClB,GAAG,KAAK;SACT;KAGsB,CAAC;AAC5B,CAAC"}
@@ -18,6 +18,7 @@ class MixinModule {
18
18
  ...decoratorOptions,
19
19
  };
20
20
  (0, bind_controller_1.bindController)(controllerClass, entity, moduleConfig);
21
+ mixinOptions.config.hooks.afterCreateController(controllerClass);
21
22
  const optionProvider = {
22
23
  provide: constants_1.CONTROLLER_OPTIONS_TOKEN,
23
24
  useValue: moduleConfig,
@@ -1 +1 @@
1
- {"version":3,"file":"mixin.module.js","sourceRoot":"","sources":["../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/mixin.module.ts"],"names":[],"mappings":";;;AACA,uCAA+C;AAE/C,uCAAsE;AACtE,+CAKyB;AAEzB,+DAA2D;AAC3D,uCAA6E;AAC7E,uCAA+C;AAC/C,uCAOmB;AAEnB,MAAa,WAAW;IACtB,MAAM,CAAC,OAAO,CAAC,YAAgC;QAC7C,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC;QACxE,MAAM,eAAe,GAAG,IAAA,0BAAgB,EAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAE7D,MAAM,gBAAgB,GACpB,OAAO,CAAC,WAAW,CAAC,sCAA0B,EAAE,eAAe,CAAC,IAAI,EAAE,CAAC;QAEzE,MAAM,YAAY,GAA0B;YAC1C,GAAG,MAAM,CAAC,OAAO;YACjB,GAAG,gBAAgB;SACpB,CAAC;QAEF,IAAA,gCAAc,EAAC,eAAe,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;QAEtD,MAAM,cAAc,GAAG;YACrB,OAAO,EAAE,oCAAwB;YACjC,QAAQ,EAAE,YAAY;SACvB,CAAC;QAEF,MAAM,qBAAqB,GAAG;YAC5B,OAAO,EAAE,0BAAc;YACvB,QAAQ,EAAE,MAAM;SACjB,CAAC;QAEF,OAAO;YACL,MAAM,EAAE,IAAA,gBAAM,EACZ,IAAA,yBAAe,EAAC,MAAM,EAAE,mCAAuB,CAAC,EAChD,WAAW,CACZ;YACD,WAAW,EAAE,CAAC,eAAe,CAAC;YAC9B,SAAS,EAAE;gBACT,cAAc;gBACd,qBAAqB;gBACrB,+BAAqB;gBACrB,mCAAyB;gBACzB,4BAAkB;gBAClB,IAAA,6BAAmB,GAAE;gBACrB,IAAA,uBAAa,GAAE;gBACf,IAAA,wBAAc,GAAE;gBAChB,IAAA,wBAAc,GAAE;gBAChB,yCAA+B;gBAC/B,wCAA8B;gBAC9B,GAAG,SAAS,CAAC,gBAAgB,CAAC,MAAM,CAAC;aACtC;YACD,OAAO,EAAE,CAAC,GAAG,OAAO,EAAE,sBAAe,CAAC;SACvC,CAAC;IACJ,CAAC;CACF;AAhDD,kCAgDC"}
1
+ {"version":3,"file":"mixin.module.js","sourceRoot":"","sources":["../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/mixin.module.ts"],"names":[],"mappings":";;;AACA,uCAA+C;AAE/C,uCAAsE;AACtE,+CAKyB;AAEzB,+DAA2D;AAC3D,uCAA6E;AAC7E,uCAA+C;AAC/C,uCAOmB;AAEnB,MAAa,WAAW;IACtB,MAAM,CAAC,OAAO,CAAC,YAAgC;QAC7C,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC;QACxE,MAAM,eAAe,GAAG,IAAA,0BAAgB,EAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAE7D,MAAM,gBAAgB,GACpB,OAAO,CAAC,WAAW,CAAC,sCAA0B,EAAE,eAAe,CAAC,IAAI,EAAE,CAAC;QAEzE,MAAM,YAAY,GAA0B;YAC1C,GAAG,MAAM,CAAC,OAAO;YACjB,GAAG,gBAAgB;SACpB,CAAC;QAEF,IAAA,gCAAc,EAAC,eAAe,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;QAEtD,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,eAAe,CAAC,CAAA;QAEhE,MAAM,cAAc,GAAG;YACrB,OAAO,EAAE,oCAAwB;YACjC,QAAQ,EAAE,YAAY;SACvB,CAAC;QAEF,MAAM,qBAAqB,GAAG;YAC5B,OAAO,EAAE,0BAAc;YACvB,QAAQ,EAAE,MAAM;SACjB,CAAC;QAEF,OAAO;YACL,MAAM,EAAE,IAAA,gBAAM,EACZ,IAAA,yBAAe,EAAC,MAAM,EAAE,mCAAuB,CAAC,EAChD,WAAW,CACZ;YACD,WAAW,EAAE,CAAC,eAAe,CAAC;YAC9B,SAAS,EAAE;gBACT,cAAc;gBACd,qBAAqB;gBACrB,+BAAqB;gBACrB,mCAAyB;gBACzB,4BAAkB;gBAClB,IAAA,6BAAmB,GAAE;gBACrB,IAAA,uBAAa,GAAE;gBACf,IAAA,wBAAc,GAAE;gBAChB,IAAA,wBAAc,GAAE;gBAChB,yCAA+B;gBAC/B,wCAA8B;gBAC9B,GAAG,SAAS,CAAC,gBAAgB,CAAC,MAAM,CAAC;aACtC;YACD,OAAO,EAAE,CAAC,GAAG,OAAO,EAAE,sBAAe,CAAC;SACvC,CAAC;IACJ,CAAC;CACF;AAlDD,kCAkDC"}
@@ -4,15 +4,12 @@ exports.PatchInputPipe = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const common_1 = require("@nestjs/common");
6
6
  const zod_1 = require("zod");
7
- const zod_validation_error_1 = require("zod-validation-error");
8
7
  const constants_1 = require("../../../../constants");
9
8
  class PatchInputPipe {
10
9
  zodInputPatchSchema;
11
10
  transform(value) {
12
11
  try {
13
- return this.zodInputPatchSchema.parse(value, {
14
- errorMap: zod_validation_error_1.errorMap,
15
- })['data'];
12
+ return this.zodInputPatchSchema.parse(value)['data'];
16
13
  }
17
14
  catch (e) {
18
15
  if (e instanceof zod_1.ZodError) {
@@ -1 +1 @@
1
- {"version":3,"file":"patch-input.pipe.js","sourceRoot":"","sources":["../../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/pipe/patch-input/patch-input.pipe.ts"],"names":[],"mappings":";;;;AAAA,2CAKwB;AACxB,6BAA+B;AAC/B,+DAAgD;AAIhD,qDAAyD;AAEzD,MAAa,cAAc;IAIjB,mBAAmB,CAAqB;IAChD,SAAS,CAAC,KAAgB;QACxB,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,KAAK,EAAE;gBAC3C,QAAQ,EAAE,+BAAQ;aACnB,CAAC,CAAC,MAAM,CAAuB,CAAC;QACnC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,cAAQ,EAAE,CAAC;gBAC1B,MAAM,IAAI,4BAAmB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC1C,CAAC;YAED,MAAM,IAAI,qCAA4B,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;CACF;AAlBD,wCAkBC;AAdS;IADP,IAAA,eAAM,EAAC,4BAAgB,CAAC;;2DACuB"}
1
+ {"version":3,"file":"patch-input.pipe.js","sourceRoot":"","sources":["../../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/pipe/patch-input/patch-input.pipe.ts"],"names":[],"mappings":";;;;AAAA,2CAKwB;AACxB,6BAA+B;AAI/B,qDAAyD;AAEzD,MAAa,cAAc;IAIjB,mBAAmB,CAAqB;IAChD,SAAS,CAAC,KAAgB;QACxB,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAuB,CAAC;QAC7E,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,cAAQ,EAAE,CAAC;gBAC1B,MAAM,IAAI,4BAAmB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC1C,CAAC;YAED,MAAM,IAAI,qCAA4B,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;CACF;AAhBD,wCAgBC;AAZS;IADP,IAAA,eAAM,EAAC,4BAAgB,CAAC;;2DACuB"}
@@ -4,15 +4,12 @@ exports.PatchRelationshipPipe = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const common_1 = require("@nestjs/common");
6
6
  const zod_1 = require("zod");
7
- const zod_validation_error_1 = require("zod-validation-error");
8
7
  const constants_1 = require("../../../../constants");
9
8
  class PatchRelationshipPipe {
10
9
  zodInputPatchRelationshipSchema;
11
10
  transform(value) {
12
11
  try {
13
- return this.zodInputPatchRelationshipSchema.parse(value, {
14
- errorMap: zod_validation_error_1.errorMap,
15
- })['data'];
12
+ return this.zodInputPatchRelationshipSchema.parse(value)['data'];
16
13
  }
17
14
  catch (e) {
18
15
  if (e instanceof zod_1.ZodError) {
@@ -1 +1 @@
1
- {"version":3,"file":"patch-relationship.pipe.js","sourceRoot":"","sources":["../../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/pipe/patch-relationship/patch-relationship.pipe.ts"],"names":[],"mappings":";;;;AAAA,2CAKwB;AACxB,6BAA+B;AAC/B,+DAAgD;AAIhD,qDAAsE;AAEtE,MAAa,qBAAqB;IAIxB,+BAA+B,CAAwB;IAC/D,SAAS,CAAC,KAAgB;QACxB,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,+BAA+B,CAAC,KAAK,CAAC,KAAK,EAAE;gBACvD,QAAQ,EAAE,+BAAQ;aACnB,CAAC,CAAC,MAAM,CAAC,CAAC;QACb,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,cAAQ,EAAE,CAAC;gBAC1B,MAAM,IAAI,4BAAmB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC1C,CAAC;YAED,MAAM,IAAI,qCAA4B,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;CACF;AAlBD,sDAkBC;AAdS;IADP,IAAA,eAAM,EAAC,yCAA6B,CAAC;;8EACyB"}
1
+ {"version":3,"file":"patch-relationship.pipe.js","sourceRoot":"","sources":["../../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/pipe/patch-relationship/patch-relationship.pipe.ts"],"names":[],"mappings":";;;;AAAA,2CAKwB;AACxB,6BAA+B;AAI/B,qDAAsE;AAEtE,MAAa,qBAAqB;IAIxB,+BAA+B,CAAwB;IAC/D,SAAS,CAAC,KAAgB;QACxB,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,+BAA+B,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;QACnE,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,cAAQ,EAAE,CAAC;gBAC1B,MAAM,IAAI,4BAAmB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC1C,CAAC;YAED,MAAM,IAAI,qCAA4B,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;CACF;AAhBD,sDAgBC;AAZS;IADP,IAAA,eAAM,EAAC,yCAA6B,CAAC;;8EACyB"}
@@ -3,5 +3,6 @@ import { PostData } from '../../zod';
3
3
  import { JSONValue } from '../../types';
4
4
  export declare class PostInputPipe<E extends object> implements PipeTransform<JSONValue, PostData<E, 'id'>> {
5
5
  private zodInputPostSchema;
6
+ private controllerParams;
6
7
  transform(value: JSONValue): PostData<E, 'id'>;
7
8
  }
@@ -4,15 +4,17 @@ exports.PostInputPipe = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const common_1 = require("@nestjs/common");
6
6
  const zod_1 = require("zod");
7
- const zod_validation_error_1 = require("zod-validation-error");
8
7
  const constants_1 = require("../../../../constants");
9
8
  class PostInputPipe {
10
9
  zodInputPostSchema;
10
+ controllerParams;
11
11
  transform(value) {
12
12
  try {
13
- return this.zodInputPostSchema.parse(value, {
14
- errorMap: zod_validation_error_1.errorMap,
15
- })['data'];
13
+ const result = this.zodInputPostSchema.parse(value)['data'];
14
+ if (!this.controllerParams.allowSetId) {
15
+ delete result.id;
16
+ }
17
+ return result;
16
18
  }
17
19
  catch (e) {
18
20
  if (e instanceof zod_1.ZodError) {
@@ -27,4 +29,8 @@ tslib_1.__decorate([
27
29
  (0, common_1.Inject)(constants_1.ZOD_POST_SCHEMA),
28
30
  tslib_1.__metadata("design:type", Object)
29
31
  ], PostInputPipe.prototype, "zodInputPostSchema", void 0);
32
+ tslib_1.__decorate([
33
+ (0, common_1.Inject)(constants_1.CONTROLLER_OPTIONS_TOKEN),
34
+ tslib_1.__metadata("design:type", Object)
35
+ ], PostInputPipe.prototype, "controllerParams", void 0);
30
36
  //# sourceMappingURL=post-input.pipe.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"post-input.pipe.js","sourceRoot":"","sources":["../../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/pipe/post-input/post-input.pipe.ts"],"names":[],"mappings":";;;;AAAA,2CAKwB;AACxB,6BAA+B;AAC/B,+DAAgD;AAGhD,qDAAwD;AAGxD,MAAa,aAAa;IAGS,kBAAkB,CAAoB;IACvE,SAAS,CAAC,KAAgB;QACxB,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,KAAK,EAAE;gBAC1C,QAAQ,EAAE,+BAAQ;aACnB,CAAC,CAAC,MAAM,CAAsB,CAAC;QAClC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,cAAQ,EAAE,CAAC;gBAC1B,MAAM,IAAI,4BAAmB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC1C,CAAC;YAED,MAAM,IAAI,qCAA4B,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;CACF;AAjBD,sCAiBC;AAdkC;IAAhC,IAAA,eAAM,EAAC,2BAAe,CAAC;;yDAA+C"}
1
+ {"version":3,"file":"post-input.pipe.js","sourceRoot":"","sources":["../../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/pipe/post-input/post-input.pipe.ts"],"names":[],"mappings":";;;;AAAA,2CAKwB;AACxB,6BAA+B;AAG/B,qDAG+B;AAG/B,MAAa,aAAa;IAGS,kBAAkB,CAAoB;IAC7B,gBAAgB,CAAyB;IACnF,SAAS,CAAC,KAAgB;QACxB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAsB,CAAC;YACjF,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC;gBACtC,OAAO,MAAM,CAAC,EAAE,CAAC;YACnB,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,cAAQ,EAAE,CAAC;gBAC1B,MAAM,IAAI,4BAAmB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC1C,CAAC;YAED,MAAM,IAAI,qCAA4B,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;CACF;AApBD,sCAoBC;AAjBkC;IAAhC,IAAA,eAAM,EAAC,2BAAe,CAAC;;yDAA+C;AAC7B;IAAzC,IAAA,eAAM,EAAC,oCAAwB,CAAC;;uDAAkD"}
@@ -4,15 +4,12 @@ exports.PostRelationshipPipe = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const common_1 = require("@nestjs/common");
6
6
  const zod_1 = require("zod");
7
- const zod_validation_error_1 = require("zod-validation-error");
8
7
  const constants_1 = require("../../../../constants");
9
8
  class PostRelationshipPipe {
10
9
  zodInputPostRelationshipSchema;
11
10
  transform(value) {
12
11
  try {
13
- return this.zodInputPostRelationshipSchema.parse(value, {
14
- errorMap: zod_validation_error_1.errorMap,
15
- })['data'];
12
+ return this.zodInputPostRelationshipSchema.parse(value)['data'];
16
13
  }
17
14
  catch (e) {
18
15
  if (e instanceof zod_1.ZodError) {
@@ -1 +1 @@
1
- {"version":3,"file":"post-relationship.pipe.js","sourceRoot":"","sources":["../../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/pipe/post-relationship/post-relationship.pipe.ts"],"names":[],"mappings":";;;;AAAA,2CAKwB;AACxB,6BAA+B;AAC/B,+DAAgD;AAIhD,qDAAqE;AAErE,MAAa,oBAAoB;IAIvB,8BAA8B,CAAuB;IAC7D,SAAS,CAAC,KAAgB;QACxB,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,8BAA8B,CAAC,KAAK,CAAC,KAAK,EAAE;gBACtD,QAAQ,EAAE,+BAAQ;aACnB,CAAC,CAAC,MAAM,CAAC,CAAC;QACb,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,cAAQ,EAAE,CAAC;gBAC1B,MAAM,IAAI,4BAAmB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC1C,CAAC;YAED,MAAM,IAAI,qCAA4B,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;CACF;AAlBD,oDAkBC;AAdS;IADP,IAAA,eAAM,EAAC,wCAA4B,CAAC;;4EACwB"}
1
+ {"version":3,"file":"post-relationship.pipe.js","sourceRoot":"","sources":["../../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/pipe/post-relationship/post-relationship.pipe.ts"],"names":[],"mappings":";;;;AAAA,2CAKwB;AACxB,6BAA+B;AAI/B,qDAAqE;AAErE,MAAa,oBAAoB;IAIvB,8BAA8B,CAAuB;IAC7D,SAAS,CAAC,KAAgB;QACxB,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,8BAA8B,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;QAClE,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,cAAQ,EAAE,CAAC;gBAC1B,MAAM,IAAI,4BAAmB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC1C,CAAC;YAED,MAAM,IAAI,qCAA4B,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;CACF;AAhBD,oDAgBC;AAZS;IADP,IAAA,eAAM,EAAC,wCAA4B,CAAC;;4EACwB"}