@klerick/json-api-nestjs 10.0.0-beta.9 → 10.0.0

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 (148) hide show
  1. package/CHANGELOG.md +157 -0
  2. package/README.md +299 -23
  3. package/package.json +4 -8
  4. package/src/index.d.ts +1 -1
  5. package/src/index.js +2 -1
  6. package/src/index.js.map +1 -1
  7. package/src/lib/constants/di.d.ts +1 -0
  8. package/src/lib/constants/di.js +2 -1
  9. package/src/lib/constants/di.js.map +1 -1
  10. package/src/lib/json-api.module.js +3 -2
  11. package/src/lib/json-api.module.js.map +1 -1
  12. package/src/lib/modules/atomic-operation/atomic-operation.module.d.ts +1 -2
  13. package/src/lib/modules/atomic-operation/atomic-operation.module.js +6 -5
  14. package/src/lib/modules/atomic-operation/atomic-operation.module.js.map +1 -1
  15. package/src/lib/modules/atomic-operation/controllers/operation.controller.js +4 -4
  16. package/src/lib/modules/atomic-operation/controllers/operation.controller.js.map +1 -1
  17. package/src/lib/modules/atomic-operation/factory/map-controller-entity.d.ts +1 -2
  18. package/src/lib/modules/atomic-operation/factory/map-controller-entity.js +8 -7
  19. package/src/lib/modules/atomic-operation/factory/map-controller-entity.js.map +1 -1
  20. package/src/lib/modules/atomic-operation/pipes/input-operation.pipe.js.map +1 -1
  21. package/src/lib/modules/atomic-operation/service/execute.service.d.ts +13 -3
  22. package/src/lib/modules/atomic-operation/service/execute.service.js +80 -33
  23. package/src/lib/modules/atomic-operation/service/execute.service.js.map +1 -1
  24. package/src/lib/modules/atomic-operation/service/explorer.service.js +10 -6
  25. package/src/lib/modules/atomic-operation/service/explorer.service.js.map +1 -1
  26. package/src/lib/modules/atomic-operation/service/swagger.service.js +6 -6
  27. package/src/lib/modules/atomic-operation/service/swagger.service.js.map +1 -1
  28. package/src/lib/modules/atomic-operation/utils/zod/zod-helper.d.ts +14 -7
  29. package/src/lib/modules/atomic-operation/utils/zod/zod-helper.js +12 -9
  30. package/src/lib/modules/atomic-operation/utils/zod/zod-helper.js.map +1 -1
  31. package/src/lib/modules/mixin/config/bindings.js +20 -0
  32. package/src/lib/modules/mixin/config/bindings.js.map +1 -1
  33. package/src/lib/modules/mixin/controllers/json-base.controller.d.ts +5 -5
  34. package/src/lib/modules/mixin/controllers/json-base.controller.js +5 -5
  35. package/src/lib/modules/mixin/controllers/json-base.controller.js.map +1 -1
  36. package/src/lib/modules/mixin/decorators/index.d.ts +1 -0
  37. package/src/lib/modules/mixin/decorators/index.js +1 -0
  38. package/src/lib/modules/mixin/decorators/index.js.map +1 -1
  39. package/src/lib/modules/mixin/decorators/json-api-response-from/json-api-response-from.decorator.d.ts +19 -0
  40. package/src/lib/modules/mixin/decorators/json-api-response-from/json-api-response-from.decorator.js +35 -0
  41. package/src/lib/modules/mixin/decorators/json-api-response-from/json-api-response-from.decorator.js.map +1 -0
  42. package/src/lib/modules/mixin/factory/zod-validate.factory.d.ts +2 -1
  43. package/src/lib/modules/mixin/factory/zod-validate.factory.js +5 -1
  44. package/src/lib/modules/mixin/factory/zod-validate.factory.js.map +1 -1
  45. package/src/lib/modules/mixin/helpers/bind-controller.js +4 -1
  46. package/src/lib/modules/mixin/helpers/bind-controller.js.map +1 -1
  47. package/src/lib/modules/mixin/mixin.module.js +1 -0
  48. package/src/lib/modules/mixin/mixin.module.js.map +1 -1
  49. package/src/lib/modules/mixin/pipe/index.d.ts +1 -0
  50. package/src/lib/modules/mixin/pipe/index.js +5 -0
  51. package/src/lib/modules/mixin/pipe/index.js.map +1 -1
  52. package/src/lib/modules/mixin/pipe/meta-extractor/index.d.ts +1 -0
  53. package/src/lib/modules/mixin/pipe/meta-extractor/index.js +5 -0
  54. package/src/lib/modules/mixin/pipe/meta-extractor/index.js.map +1 -0
  55. package/src/lib/modules/mixin/pipe/meta-extractor/meta-extractor.pipe.d.ts +6 -0
  56. package/src/lib/modules/mixin/pipe/meta-extractor/meta-extractor.pipe.js +27 -0
  57. package/src/lib/modules/mixin/pipe/meta-extractor/meta-extractor.pipe.js.map +1 -0
  58. package/src/lib/modules/mixin/service/json-api-transformer.service.d.ts +2 -2
  59. package/src/lib/modules/mixin/service/json-api-transformer.service.js.map +1 -1
  60. package/src/lib/modules/mixin/swagger/error-response-model.d.ts +11 -0
  61. package/src/lib/modules/mixin/swagger/error-response-model.js +63 -0
  62. package/src/lib/modules/mixin/swagger/error-response-model.js.map +1 -0
  63. package/src/lib/modules/mixin/swagger/method/delete-one.js +3 -3
  64. package/src/lib/modules/mixin/swagger/method/delete-one.js.map +1 -1
  65. package/src/lib/modules/mixin/swagger/method/delete-relationship.js +6 -6
  66. package/src/lib/modules/mixin/swagger/method/delete-relationship.js.map +1 -1
  67. package/src/lib/modules/mixin/swagger/method/get-all.js +9 -39
  68. package/src/lib/modules/mixin/swagger/method/get-all.js.map +1 -1
  69. package/src/lib/modules/mixin/swagger/method/get-one.js +5 -5
  70. package/src/lib/modules/mixin/swagger/method/get-one.js.map +1 -1
  71. package/src/lib/modules/mixin/swagger/method/get-relationship.js +5 -4
  72. package/src/lib/modules/mixin/swagger/method/get-relationship.js.map +1 -1
  73. package/src/lib/modules/mixin/swagger/method/patch-one.js +5 -5
  74. package/src/lib/modules/mixin/swagger/method/patch-one.js.map +1 -1
  75. package/src/lib/modules/mixin/swagger/method/patch-relationship.js +7 -7
  76. package/src/lib/modules/mixin/swagger/method/patch-relationship.js.map +1 -1
  77. package/src/lib/modules/mixin/swagger/method/post-one.js +5 -5
  78. package/src/lib/modules/mixin/swagger/method/post-one.js.map +1 -1
  79. package/src/lib/modules/mixin/swagger/method/post-relationship.js +7 -7
  80. package/src/lib/modules/mixin/swagger/method/post-relationship.js.map +1 -1
  81. package/src/lib/modules/mixin/swagger/open-api-types.d.ts +18 -0
  82. package/src/lib/modules/mixin/swagger/open-api-types.js +3 -0
  83. package/src/lib/modules/mixin/swagger/open-api-types.js.map +1 -0
  84. package/src/lib/modules/mixin/swagger/swagger-bind.service.d.ts +1 -0
  85. package/src/lib/modules/mixin/swagger/swagger-bind.service.js +52 -13
  86. package/src/lib/modules/mixin/swagger/swagger-bind.service.js.map +1 -1
  87. package/src/lib/modules/mixin/swagger/utils.d.ts +17 -142
  88. package/src/lib/modules/mixin/swagger/utils.js +178 -124
  89. package/src/lib/modules/mixin/swagger/utils.js.map +1 -1
  90. package/src/lib/modules/mixin/zod/index.d.ts +1 -1
  91. package/src/lib/modules/mixin/zod/index.js +4 -0
  92. package/src/lib/modules/mixin/zod/index.js.map +1 -1
  93. package/src/lib/modules/mixin/zod/map-transform-to-json-shema.d.ts +2 -0
  94. package/src/lib/modules/mixin/zod/map-transform-to-json-shema.js +10 -0
  95. package/src/lib/modules/mixin/zod/map-transform-to-json-shema.js.map +1 -1
  96. package/src/lib/modules/mixin/zod/zod-input-patch-relationship-schema/index.d.ts +8 -0
  97. package/src/lib/modules/mixin/zod/zod-input-patch-relationship-schema/index.js +8 -3
  98. package/src/lib/modules/mixin/zod/zod-input-patch-relationship-schema/index.js.map +1 -1
  99. package/src/lib/modules/mixin/zod/zod-input-patch-schema/index.d.ts +3 -1
  100. package/src/lib/modules/mixin/zod/zod-input-patch-schema/index.js +1 -0
  101. package/src/lib/modules/mixin/zod/zod-input-patch-schema/index.js.map +1 -1
  102. package/src/lib/modules/mixin/zod/zod-input-post-relationship-schema/index.d.ts +1 -0
  103. package/src/lib/modules/mixin/zod/zod-input-post-relationship-schema/index.js +1 -0
  104. package/src/lib/modules/mixin/zod/zod-input-post-relationship-schema/index.js.map +1 -1
  105. package/src/lib/modules/mixin/zod/zod-input-post-schema/index.d.ts +4 -2
  106. package/src/lib/modules/mixin/zod/zod-input-post-schema/index.js +2 -1
  107. package/src/lib/modules/mixin/zod/zod-input-post-schema/index.js.map +1 -1
  108. package/src/lib/modules/mixin/zod/zod-input-query-schema/fields.d.ts +8 -5
  109. package/src/lib/modules/mixin/zod/zod-input-query-schema/fields.js +16 -12
  110. package/src/lib/modules/mixin/zod/zod-input-query-schema/fields.js.map +1 -1
  111. package/src/lib/modules/mixin/zod/zod-input-query-schema/filter.d.ts +76 -6
  112. package/src/lib/modules/mixin/zod/zod-input-query-schema/filter.js +32 -10
  113. package/src/lib/modules/mixin/zod/zod-input-query-schema/filter.js.map +1 -1
  114. package/src/lib/modules/mixin/zod/zod-input-query-schema/index.d.ts +40 -15
  115. package/src/lib/modules/mixin/zod/zod-input-query-schema/index.js +3 -1
  116. package/src/lib/modules/mixin/zod/zod-input-query-schema/index.js.map +1 -1
  117. package/src/lib/modules/mixin/zod/zod-query-schema/fields.d.ts +1 -1
  118. package/src/lib/modules/mixin/zod/zod-query-schema/fields.js +5 -4
  119. package/src/lib/modules/mixin/zod/zod-query-schema/fields.js.map +1 -1
  120. package/src/lib/modules/mixin/zod/zod-query-schema/filter.d.ts +4 -2
  121. package/src/lib/modules/mixin/zod/zod-query-schema/filter.js +19 -8
  122. package/src/lib/modules/mixin/zod/zod-query-schema/filter.js.map +1 -1
  123. package/src/lib/modules/mixin/zod/zod-query-schema/include.d.ts +9 -2
  124. package/src/lib/modules/mixin/zod/zod-query-schema/include.js +2 -1
  125. package/src/lib/modules/mixin/zod/zod-query-schema/include.js.map +1 -1
  126. package/src/lib/modules/mixin/zod/zod-query-schema/sort.d.ts +2 -2
  127. package/src/lib/modules/mixin/zod/zod-query-schema/sort.js +5 -4
  128. package/src/lib/modules/mixin/zod/zod-query-schema/sort.js.map +1 -1
  129. package/src/lib/modules/mixin/zod/zod-share/attributes.d.ts +12 -6
  130. package/src/lib/modules/mixin/zod/zod-share/attributes.js +12 -7
  131. package/src/lib/modules/mixin/zod/zod-share/attributes.js.map +1 -1
  132. package/src/lib/modules/mixin/zod/zod-share/id.d.ts +12 -0
  133. package/src/lib/modules/mixin/zod/zod-share/id.js +17 -0
  134. package/src/lib/modules/mixin/zod/zod-share/id.js.map +1 -1
  135. package/src/lib/modules/mixin/zod/zod-share/index.d.ts +1 -0
  136. package/src/lib/modules/mixin/zod/zod-share/index.js +1 -0
  137. package/src/lib/modules/mixin/zod/zod-share/index.js.map +1 -1
  138. package/src/lib/modules/mixin/zod/zod-share/meta.d.ts +11 -0
  139. package/src/lib/modules/mixin/zod/zod-share/meta.js +15 -0
  140. package/src/lib/modules/mixin/zod/zod-share/meta.js.map +1 -0
  141. package/src/lib/modules/mixin/zod/zod-share/page.d.ts +2 -2
  142. package/src/lib/modules/mixin/zod/zod-utils.d.ts +2 -0
  143. package/src/lib/modules/mixin/zod/zod-utils.js +20 -0
  144. package/src/lib/modules/mixin/zod/zod-utils.js.map +1 -1
  145. package/src/lib/types/entity-param.type.d.ts +7 -7
  146. package/src/lib/types/module-options.types.d.ts +1 -0
  147. package/src/lib/utils/module-helper.js +1 -0
  148. package/src/lib/utils/module-helper.js.map +1 -1
@@ -1,7 +1,7 @@
1
1
  import { z } from 'zod';
2
2
  import { EntityParam, EntityRelationProps, NonEmptyStringTuple } from '../../../../types';
3
3
  import { EntityParamMapService } from '../../service';
4
- declare function getZodFieldRule<E extends object, IdKey extends string, PropsList extends ShapeArrayInput<E, IdKey>>(fields: PropsList): z.ZodOptional<z.ZodArray<z.ZodEnum<{ [k_1 in NonEmptyStringTuple<PropsList>[number]]: k_1; } extends infer T ? { [k in keyof T]: T[k]; } : never>>>;
4
+ declare function getZodFieldRule<E extends object, IdKey extends string, PropsList extends ShapeArrayInput<E, IdKey>>(fields: PropsList, id: IdKey): z.ZodOptional<z.ZodArray<z.ZodEnum<{ [k_1 in NonEmptyStringTuple<PropsList>[number]]: k_1; } extends infer T ? { [k in keyof T]: T[k]; } : never>>>;
5
5
  type ShapeArrayInput<E extends object, IdKey extends string> = EntityParam<E, IdKey>['props'] | EntityRelationProps<E, IdKey>[keyof EntityRelationProps<E, IdKey>];
6
6
  type ZodFieldRule<E extends object, IdKey extends string, PropsList extends ShapeArrayInput<E, IdKey>> = ReturnType<typeof getZodFieldRule<E, IdKey, PropsList>>;
7
7
  export type ZodFieldsShape<E extends object, IdKey extends string> = {
@@ -4,8 +4,8 @@ exports.zodFieldsQuery = zodFieldsQuery;
4
4
  const json_api_nestjs_shared_1 = require("@klerick/json-api-nestjs-shared");
5
5
  const zod_1 = require("zod");
6
6
  const zod_utils_1 = require("../zod-utils");
7
- function getZodFieldRule(fields) {
8
- const fieldsProps = fields;
7
+ function getZodFieldRule(fields, id) {
8
+ const fieldsProps = [...fields, id];
9
9
  return zod_1.z
10
10
  .enum(fieldsProps)
11
11
  .array()
@@ -17,11 +17,12 @@ function getZodFieldRule(fields) {
17
17
  }
18
18
  function getShapeFields(entityParamMapService) {
19
19
  const relationList = (0, zod_utils_1.getRelationProps)(entityParamMapService);
20
+ const relationListPrimaryName = (0, zod_utils_1.getRelationPrimaryName)(entityParamMapService);
20
21
  const fieldShape = json_api_nestjs_shared_1.ObjectTyped.entries(relationList).reduce((acum, [key, val]) => ({
21
22
  ...acum,
22
- [key]: getZodFieldRule(val),
23
+ [key]: getZodFieldRule(val, relationListPrimaryName[key]),
23
24
  }), {
24
- target: getZodFieldRule(entityParamMapService.entityParaMap.props),
25
+ target: getZodFieldRule(entityParamMapService.entityParaMap.props, entityParamMapService.entityParaMap.primaryColumnName),
25
26
  });
26
27
  return zod_1.z.strictObject(fieldShape, {
27
28
  error: (err) => err.code === 'unrecognized_keys'
@@ -1 +1 @@
1
- {"version":3,"file":"fields.js","sourceRoot":"","sources":["../../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/zod/zod-query-schema/fields.ts"],"names":[],"mappings":";;AAyEA,wCAQC;AAjFD,4EAA8D;AAC9D,6BAAmC;AAEnC,4CAA6E;AAQ7E,SAAS,eAAe,CAItB,MAAiB;IACjB,MAAM,WAAW,GAAmC,MAAa,CAAC;IAElE,OAAO,OAAC;SACL,IAAI,CAAC,WAAW,CAAC;SACjB,KAAK,EAAE;SACP,QAAQ,EAAE;SACV,MAAM,CAAC,IAAA,uBAAW,GAAE,EAAE;QACrB,KAAK,EAAE,wBAAwB;KAChC,CAAC;SACD,QAAQ,EAAE,CAAC;AAChB,CAAC;AAsBD,SAAS,cAAc,CACrB,qBAAsD;IAEtD,MAAM,YAAY,GAAG,IAAA,4BAAgB,EAAC,qBAAqB,CAAC,CAAC;IAE7D,MAAM,UAAU,GAAG,oCAAW,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,MAAM,CACzD,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QACrB,GAAG,IAAI;QACP,CAAC,GAAkB,CAAC,EAAE,eAAe,CAAuB,GAAG,CAAC;KACjE,CAAC,EACF;QACE,MAAM,EAAE,eAAe,CACrB,qBAAqB,CAAC,aAAa,CAAC,KAAK,CAC1C;KAC0B,CAC9B,CAAC;IAEF,OAAO,OAAC,CAAC,YAAY,CAAC,UAAU,EAAE;QAChC,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CACb,GAAG,CAAC,IAAI,KAAK,mBAAmB;YAC9B,CAAC,CAAC,mCAAmC;YACrC,CAAC,CAAC,GAAG,CAAC,OAAO;KAClB,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,cAAc,CAC5B,qBAAsD;IAEtD,OAAO,cAAc,CAAC,qBAAqB,CAAC;SACzC,MAAM,CAAC,IAAA,0BAAc,GAAE,EAAE;QACxB,OAAO,EAAE,oDAAoD;KAC9D,CAAC;SACD,QAAQ,EAAE,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"fields.js","sourceRoot":"","sources":["../../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/zod/zod-query-schema/fields.ts"],"names":[],"mappings":";;AA+EA,wCAQC;AAvFD,4EAA8D;AAC9D,6BAAmC;AAEnC,4CAKsB;AAQtB,SAAS,eAAe,CAItB,MAAiB,EAAE,EAAS;IAC5B,MAAM,WAAW,GAAmC,CAAC,GAAG,MAAM,EAAE,EAAE,CAAQ,CAAC;IAE3E,OAAO,OAAC;SACL,IAAI,CAAC,WAAW,CAAC;SACjB,KAAK,EAAE;SACP,QAAQ,EAAE;SACV,MAAM,CAAC,IAAA,uBAAW,GAAE,EAAE;QACrB,KAAK,EAAE,wBAAwB;KAChC,CAAC;SACD,QAAQ,EAAE,CAAC;AAChB,CAAC;AAsBD,SAAS,cAAc,CACrB,qBAAsD;IAEtD,MAAM,YAAY,GAAG,IAAA,4BAAgB,EAAC,qBAAqB,CAAC,CAAC;IAC7D,MAAM,uBAAuB,GAAG,IAAA,kCAAsB,EAAC,qBAAqB,CAAC,CAAC;IAC9E,MAAM,UAAU,GAAG,oCAAW,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,MAAM,CACzD,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QACrB,GAAG,IAAI;QACP,CAAC,GAAkB,CAAC,EAAE,eAAe,CAAuB,GAAG,EAAE,uBAAuB,CAAC,GAAG,CAAU,CAAC;KACxG,CAAC,EACF;QACE,MAAM,EAAE,eAAe,CACrB,qBAAqB,CAAC,aAAa,CAAC,KAAK,EACzC,qBAAqB,CAAC,aAAa,CAAC,iBAAiB,CACtD;KAC0B,CAC9B,CAAC;IAEF,OAAO,OAAC,CAAC,YAAY,CAAC,UAAU,EAAE;QAChC,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CACb,GAAG,CAAC,IAAI,KAAK,mBAAmB;YAC9B,CAAC,CAAC,mCAAmC;YACrC,CAAC,CAAC,GAAG,CAAC,OAAO;KAClB,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,cAAc,CAC5B,qBAAsD;IAEtD,OAAO,cAAc,CAAC,qBAAqB,CAAC;SACzC,MAAM,CAAC,IAAA,0BAAc,GAAE,EAAE;QACxB,OAAO,EAAE,oDAAoD;KAC9D,CAAC;SACD,QAAQ,EAAE,CAAC;AAChB,CAAC"}
@@ -33,14 +33,16 @@ type RelationFilterProps<E extends object, IdKey extends string> = {
33
33
  };
34
34
  export type FilterProps<E extends object, IdKey extends string> = {
35
35
  [Props in EntityParam<E, IdKey>['props'][number] & PropertyKey]: Props extends keyof E ? E[Props] extends TypeField.array ? ZodOptional<ZodRuleForArrayField> : ZodOptional<ZodRulesForField> : never;
36
+ } & {
37
+ [id in EntityParam<E, IdKey>['primaryColumnName']]?: ZodOptional<ZodRulesForField>;
36
38
  };
37
39
  type TargetRelationShape<E extends object, IdKey extends string> = {
38
40
  [Props in EntityParam<E, IdKey>['relations'][number] & PropertyKey]: ZodOptional<ZodRuleFilterRelationSchema>;
39
41
  };
40
42
  type ResultTargetType<E extends object, IdKey extends string> = FilterProps<E, IdKey> & TargetRelationShape<E, IdKey>;
41
43
  export declare function zodFilterQuery<E extends object, IdKey extends string>(entityParamMapService: EntityParamMapService<E, IdKey>): z.ZodObject<{
42
- target: z.ZodNullable<z.ZodOptional<z.ZodObject<ResultTargetType<E, IdKey>, z.core.$strict>>>;
43
- relation: z.ZodNullable<z.ZodOptional<z.ZodObject<RelationFilterProps<E, IdKey>, z.core.$strict>>>;
44
+ target: z.ZodNullable<z.ZodObject<ResultTargetType<E, IdKey> extends infer T ? { -readonly [P in keyof T]: T[P]; } : never, z.core.$strict>>;
45
+ relation: z.ZodNullable<z.ZodObject<RelationFilterProps<E, IdKey> extends infer T_1 ? { -readonly [P_1 in keyof T_1]: T_1[P_1]; } : never, z.core.$strict>>;
44
46
  }, z.core.$strict>;
45
47
  export type ZodFilterQuery<E extends object, IdKey extends string> = ReturnType<typeof zodFilterQuery<E, IdKey>>;
46
48
  export type FilterQuery<E extends object, IdKey extends string> = z.infer<ZodFilterQuery<E, IdKey>>;
@@ -82,15 +82,27 @@ function getZodRulesForField(type = types_1.TypeField.string) {
82
82
  function getZodRulesForRelationShape(shape) {
83
83
  return zod_1.z.object(shape).strict().optional().refine((0, zod_utils_1.nonEmptyObject)());
84
84
  }
85
+ const zodRulesForFieldCache = new Map();
86
+ function getZodRulesForFieldUsingCache(type) {
87
+ let rules = zodRulesForFieldCache.get(type);
88
+ if (rules) {
89
+ return rules;
90
+ }
91
+ rules = getZodRulesForField(type);
92
+ zodRulesForFieldCache.set(type, rules);
93
+ return rules;
94
+ }
85
95
  function getFilterPropsShapeForEntity(entityParam) {
86
96
  return entityParam.props.reduce((acum, field) => {
87
97
  const propertyType = Reflect.get(entityParam.propsType, field);
88
98
  const value = propertyType === types_1.TypeField.array
89
99
  ? zodRuleForArrayField
90
- : getZodRulesForField(propertyType);
100
+ : getZodRulesForFieldUsingCache(propertyType);
91
101
  Reflect.set(acum, field, value.optional());
92
102
  return acum;
93
- }, {});
103
+ }, {
104
+ [entityParam.primaryColumnName]: getZodRulesForFieldUsingCache(entityParam.primaryColumnType).optional()
105
+ });
94
106
  }
95
107
  function zodFilterQuery(entityParamMapService) {
96
108
  const targetResult = entityParamMapService.entityParaMap.relations.reduce((acum, item) => ({
@@ -105,15 +117,14 @@ function zodFilterQuery(entityParamMapService) {
105
117
  [relName]: zodFilter.optional(),
106
118
  };
107
119
  }, {});
120
+ // Both keys are required: this schema guards what reaches the controller, and
121
+ // the input pipe always emits them -- its reducer starts from
122
+ // { relation: null, target: null }. A null value means "nothing filtered on
123
+ // this side"; a missing key means the query never went through the pipe.
108
124
  const targetShapeFilter = {
109
- target: zod_1.z
110
- .strictObject(targetResult)
111
- .optional()
112
- .refine((0, zod_utils_1.nonEmptyObject)())
113
- .nullable(),
125
+ target: zod_1.z.strictObject(targetResult).refine((0, zod_utils_1.nonEmptyObject)()).nullable(),
114
126
  relation: zod_1.z
115
127
  .strictObject(relationFilterProps)
116
- .optional()
117
128
  .refine((0, zod_utils_1.nonEmptyObject)())
118
129
  .nullable(),
119
130
  };
@@ -1 +1 @@
1
- {"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/zod/zod-query-schema/filter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/zod/zod-query-schema/filter.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,13 @@
1
1
  import { z } from 'zod';
2
+ import type { ZodNullable, ZodArray, ZodEnum } from 'zod';
2
3
  import { EntityParamMapService } from '../../service';
3
4
  import { NonEmptyStringTuple } from '../../../../types';
4
- export declare function zodIncludeQuery<E extends object, IdKey extends string>(entityParamMapService: EntityParamMapService<E, IdKey>): z.ZodNullable<z.ZodArray<z.ZodEnum<{ [k_1 in NonEmptyStringTuple<import("../../../../types").UnionToTuple<import("dist/libs/json-api/json-api-nestjs-shared/cjs/src").RelationKeys<E, IdKey>, import("ts-toolbelt/out/Union/Last").Last<import("dist/libs/json-api/json-api-nestjs-shared/cjs/src").RelationKeys<E, IdKey>>, [import("dist/libs/json-api/json-api-nestjs-shared/cjs/src").RelationKeys<E, IdKey>] extends [never] ? true : false>>[number]]: k_1; } extends infer T ? { [k in keyof T]: T[k]; } : never>>>;
5
- export type ZodIncludeQuery<E extends object, IdKey extends string> = ReturnType<typeof zodIncludeQuery<E, IdKey>>;
5
+ type Relations<E extends object, IdKey extends string> = EntityParamMapService<E, IdKey>['entityParaMap']['relations'];
6
+ type RelationsTuple<E extends object, IdKey extends string> = NonEmptyStringTuple<Relations<E, IdKey>>;
7
+ type EnumLike<T extends readonly string[]> = {
8
+ [K in T[number]]: K;
9
+ };
10
+ export type ZodIncludeQuery<E extends object, IdKey extends string> = ZodNullable<ZodArray<ZodEnum<EnumLike<RelationsTuple<E, IdKey>>>>>;
11
+ export declare function zodIncludeQuery<E extends object, IdKey extends string>(entityParamMapService: EntityParamMapService<E, IdKey>): ZodIncludeQuery<E, IdKey>;
6
12
  export type IncludeQuery<E extends object, IdKey extends string> = z.infer<ZodIncludeQuery<E, IdKey>>;
13
+ export {};
@@ -4,7 +4,8 @@ exports.zodIncludeQuery = zodIncludeQuery;
4
4
  const zod_1 = require("zod");
5
5
  const zod_utils_1 = require("../zod-utils");
6
6
  function zodIncludeQuery(entityParamMapService) {
7
- const relationProps = entityParamMapService.entityParaMap.relations;
7
+ const relationProps = entityParamMapService
8
+ .entityParaMap.relations;
8
9
  return zod_1.z
9
10
  .enum(relationProps)
10
11
  .array()
@@ -1 +1 @@
1
- {"version":3,"file":"include.js","sourceRoot":"","sources":["../../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/zod/zod-query-schema/include.ts"],"names":[],"mappings":";;AAKA,0CAeC;AApBD,6BAAwB;AACxB,4CAA2C;AAI3C,SAAgB,eAAe,CAC7B,qBAAsD;IAEtD,MAAM,aAAa,GAEf,qBAAqB,CAAC,aAAa,CAAC,SAAgB,CAAC;IAEzD,OAAO,OAAC;SACL,IAAI,CAAC,aAAa,CAAC;SACnB,KAAK,EAAE;SACP,QAAQ,EAAE;SACV,MAAM,CAAC,IAAA,uBAAW,GAAE,EAAE;QACrB,KAAK,EAAE,qCAAqC;KAC7C,CAAC;SACD,QAAQ,EAAE,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"include.js","sourceRoot":"","sources":["../../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/zod/zod-query-schema/include.ts"],"names":[],"mappings":";;AAwBA,0CAcC;AAtCD,6BAAwB;AAGxB,4CAA2C;AAqB3C,SAAgB,eAAe,CAC7B,qBAAsD;IAEtD,MAAM,aAAa,GAA6B,qBAAqB;SAClE,aAAa,CAAC,SAAqC,CAAC;IAEvD,OAAO,OAAC;SACL,IAAI,CAAC,aAAa,CAAC;SACnB,KAAK,EAAE;SACP,QAAQ,EAAE;SACV,MAAM,CAAC,IAAA,uBAAW,GAAE,EAAE;QACrB,KAAK,EAAE,qCAAqC;KAC7C,CAAC;SACD,QAAQ,EAAE,CAAC;AAChB,CAAC"}
@@ -5,7 +5,7 @@ declare function getZodSortRule(): z.ZodOptional<z.ZodEnum<{
5
5
  DESC: "DESC";
6
6
  ASC: "ASC";
7
7
  }>>;
8
- declare function getZodFieldRule<E extends object, IdKey extends string, PropsList extends ShapeArrayInput<E, IdKey>>(fields: PropsList, zodSchema: ZodSortRule): z.ZodOptional<z.ZodObject<{ [K in PropsList[number] & PropertyKey]: z.ZodOptional<z.ZodEnum<{
8
+ declare function getZodFieldRule<E extends object, IdKey extends string, PropsList extends ShapeArrayInput<E, IdKey>>(fields: PropsList, zodSchema: ZodSortRule, idKey: IdKey): z.ZodOptional<z.ZodObject<{ [K in (IdKey | PropsList[number]) & PropertyKey]: z.ZodOptional<z.ZodEnum<{
9
9
  DESC: "DESC";
10
10
  ASC: "ASC";
11
11
  }>>; } extends infer T ? { -readonly [P in keyof T]: T[P]; } : never, z.core.$strict>>;
@@ -21,7 +21,7 @@ type ZodSortRelation<E extends object, IdKey extends string> = {
21
21
  type ZodSortShape<E extends object, IdKey extends string> = ZodSortTarget<E, IdKey> & ZodSortRelation<E, IdKey>;
22
22
  export declare function zodSortQuery<E extends object, IdKey extends string>(entityParamMapService: EntityParamMapService<E, IdKey>): z.ZodNullable<z.ZodObject<ZodSortShape<E, IdKey> extends infer T extends Readonly<{
23
23
  [k: string]: z.core.$ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
24
- }> ? { [k in keyof T]: z.ZodOptional<T[k]>; } : never, z.core.$strict>>;
24
+ }> ? { -readonly [k in keyof T]: z.ZodOptional<T[k]>; } : never, z.core.$strict>>;
25
25
  export type ZodSortQuery<E extends object, IdKey extends string> = ReturnType<typeof zodSortQuery<E, IdKey>>;
26
26
  export type SortQuery<E extends object, IdKey extends string> = z.infer<ZodSortQuery<E, IdKey>>;
27
27
  export {};
@@ -8,21 +8,22 @@ const zod_utils_1 = require("../zod-utils");
8
8
  function getZodSortRule() {
9
9
  return zod_1.z.enum(constants_1.SORT_TYPE).optional();
10
10
  }
11
- function getZodFieldRule(fields, zodSchema) {
11
+ function getZodFieldRule(fields, zodSchema, idKey) {
12
12
  const targetShape = fields.reduce((acum, item) => ({
13
13
  ...acum,
14
14
  [item]: zodSchema,
15
- }), {});
15
+ }), { [idKey]: zodSchema });
16
16
  return zod_1.z.object(targetShape).strict().refine((0, zod_utils_1.nonEmptyObject)()).optional();
17
17
  }
18
18
  function zodSortObject(entityParamMapService) {
19
19
  const zodSortRule = getZodSortRule();
20
20
  const relationList = (0, zod_utils_1.getRelationProps)(entityParamMapService);
21
+ const relationListPrimaryName = (0, zod_utils_1.getRelationPrimaryName)(entityParamMapService);
21
22
  const sortShape = json_api_nestjs_shared_1.ObjectTyped.entries(relationList).reduce((acum, [key, val]) => ({
22
23
  ...acum,
23
- [key]: getZodFieldRule(val, zodSortRule),
24
+ [key]: getZodFieldRule(val, zodSortRule, relationListPrimaryName[key]),
24
25
  }), {
25
- target: getZodFieldRule(entityParamMapService.entityParaMap.props, zodSortRule),
26
+ target: getZodFieldRule(entityParamMapService.entityParaMap.props, zodSortRule, entityParamMapService.entityParaMap.primaryColumnName),
26
27
  });
27
28
  return zod_1.z.strictObject(sortShape);
28
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sort.js","sourceRoot":"","sources":["../../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/zod/zod-query-schema/sort.ts"],"names":[],"mappings":";;AAgFA,oCAOC;AAvFD,4EAA8D;AAC9D,6BAAmC;AAGnC,qDAAkD;AAClD,4CAAgE;AAGhE,SAAS,cAAc;IACrB,OAAO,OAAC,CAAC,IAAI,CAAC,qBAAS,CAAC,CAAC,QAAQ,EAAE,CAAC;AACtC,CAAC;AAED,SAAS,eAAe,CAItB,MAAiB,EAAE,SAAsB;IACzC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAC/B,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QACf,GAAG,IAAI;QACP,CAAC,IAAmB,CAAC,EAAE,SAAS;KACjC,CAAC,EACF,EAA6D,CAC9D,CAAC;IAEF,OAAO,OAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,IAAA,0BAAc,GAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;AAC5E,CAAC;AA8BD,SAAS,aAAa,CACpB,qBAAsD;IAEtD,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,MAAM,YAAY,GAAG,IAAA,4BAAgB,EAAC,qBAAqB,CAAC,CAAC;IAE7D,MAAM,SAAS,GAAG,oCAAW,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,MAAM,CACxD,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QACrB,GAAG,IAAI;QACP,CAAC,GAAkB,CAAC,EAAE,eAAe,CACnC,GAAG,EACH,WAAW,CACZ;KACF,CAAC,EACF;QACE,MAAM,EAAE,eAAe,CACrB,qBAAqB,CAAC,aAAa,CAAC,KAAK,EACzC,WAAW,CACZ;KACwB,CAC5B,CAAC;IACF,OAAO,OAAC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;AAClC,CAAC;AAED,SAAgB,YAAY,CAC1B,qBAAsD;IAEtD,OAAO,aAAa,CAAC,qBAAqB,CAAC;SACxC,OAAO,EAAE;SACT,MAAM,CAAC,IAAA,0BAAc,GAAE,CAAC;SACxB,QAAQ,EAAE,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"sort.js","sourceRoot":"","sources":["../../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/zod/zod-query-schema/sort.ts"],"names":[],"mappings":";;AAuFA,oCAOC;AA9FD,4EAA8D;AAC9D,6BAAmC;AAGnC,qDAAkD;AAClD,4CAIsB;AAGtB,SAAS,cAAc;IACrB,OAAO,OAAC,CAAC,IAAI,CAAC,qBAAS,CAAC,CAAC,QAAQ,EAAE,CAAC;AACtC,CAAC;AAED,SAAS,eAAe,CAItB,MAAiB,EAAE,SAAsB,EAAE,KAAY;IACvD,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAC/B,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QACf,GAAG,IAAI;QACP,CAAC,IAAmB,CAAC,EAAE,SAAS;KACjC,CAAC,EACF,EAAC,CAAC,KAAK,CAAC,EAAE,SAAS,EAAsE,CAC1F,CAAC;IAEF,OAAO,OAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,IAAA,0BAAc,GAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;AAC5E,CAAC;AA8BD,SAAS,aAAa,CACpB,qBAAsD;IAEtD,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,MAAM,YAAY,GAAG,IAAA,4BAAgB,EAAC,qBAAqB,CAAC,CAAC;IAC7D,MAAM,uBAAuB,GAAG,IAAA,kCAAsB,EAAC,qBAAqB,CAAC,CAAC;IAE9E,MAAM,SAAS,GAAG,oCAAW,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,MAAM,CACxD,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QACrB,GAAG,IAAI;QACP,CAAC,GAAkB,CAAC,EAAE,eAAe,CACnC,GAAG,EACH,WAAW,EACX,uBAAuB,CAAC,GAAG,CAAC,CAC7B;KACF,CAAC,EACF;QACE,MAAM,EAAE,eAAe,CACrB,qBAAqB,CAAC,aAAa,CAAC,KAAK,EACzC,WAAW,EACX,qBAAqB,CAAC,aAAa,CAAC,iBAAiB,CACtD;KACwB,CAC5B,CAAC;IACF,OAAO,OAAC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;AAClC,CAAC;AAED,SAAgB,YAAY,CAC1B,qBAAsD;IAEtD,OAAO,aAAa,CAAC,qBAAqB,CAAC;SACxC,OAAO,EAAE;SACT,MAAM,CAAC,IAAA,0BAAc,GAAE,CAAC;SACxB,QAAQ,EAAE,CAAC;AAChB,CAAC"}
@@ -2,13 +2,19 @@ import { z, ZodArray } from 'zod';
2
2
  import { EntityParam, TypeField, ExtractJsonApiReadOnlyKeys, ExtractJsonApiImmutableKeys } from '../../../../types';
3
3
  import { ResultSchema } from './type';
4
4
  import { EntityParamMapService } from '../../service';
5
- export declare function getZodRulesForNumber<Null extends true | false, isPatch extends true | false>(isNullable: Null, isPatch: isPatch): ResultSchema<z.ZodPipe<z.ZodTransform<number, unknown>, z.ZodNumber>, Null, isPatch>;
6
- declare function getZodRulesForString<Null extends true | false, isPatch extends true | false>(isNullable: Null, isPatch: isPatch): ResultSchema<z.ZodString, Null, isPatch>;
7
- declare function getZodRulesForDate<Null extends true | false, isPatch extends true | false>(isNullable: Null, isPatch: isPatch): z.ZodPipe<z.ZodISODateTime, z.ZodTransform<Awaited<isPatch extends true ? Null extends true ? Date | null | undefined : Date | undefined : Null extends true ? Date | null | undefined : Date>, string>> | z.ZodPipe<z.ZodOptional<z.ZodNullable<z.ZodISODateTime>>, z.ZodTransform<Awaited<isPatch extends true ? Null extends true ? Date | null | undefined : Date | undefined : Null extends true ? Date | null | undefined : Date>, string | null | undefined>> | z.ZodPipe<z.ZodOptional<z.ZodISODateTime>, z.ZodTransform<Awaited<isPatch extends true ? Null extends true ? Date | null | undefined : Date | undefined : Null extends true ? Date | null | undefined : Date>, string | undefined>>;
8
- declare function getZodRulesForBoolean<Null extends true | false, isPatch extends true | false>(isNullable: Null, isPatch: isPatch): ResultSchema<z.ZodBoolean, Null, isPatch>;
9
- declare function getZodSchemaForJson<Null extends true | false, isPatch extends true | false>(isNullable: Null, isPatch: isPatch): ResultSchema<z.ZodJSONSchema, Null, isPatch>;
5
+ declare function getZodRulesForNumberFunc<Null extends true | false, isPatch extends true | false>(isNullable: Null, isPatch: isPatch): ResultSchema<z.ZodPreprocess<z.ZodNumber>, Null, isPatch>;
6
+ declare const getZodRulesForNumber: typeof getZodRulesForNumberFunc;
7
+ declare function getZodRulesForStringFunc<Null extends true | false, isPatch extends true | false>(isNullable: Null, isPatch: isPatch): ResultSchema<z.ZodString, Null, isPatch>;
8
+ declare const getZodRulesForString: typeof getZodRulesForStringFunc;
9
+ declare function getZodRulesForDateFunc<Null extends true | false, isPatch extends true | false>(isNullable: Null, isPatch: isPatch): z.ZodPipe<z.ZodISODateTime, z.ZodTransform<Awaited<isPatch extends true ? Null extends true ? Date | null | undefined : Date | undefined : Null extends true ? Date | null | undefined : Date>, string>> | z.ZodPipe<z.ZodOptional<z.ZodNullable<z.ZodISODateTime>>, z.ZodTransform<Awaited<isPatch extends true ? Null extends true ? Date | null | undefined : Date | undefined : Null extends true ? Date | null | undefined : Date>, string | null | undefined>> | z.ZodPipe<z.ZodOptional<z.ZodISODateTime>, z.ZodTransform<Awaited<isPatch extends true ? Null extends true ? Date | null | undefined : Date | undefined : Null extends true ? Date | null | undefined : Date>, string | undefined>>;
10
+ declare const getZodRulesForDate: typeof getZodRulesForDateFunc;
11
+ declare function getZodRulesForBooleanFunc<Null extends true | false, isPatch extends true | false>(isNullable: Null, isPatch: isPatch): ResultSchema<z.ZodBoolean, Null, isPatch>;
12
+ declare const getZodRulesForBoolean: typeof getZodRulesForBooleanFunc;
13
+ declare function getZodSchemaForJsonFunc<Null extends true | false, isPatch extends true | false>(isNullable: Null, isPatch: isPatch): ResultSchema<z.ZodJSONSchema, Null, isPatch>;
14
+ declare const getZodSchemaForJson: typeof getZodSchemaForJsonFunc;
10
15
  type ZodRulesResultArray<T extends TypeField, Null extends true | false, isPatch extends true | false> = ResultSchema<ZodArray<ZodRulesForType<T, false, false>>, Null, isPatch>;
11
- declare function getZodRulesForArray<T extends TypeField, Null extends true | false, isPatch extends true | false>(propsField: T, isNullable: Null, isPatch: isPatch): ZodRulesResultArray<T, Null, isPatch>;
16
+ declare function getZodRulesForArrayFunc<T extends TypeField, Null extends true | false, isPatch extends true | false>(propsField: T, isNullable: Null, isPatch: isPatch): ZodRulesResultArray<T, Null, isPatch>;
17
+ declare const getZodRulesForArray: typeof getZodRulesForArrayFunc;
12
18
  type ZodRulesForArray<T extends TypeField, Null extends true | false, isPatch extends true | false> = ReturnType<typeof getZodRulesForArray<T, Null, isPatch>>;
13
19
  export type ZodRulesForType<T extends TypeField, Null extends true | false, isPatch extends true | false> = ReturnType<T extends TypeField.date ? typeof getZodRulesForDate<Null, isPatch> : T extends TypeField.boolean ? typeof getZodRulesForBoolean<Null, isPatch> : T extends TypeField.number ? typeof getZodRulesForNumber<Null, isPatch> : T extends TypeField.object ? typeof getZodSchemaForJson<Null, isPatch> : typeof getZodRulesForString<Null, isPatch>>;
14
20
  export type IsNullableProps<E extends object, IdKey extends string, K extends keyof E> = K extends EntityParam<E, IdKey>['propsNullable'][number] ? true : false;
@@ -1,29 +1,33 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getZodRulesForNumber = getZodRulesForNumber;
4
3
  exports.zodAttributes = zodAttributes;
5
4
  const json_api_nestjs_shared_1 = require("@klerick/json-api-nestjs-shared");
6
5
  const zod_1 = require("zod");
7
6
  const types_1 = require("../../../../types");
8
7
  const zod_utils_1 = require("../zod-utils");
9
8
  const map_transform_to_json_shema_1 = require("../map-transform-to-json-shema");
10
- function getZodRulesForNumber(isNullable, isPatch) {
9
+ function getZodRulesForNumberFunc(isNullable, isPatch) {
11
10
  const schema = zod_1.z.preprocess((x) => Number(x), zod_1.z.number());
12
11
  return (0, zod_utils_1.setOptionalOrNot)(schema, isNullable, isPatch);
13
12
  }
14
- function getZodRulesForString(isNullable, isPatch) {
13
+ const getZodRulesForNumber = (0, zod_utils_1.memoize)(getZodRulesForNumberFunc);
14
+ function getZodRulesForStringFunc(isNullable, isPatch) {
15
15
  return (0, zod_utils_1.setOptionalOrNot)(zod_1.z.string(), isNullable, isPatch);
16
16
  }
17
- function getZodRulesForDate(isNullable, isPatch) {
17
+ const getZodRulesForString = (0, zod_utils_1.memoize)(getZodRulesForStringFunc);
18
+ function getZodRulesForDateFunc(isNullable, isPatch) {
18
19
  return (0, zod_utils_1.setOptionalOrNot)(zod_1.z.iso.datetime(), isNullable, isPatch).transform((map_transform_to_json_shema_1.transformDateString));
19
20
  }
20
- function getZodRulesForBoolean(isNullable, isPatch) {
21
+ const getZodRulesForDate = (0, zod_utils_1.memoize)(getZodRulesForDateFunc);
22
+ function getZodRulesForBooleanFunc(isNullable, isPatch) {
21
23
  return (0, zod_utils_1.setOptionalOrNot)(zod_1.z.boolean(), isNullable, isPatch);
22
24
  }
23
- function getZodSchemaForJson(isNullable, isPatch) {
25
+ const getZodRulesForBoolean = (0, zod_utils_1.memoize)(getZodRulesForBooleanFunc);
26
+ function getZodSchemaForJsonFunc(isNullable, isPatch) {
24
27
  return (0, zod_utils_1.setOptionalOrNot)(zod_1.z.json(), isNullable, isPatch);
25
28
  }
26
- function getZodRulesForArray(propsField, isNullable, isPatch) {
29
+ const getZodSchemaForJson = (0, zod_utils_1.memoize)(getZodSchemaForJsonFunc);
30
+ function getZodRulesForArrayFunc(propsField, isNullable, isPatch) {
27
31
  let schema;
28
32
  switch (propsField) {
29
33
  case types_1.TypeField.number:
@@ -40,6 +44,7 @@ function getZodRulesForArray(propsField, isNullable, isPatch) {
40
44
  }
41
45
  return (0, zod_utils_1.setOptionalOrNot)(schema.array(), isNullable, isPatch);
42
46
  }
47
+ const getZodRulesForArray = (0, zod_utils_1.memoize)(getZodRulesForArrayFunc);
43
48
  function assertPropsIsarrayProps(paramMap, propsName) {
44
49
  return Reflect.get(paramMap.propsType, `${propsName}`) === types_1.TypeField.array;
45
50
  }
@@ -1 +1 @@
1
- {"version":3,"file":"attributes.js","sourceRoot":"","sources":["../../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/zod/zod-share/attributes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attributes.js","sourceRoot":"","sources":["../../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/zod/zod-share/attributes.ts"],"names":[],"mappings":"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"}
@@ -3,3 +3,15 @@ import { TypeForId } from '../../../../types';
3
3
  export declare function zodId(typeId: TypeForId): z.ZodString;
4
4
  export type ZodId = ReturnType<typeof zodId>;
5
5
  export type Id = z.infer<ZodId>;
6
+ /**
7
+ * JSON:API carries every id as a string, including ids of numeric primary keys.
8
+ * A client-supplied id ends up written straight onto the new entity, so it has
9
+ * to match the declared primary-key type: MikroORM 7 validates property types
10
+ * on flush and rejects a string written to a numeric key, where earlier
11
+ * versions coerced it silently.
12
+ *
13
+ * Only the resource's own id is converted. Relationship linkage ids keep their
14
+ * string form -- they travel a different path and are matched as strings.
15
+ */
16
+ export declare function zodPrimaryKeyId(typeId: TypeForId): z.ZodString | z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
17
+ export type ZodPrimaryKeyId = ReturnType<typeof zodPrimaryKeyId>;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.zodId = zodId;
4
+ exports.zodPrimaryKeyId = zodPrimaryKeyId;
4
5
  const zod_1 = require("zod");
5
6
  const types_1 = require("../../../../types");
6
7
  const reg = new RegExp('^-?\\d+$');
@@ -11,4 +12,20 @@ function zodId(typeId) {
11
12
  }
12
13
  return idSchema;
13
14
  }
15
+ /**
16
+ * JSON:API carries every id as a string, including ids of numeric primary keys.
17
+ * A client-supplied id ends up written straight onto the new entity, so it has
18
+ * to match the declared primary-key type: MikroORM 7 validates property types
19
+ * on flush and rejects a string written to a numeric key, where earlier
20
+ * versions coerced it silently.
21
+ *
22
+ * Only the resource's own id is converted. Relationship linkage ids keep their
23
+ * string form -- they travel a different path and are matched as strings.
24
+ */
25
+ function zodPrimaryKeyId(typeId) {
26
+ if (typeId === types_1.TypeField.number) {
27
+ return zodId(typeId).transform((value) => Number(value));
28
+ }
29
+ return zodId(typeId);
30
+ }
14
31
  //# sourceMappingURL=id.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"id.js","sourceRoot":"","sources":["../../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/zod/zod-share/id.ts"],"names":[],"mappings":";;AAKA,sBAOC;AAZD,6BAAwB;AACxB,6CAAyD;AAEzD,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC;AAEnC,SAAgB,KAAK,CAAC,MAAiB;IACrC,IAAI,QAAQ,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC;IAC1B,IAAI,MAAM,KAAK,iBAAS,CAAC,MAAM,EAAE,CAAC;QAChC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"id.js","sourceRoot":"","sources":["../../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/zod/zod-share/id.ts"],"names":[],"mappings":";;AAKA,sBAOC;AAeD,0CAMC;AAjCD,6BAAwB;AACxB,6CAAyD;AAEzD,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC;AAEnC,SAAgB,KAAK,CAAC,MAAiB;IACrC,IAAI,QAAQ,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC;IAC1B,IAAI,MAAM,KAAK,iBAAS,CAAC,MAAM,EAAE,CAAC;QAChC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAKD;;;;;;;;;GASG;AACH,SAAgB,eAAe,CAAC,MAAiB;IAC/C,IAAI,MAAM,KAAK,iBAAS,CAAC,MAAM,EAAE,CAAC;QAChC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC;AACvB,CAAC"}
@@ -4,3 +4,4 @@ export * from './type';
4
4
  export * from './attributes';
5
5
  export * from './rel-data';
6
6
  export * from './relationships';
7
+ export * from './meta';
@@ -7,4 +7,5 @@ tslib_1.__exportStar(require("./type"), exports);
7
7
  tslib_1.__exportStar(require("./attributes"), exports);
8
8
  tslib_1.__exportStar(require("./rel-data"), exports);
9
9
  tslib_1.__exportStar(require("./relationships"), exports);
10
+ tslib_1.__exportStar(require("./meta"), exports);
10
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/zod/zod-share/index.ts"],"names":[],"mappings":";;;AAAA,iDAAuB;AACvB,+CAAqB;AACrB,iDAAuB;AACvB,uDAA6B;AAC7B,qDAA2B;AAC3B,0DAAgC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/zod/zod-share/index.ts"],"names":[],"mappings":";;;AAAA,iDAAuB;AACvB,+CAAqB;AACrB,iDAAuB;AACvB,uDAA6B;AAC7B,qDAA2B;AAC3B,0DAAgC;AAChC,iDAAuB"}
@@ -0,0 +1,11 @@
1
+ import { z } from 'zod';
2
+ export declare const zodMeta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
3
+ export declare const zodMetaExtractor: z.ZodPipe<z.ZodObject<{
4
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
5
+ }, z.core.$loose>, z.ZodTransform<Record<string, unknown>, {
6
+ [x: string]: unknown;
7
+ meta?: Record<string, unknown> | undefined;
8
+ }>>;
9
+ export type ZodMeta = typeof zodMeta;
10
+ export type ZodMetaExtractor = typeof zodMetaExtractor;
11
+ export type Meta = z.infer<ZodMeta>;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.zodMetaExtractor = exports.zodMeta = void 0;
4
+ const zod_1 = require("zod");
5
+ exports.zodMeta = zod_1.z
6
+ .record(zod_1.z.string(), zod_1.z.unknown())
7
+ .optional()
8
+ .meta({ id: 'MetaObject' });
9
+ exports.zodMetaExtractor = zod_1.z
10
+ .object({
11
+ meta: exports.zodMeta,
12
+ })
13
+ .loose()
14
+ .transform((val) => val.meta ?? {});
15
+ //# sourceMappingURL=meta.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meta.js","sourceRoot":"","sources":["../../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/zod/zod-share/meta.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAEX,QAAA,OAAO,GAAG,OAAC;KACrB,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC;KAC/B,QAAQ,EAAE;KACV,IAAI,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;AAEjB,QAAA,gBAAgB,GAAG,OAAC;KAC9B,MAAM,CAAC;IACN,IAAI,EAAE,eAAO;CACd,CAAC;KACD,KAAK,EAAE;KACP,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  export declare function zodPageInputQuery(): z.ZodDefault<z.ZodObject<{
3
- size: z.ZodDefault<z.ZodPipe<z.ZodTransform<number, unknown>, z.ZodNumber>>;
4
- number: z.ZodDefault<z.ZodPipe<z.ZodTransform<number, unknown>, z.ZodNumber>>;
3
+ size: z.ZodDefault<z.ZodPreprocess<z.ZodNumber>>;
4
+ number: z.ZodDefault<z.ZodPreprocess<z.ZodNumber>>;
5
5
  }, z.core.$strict>>;
6
6
  export type ZodPageInputQuery = ReturnType<typeof zodPageInputQuery>;
@@ -12,4 +12,6 @@ export declare const stringMustBe: (type?: TypeField) => (inputString: string |
12
12
  export declare const elementOfArrayMustBe: (type?: TypeField) => (inputArray: unknown[]) => boolean;
13
13
  export declare function guardIsKeyOfObject<R>(object: R, key: string | number | symbol): asserts key is keyof R;
14
14
  export declare function getRelationProps<E extends object, IdKey extends string>(entityParamMapService: EntityParamMapService<E, IdKey>): EntityRelationProps<E, IdKey>;
15
+ export declare function getRelationPrimaryName<E extends object, IdKey extends string>(entityParamMapService: EntityParamMapService<E, IdKey>): { [K in keyof EntityRelationProps<E, IdKey>]: IdKey; };
15
16
  export declare function setOptionalOrNot<Schema extends ZodType, Null extends true | false, isPatch extends true | false>(schema: Schema, isNullable: Null, isPatch: isPatch): ResultSchema<Schema, Null, isPatch>;
17
+ export declare function memoize<T extends (...args: any[]) => any>(fn: T): T;
@@ -3,7 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.elementOfArrayMustBe = exports.stringMustBe = exports.arrayItemStringLongerThan = exports.stringLongerThan = exports.oneOf = exports.getValidationErrorForStrict = exports.uniqueArray = exports.nonEmptyObject = void 0;
4
4
  exports.guardIsKeyOfObject = guardIsKeyOfObject;
5
5
  exports.getRelationProps = getRelationProps;
6
+ exports.getRelationPrimaryName = getRelationPrimaryName;
6
7
  exports.setOptionalOrNot = setOptionalOrNot;
8
+ exports.memoize = memoize;
7
9
  const json_api_nestjs_shared_1 = require("@klerick/json-api-nestjs-shared");
8
10
  const types_1 = require("../../../types");
9
11
  const nonEmptyObject = () => (object) => !!(typeof object === 'object' && object && Object.keys(object).length > 0);
@@ -61,6 +63,13 @@ function getRelationProps(entityParamMapService) {
61
63
  return acum;
62
64
  }, {});
63
65
  }
66
+ function getRelationPrimaryName(entityParamMapService) {
67
+ return json_api_nestjs_shared_1.ObjectTyped.entries(entityParamMapService.entityParaMap.relationProperty).reduce((acum, [name, value]) => {
68
+ const relMap = entityParamMapService.getParamMap(value.entityClass);
69
+ Reflect.set(acum, name, relMap.primaryColumnName);
70
+ return acum;
71
+ }, {});
72
+ }
64
73
  function setOptionalOrNot(schema, isNullable, isPatch) {
65
74
  if (isPatch) {
66
75
  return (isNullable ? schema.nullable() : schema).optional();
@@ -69,4 +78,15 @@ function setOptionalOrNot(schema, isNullable, isPatch) {
69
78
  return (isNullable ? schema.nullable().optional() : schema);
70
79
  }
71
80
  }
81
+ function memoize(fn) {
82
+ const cache = new Map();
83
+ return ((...args) => {
84
+ const key = args.join('-'); // Для скаляров достаточно
85
+ if (cache.has(key))
86
+ return cache.get(key);
87
+ const result = fn(...args);
88
+ cache.set(key, result);
89
+ return result;
90
+ });
91
+ }
72
92
  //# sourceMappingURL=zod-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"zod-utils.js","sourceRoot":"","sources":["../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/zod/zod-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"zod-utils.js","sourceRoot":"","sources":["../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/zod/zod-utils.ts"],"names":[],"mappings":";;;AAkEA,gDAQC;AAED,4CAUC;AAED,wDAkBC;AAED,4CAsBC;AAED,0BASC;AA7ID,4EAA4E;AAI5E,0CAA+F;AAIxF,MAAM,cAAc,GACzB,GAAG,EAAE,CACH,CAAI,MAAS,EAAE,EAAE,CACf,CAAC,CAAC,CAAC,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAHpE,QAAA,cAAc,kBAGsD;AAE1E,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,CAAC,CAAW,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,MAAM,CAAC;AAAlE,QAAA,WAAW,eAAuD;AAExE,MAAM,2BAA2B,GAAG,CACzC,KAAe,EACf,IAAyB,EACzB,EAAE,CACF,qBAAqB,IAAI,iCAAiC,KAAK,CAAC,IAAI,CAClE,KAAK,CACN,IAAI,CAAC;AANK,QAAA,2BAA2B,+BAMhC;AAED,MAAM,KAAK,GAAG,CAAC,IAAc,EAAE,EAAE,CAAC,CAAC,GAAQ,EAAE,EAAE;IACpD,IAAI,CAAC,GAAG;QAAE,OAAO,KAAK,CAAC;IACvB,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;IACxC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AANW,QAAA,KAAK,SAMhB;AAEK,MAAM,gBAAgB,GAC3B,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,CACb,CAAC,GAAW,EAAE,EAAE,CACd,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;AAHb,QAAA,gBAAgB,oBAGH;AAEnB,MAAM,yBAAyB,GACpC,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,CACb,CAAC,KAA2B,EAAE,EAAE;IAC9B,MAAM,aAAa,GAAG,IAAA,wBAAgB,EAAC,MAAM,CAAC,CAAC;IAC/C,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7D,CAAC,CAAC;AALO,QAAA,yBAAyB,6BAKhC;AAEC,MAAM,YAAY,GACvB,CAAC,OAAkB,iBAAS,CAAC,MAAM,EAAE,EAAE,CACrC,CAAC,WAA0B,EAAE,EAAE;IAC7B,IAAI,WAAW,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACtC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,iBAAS,CAAC,OAAO;YACpB,OAAO,WAAW,KAAK,MAAM,IAAI,WAAW,KAAK,OAAO,CAAC;QAC3D,KAAK,iBAAS,CAAC,MAAM;YACnB,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,CAAC;QAC9B,KAAK,iBAAS,CAAC,IAAI;YACjB,OAAO,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,KAAK,cAAc,CAAC;QAC7D;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC,CAAC;AAdO,QAAA,YAAY,gBAcnB;AAEC,MAAM,oBAAoB,GAC/B,CAAC,OAAkB,iBAAS,CAAC,MAAM,EAAE,EAAE,CACrC,CAAC,UAAqB,EAAE,EAAE;IACxB,MAAM,SAAS,GAAG,IAAA,oBAAY,EAAC,IAAI,CAAC,CAAC;IACrC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AACrD,CAAC,CAAC;AALO,QAAA,oBAAoB,wBAK3B;AAEN,SAAgB,kBAAkB,CAChC,MAAS,EACT,GAA6B;IAE7B,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,GAAG,IAAI,MAAM;QAChE,OAAO,KAAK,CAAC,CAAC;IAEhB,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;AACtC,CAAC;AAED,SAAgB,gBAAgB,CAC9B,qBAAsD;IAEtD,OAAO,oCAAW,CAAC,OAAO,CACxB,qBAAqB,CAAC,aAAa,CAAC,gBAAgB,CACrD,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE;QAC/B,MAAM,MAAM,GAAG,qBAAqB,CAAC,WAAW,CAAC,KAAK,CAAC,WAAkB,CAAC,CAAC;QAC3E,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC,EAAE,EAAmC,CAAC,CAAC;AAC1C,CAAC;AAED,SAAgB,sBAAsB,CACpC,qBAAsD;IAGtD,OAAO,oCAAW,CAAC,OAAO,CACxB,qBAAqB,CAAC,aAAa,CAAC,gBAAgB,CACrD,CAAC,MAAM,CACN,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE;QACtB,MAAM,MAAM,GAAG,qBAAqB,CAAC,WAAW,CAC9C,KAAK,CAAC,WAAkB,CACzB,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC;IACd,CAAC,EACD,EAEC,CACF,CAAC;AACJ,CAAC;AAED,SAAgB,gBAAgB,CAK9B,MAAc,EACd,UAAgB,EAChB,OAAgB;IAEhB,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,EAIxD,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,CAIzD,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAgB,OAAO,CAAoC,EAAK;IAC9D,MAAM,KAAK,GAAG,IAAI,GAAG,EAAyB,CAAC;IAC/C,OAAO,CAAC,CAAC,GAAG,IAAmB,EAAiB,EAAE;QAChD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,0BAA0B;QACtD,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;QAC3B,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACvB,OAAO,MAAM,CAAC;IAChB,CAAC,CAAM,CAAC;AACV,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { Union, Object } from 'ts-toolbelt';
2
- import { PropertyKeys, RelationKeys, IsIterator, Constructor } from '@klerick/json-api-nestjs-shared';
2
+ import { AttrKeys, RelationKeys, IsIterator, Constructor } from '@klerick/json-api-nestjs-shared';
3
3
  import { CastIteratorType, UnionToTuple, IsArray, CastArrayType } from './utils-type';
4
4
  type ExtractBaseType<T> = T extends Date ? Date : T extends boolean ? boolean : T extends number ? number : T extends string ? string : T extends null ? null : T extends undefined ? undefined : T extends (infer U)[] ? U[] : object;
5
5
  export declare enum TypeField {
@@ -14,15 +14,15 @@ export declare enum TypeField {
14
14
  export type TypeForId = Extract<TypeField, TypeField.number | TypeField.string>;
15
15
  type TypeProps<T> = T extends Date ? TypeField.date : T extends any[] ? TypeField.array : T extends object ? TypeField.object : T extends boolean ? TypeField.boolean : T extends number ? TypeField.number : T extends string ? TypeField.string : T extends undefined ? never : TypeField.object;
16
16
  export type PropertyWithType<E extends object, IdKey extends string = 'id'> = {
17
- [K in PropertyKeys<E, IdKey>]: Exclude<E[K], null | undefined> extends never ? TypeField.null : TypeProps<ExtractBaseType<Exclude<E[K], null | undefined>>>;
17
+ [K in AttrKeys<E, IdKey>]: Exclude<E[K], null | undefined> extends never ? TypeField.null : TypeProps<ExtractBaseType<Exclude<E[K], null | undefined>>>;
18
18
  };
19
19
  export type ArrayProperty<E extends object, IdKey extends string = 'id'> = {
20
- [K in PropertyKeys<E, IdKey>]: Exclude<E[K], null | undefined> extends never ? never : IsArray<Exclude<E[K], null | undefined>> extends 1 ? K : never;
21
- }[PropertyKeys<E, IdKey>];
20
+ [K in AttrKeys<E, IdKey>]: Exclude<E[K], null | undefined> extends never ? never : IsArray<Exclude<E[K], null | undefined>> extends 1 ? K : never;
21
+ }[AttrKeys<E, IdKey>];
22
22
  export type ArrayPropertyType<E extends object, IdKey extends string = 'id'> = {
23
23
  [K in ArrayProperty<E, IdKey>]: TypeProps<CastArrayType<Exclude<E[K], null | undefined>>>;
24
24
  };
25
- export type NullableProperty<E extends object, IdKey extends string = 'id'> = Union.Intersect<Object.NullableKeys<E>, PropertyKeys<E, IdKey>>;
25
+ export type NullableProperty<E extends object, IdKey extends string = 'id'> = Union.Intersect<Object.NullableKeys<E>, AttrKeys<E, IdKey>>;
26
26
  export type RelationProperty<E extends object, IdKey extends string = 'id'> = {
27
27
  [K in RelationKeys<E, IdKey>]: {
28
28
  entityClass: Constructor<CastIteratorType<E[K]>>;
@@ -32,7 +32,7 @@ export type RelationProperty<E extends object, IdKey extends string = 'id'> = {
32
32
  };
33
33
  type PrimaryType<E extends object, IdKey extends string = 'id'> = IdKey extends keyof E ? TypeProps<E[IdKey]> extends TypeField ? TypeProps<E[IdKey]> : TypeField.string : TypeField.string;
34
34
  export type EntityParam<E extends object, IdKey extends string = 'id'> = {
35
- props: UnionToTuple<PropertyKeys<E, IdKey>>;
35
+ props: UnionToTuple<AttrKeys<E, IdKey>>;
36
36
  propsType: PropertyWithType<E, IdKey>;
37
37
  propsArrayType: ArrayPropertyType<E, IdKey>;
38
38
  propsNullable: UnionToTuple<NullableProperty<E, IdKey>>;
@@ -46,6 +46,6 @@ export type EntityParam<E extends object, IdKey extends string = 'id'> = {
46
46
  };
47
47
  type RelationType<E extends object, IdKey extends string, K extends keyof EntityParam<E, IdKey>['relationProperty']> = EntityParam<E, IdKey>['relationProperty'][K]['entityClass'] extends Constructor<infer T> ? Exclude<T, null> : never;
48
48
  export type EntityRelationProps<E extends object, IdKey extends string = 'id'> = {
49
- [K in keyof EntityParam<E, IdKey>['relationProperty']]: UnionToTuple<PropertyKeys<RelationType<E, IdKey, K>>>;
49
+ [K in keyof EntityParam<E, IdKey>['relationProperty']]: UnionToTuple<AttrKeys<RelationType<E, IdKey, K>>>;
50
50
  };
51
51
  export {};
@@ -5,6 +5,7 @@ import { NestController, NestImport, NestProvider, PipeMixin } from './common-ty
5
5
  import { ExtractNestType, IfEquals } from './utils-type';
6
6
  type ModuleCommonParams = {
7
7
  entities: NonEmptyArray<EntityClass<AnyEntity>>;
8
+ excludeControllers?: EntityClass<AnyEntity>[];
8
9
  connectionName?: string;
9
10
  controllers?: NestController;
10
11
  providers?: NestProvider;
@@ -12,6 +12,7 @@ function prepareConfig(moduleParams) {
12
12
  providers: moduleParams['providers'] || [],
13
13
  controllers: moduleParams['controllers'] || [],
14
14
  entities: moduleParams['entities'],
15
+ excludeControllers: moduleParams['excludeControllers'] || [],
15
16
  options: {
16
17
  ...options,
17
18
  operationUrl: options['operationUrl'] || undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"module-helper.js","sourceRoot":"","sources":["../../../../../../../libs/json-api/json-api-nestjs/src/lib/utils/module-helper.ts"],"names":[],"mappings":";;AAcA,sCAuBC;AAED,sCAQC;AA/CD,2CAA8C;AAS9C,4CAGsB;AAEtB,SAAgB,aAAa,CAC3B,YAA+B;IAE/B,MAAM,OAAO,GAAG,YAAY,CAAC,SAAS,CAAC,IAAK,EAAgC,CAAC;IAE7E,OAAO;QACL,cAAc,EAAE,YAAY,CAAC,gBAAgB,CAAC,IAAI,mCAAuB;QACzE,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,IAAI,EAAE;QACtC,SAAS,EAAE,YAAY,CAAC,WAAW,CAAC,IAAI,EAAE;QAC1C,WAAW,EAAE,YAAY,CAAC,aAAa,CAAC,IAAI,EAAE;QAC9C,QAAQ,EAAE,YAAY,CAAC,UAAU,CAAC;QAClC,OAAO,EAAE;YACP,GAAG,OAAO;YACV,YAAY,EAAE,OAAO,CAAC,cAAc,CAAC,IAAI,SAAS;YAClD,mBAAmB,EAAE,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC;YACrD,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;YACzB,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC,IAAI,qBAAY;YAC/C,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;SACpC;QACD,KAAK,EAAE;YACL,qBAAqB,EAAE,YAAY,CAAC,OAAO,CAAC,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC,uBAAuB,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;SACjH;KACF,CAAC;AACJ,CAAC;AAED,SAAgB,aAAa,CAC3B,MAA8B,EAC9B,WAA2B;IAE3B,OAAO,WAAW,CAAC,IAAI,CACrB,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,IAAI,OAAO,CAAC,WAAW,CAAC,qCAAyB,EAAE,IAAI,CAAC,KAAK,MAAM,CAC1E,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"module-helper.js","sourceRoot":"","sources":["../../../../../../../libs/json-api/json-api-nestjs/src/lib/utils/module-helper.ts"],"names":[],"mappings":";;AAcA,sCAwBC;AAED,sCAQC;AAhDD,2CAA8C;AAS9C,4CAGsB;AAEtB,SAAgB,aAAa,CAC3B,YAA+B;IAE/B,MAAM,OAAO,GAAG,YAAY,CAAC,SAAS,CAAC,IAAK,EAAgC,CAAC;IAE7E,OAAO;QACL,cAAc,EAAE,YAAY,CAAC,gBAAgB,CAAC,IAAI,mCAAuB;QACzE,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,IAAI,EAAE;QACtC,SAAS,EAAE,YAAY,CAAC,WAAW,CAAC,IAAI,EAAE;QAC1C,WAAW,EAAE,YAAY,CAAC,aAAa,CAAC,IAAI,EAAE;QAC9C,QAAQ,EAAE,YAAY,CAAC,UAAU,CAAC;QAClC,kBAAkB,EAAE,YAAY,CAAC,oBAAoB,CAAC,IAAI,EAAE;QAC5D,OAAO,EAAE;YACP,GAAG,OAAO;YACV,YAAY,EAAE,OAAO,CAAC,cAAc,CAAC,IAAI,SAAS;YAClD,mBAAmB,EAAE,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC;YACrD,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;YACzB,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC,IAAI,qBAAY;YAC/C,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;SACpC;QACD,KAAK,EAAE;YACL,qBAAqB,EAAE,YAAY,CAAC,OAAO,CAAC,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC,uBAAuB,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;SACjH;KACF,CAAC;AACJ,CAAC;AAED,SAAgB,aAAa,CAC3B,MAA8B,EAC9B,WAA2B;IAE3B,OAAO,WAAW,CAAC,IAAI,CACrB,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,IAAI,OAAO,CAAC,WAAW,CAAC,qCAAyB,EAAE,IAAI,CAAC,KAAK,MAAM,CAC1E,CAAC;AACJ,CAAC"}