@autofleet/sadot 1.6.18-beta.9 → 1.6.19

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 (262) hide show
  1. package/dist/_virtual/_@oxc-project_runtime@0.103.0/helpers/decorate.cjs +1 -11
  2. package/dist/_virtual/_@oxc-project_runtime@0.103.0/helpers/decorate.js +1 -10
  3. package/dist/_virtual/_@oxc-project_runtime@0.103.0/helpers/decorateMetadata.cjs +1 -8
  4. package/dist/_virtual/_@oxc-project_runtime@0.103.0/helpers/decorateMetadata.js +1 -7
  5. package/dist/_virtual/rolldown_runtime.cjs +1 -43
  6. package/dist/_virtual/rolldown_runtime.js +1 -21
  7. package/dist/api/index.cjs +2 -12
  8. package/dist/api/index.cjs.map +1 -0
  9. package/dist/api/index.js +2 -11
  10. package/dist/api/index.js.map +1 -0
  11. package/dist/api/v1/definition/index.cjs +2 -113
  12. package/dist/api/v1/definition/index.cjs.map +1 -0
  13. package/dist/api/v1/definition/index.js +2 -112
  14. package/dist/api/v1/definition/index.js.map +1 -0
  15. package/dist/api/v1/definition/validations.cjs +2 -128
  16. package/dist/api/v1/definition/validations.cjs.map +1 -0
  17. package/dist/api/v1/definition/validations.js +2 -125
  18. package/dist/api/v1/definition/validations.js.map +1 -0
  19. package/dist/api/v1/errors.cjs +2 -14
  20. package/dist/api/v1/errors.cjs.map +1 -0
  21. package/dist/api/v1/errors.js +2 -13
  22. package/dist/api/v1/errors.js.map +1 -0
  23. package/dist/api/v1/index.cjs +2 -16
  24. package/dist/api/v1/index.cjs.map +1 -0
  25. package/dist/api/v1/index.js +2 -15
  26. package/dist/api/v1/index.js.map +1 -0
  27. package/dist/api/v1/validator/index.cjs +2 -115
  28. package/dist/api/v1/validator/index.cjs.map +1 -0
  29. package/dist/api/v1/validator/index.js +2 -114
  30. package/dist/api/v1/validator/index.js.map +1 -0
  31. package/dist/api/v1/validator/validations.cjs +2 -40
  32. package/dist/api/v1/validator/validations.cjs.map +1 -0
  33. package/dist/api/v1/validator/validations.d.cts +2 -1
  34. package/dist/api/v1/validator/validations.d.ts +2 -1
  35. package/dist/api/v1/validator/validations.js +2 -38
  36. package/dist/api/v1/validator/validations.js.map +1 -0
  37. package/dist/errors/index.cjs +3 -62
  38. package/dist/errors/index.cjs.map +1 -0
  39. package/dist/errors/index.js +3 -55
  40. package/dist/errors/index.js.map +1 -0
  41. package/dist/events/index.cjs +2 -52
  42. package/dist/events/index.cjs.map +1 -0
  43. package/dist/events/index.js +2 -50
  44. package/dist/events/index.js.map +1 -0
  45. package/dist/hooks/enrich.cjs +2 -175
  46. package/dist/hooks/enrich.cjs.map +1 -0
  47. package/dist/hooks/enrich.js +2 -175
  48. package/dist/hooks/enrich.js.map +1 -0
  49. package/dist/hooks/find.cjs +2 -22
  50. package/dist/hooks/find.cjs.map +1 -0
  51. package/dist/hooks/find.js +2 -22
  52. package/dist/hooks/find.js.map +1 -0
  53. package/dist/hooks/hooks.cjs +2 -310
  54. package/dist/hooks/hooks.cjs.map +1 -0
  55. package/dist/hooks/hooks.js +2 -302
  56. package/dist/hooks/hooks.js.map +1 -0
  57. package/dist/hooks/index.cjs +1 -3
  58. package/dist/hooks/index.js +1 -5
  59. package/dist/hooks/utils/updateInstanceValues.cjs +2 -27
  60. package/dist/hooks/utils/updateInstanceValues.cjs.map +1 -0
  61. package/dist/hooks/utils/updateInstanceValues.js +2 -27
  62. package/dist/hooks/utils/updateInstanceValues.js.map +1 -0
  63. package/dist/index.cjs +2 -83
  64. package/dist/index.cjs.map +1 -0
  65. package/dist/index.d.cts +3 -3
  66. package/dist/index.d.ts +2 -3
  67. package/dist/index.js +2 -62
  68. package/dist/index.js.map +1 -0
  69. package/dist/init-state.cjs +2 -56
  70. package/dist/init-state.cjs.map +1 -0
  71. package/dist/init-state.d.cts +2 -1
  72. package/dist/init-state.d.ts +2 -1
  73. package/dist/init-state.js +2 -55
  74. package/dist/init-state.js.map +1 -0
  75. package/dist/mat-path-state.cjs +2 -10
  76. package/dist/mat-path-state.cjs.map +1 -0
  77. package/dist/mat-path-state.js +2 -9
  78. package/dist/mat-path-state.js.map +1 -0
  79. package/dist/migrations/001-create-core-tables.cjs +7 -25
  80. package/dist/migrations/001-create-core-tables.cjs.map +1 -0
  81. package/dist/migrations/001-create-core-tables.js +7 -23
  82. package/dist/migrations/001-create-core-tables.js.map +1 -0
  83. package/dist/migrations/002-create-custom-field-entries.cjs +4 -16
  84. package/dist/migrations/002-create-custom-field-entries.cjs.map +1 -0
  85. package/dist/migrations/002-create-custom-field-entries.js +4 -14
  86. package/dist/migrations/002-create-custom-field-entries.js.map +1 -0
  87. package/dist/migrations/003-create-custom-field-model-type-map.cjs +6 -20
  88. package/dist/migrations/003-create-custom-field-model-type-map.cjs.map +1 -0
  89. package/dist/migrations/003-create-custom-field-model-type-map.js +6 -18
  90. package/dist/migrations/003-create-custom-field-model-type-map.js.map +1 -0
  91. package/dist/migrations/index.cjs +2 -94
  92. package/dist/migrations/index.cjs.map +1 -0
  93. package/dist/migrations/index.js +2 -95
  94. package/dist/migrations/index.js.map +1 -0
  95. package/dist/models/CustomFieldDefinition.cjs +2 -147
  96. package/dist/models/CustomFieldDefinition.cjs.map +1 -0
  97. package/dist/models/CustomFieldDefinition.d.cts +2 -1
  98. package/dist/models/CustomFieldDefinition.d.ts +2 -1
  99. package/dist/models/CustomFieldDefinition.js +2 -146
  100. package/dist/models/CustomFieldDefinition.js.map +1 -0
  101. package/dist/models/CustomFieldEntries.cjs +2 -71
  102. package/dist/models/CustomFieldEntries.cjs.map +1 -0
  103. package/dist/models/CustomFieldEntries.d.cts +2 -1
  104. package/dist/models/CustomFieldEntries.d.ts +2 -1
  105. package/dist/models/CustomFieldEntries.js +2 -70
  106. package/dist/models/CustomFieldEntries.js.map +1 -0
  107. package/dist/models/CustomFieldModelTypeMap.cjs +2 -62
  108. package/dist/models/CustomFieldModelTypeMap.cjs.map +1 -0
  109. package/dist/models/CustomFieldModelTypeMap.d.cts +2 -1
  110. package/dist/models/CustomFieldModelTypeMap.d.ts +2 -1
  111. package/dist/models/CustomFieldModelTypeMap.js +2 -61
  112. package/dist/models/CustomFieldModelTypeMap.js.map +1 -0
  113. package/dist/models/CustomFieldValue.cjs +2 -109
  114. package/dist/models/CustomFieldValue.cjs.map +1 -0
  115. package/dist/models/CustomFieldValue.d.cts +2 -1
  116. package/dist/models/CustomFieldValue.d.ts +2 -1
  117. package/dist/models/CustomFieldValue.js +2 -108
  118. package/dist/models/CustomFieldValue.js.map +1 -0
  119. package/dist/models/CustomValidator.cjs +2 -68
  120. package/dist/models/CustomValidator.cjs.map +1 -0
  121. package/dist/models/CustomValidator.d.cts +2 -1
  122. package/dist/models/CustomValidator.d.ts +2 -1
  123. package/dist/models/CustomValidator.js +2 -67
  124. package/dist/models/CustomValidator.js.map +1 -0
  125. package/dist/models/index.cjs +2 -163
  126. package/dist/models/index.cjs.map +1 -0
  127. package/dist/models/index.d.cts +7 -0
  128. package/dist/models/index.js +2 -161
  129. package/dist/models/index.js.map +1 -0
  130. package/dist/models/tests/AssociatedTestModel.cjs +2 -51
  131. package/dist/models/tests/AssociatedTestModel.cjs.map +1 -0
  132. package/dist/models/tests/AssociatedTestModel.js +2 -50
  133. package/dist/models/tests/AssociatedTestModel.js.map +1 -0
  134. package/dist/models/tests/TestModel.cjs +2 -43
  135. package/dist/models/tests/TestModel.cjs.map +1 -0
  136. package/dist/models/tests/TestModel.js +2 -42
  137. package/dist/models/tests/TestModel.js.map +1 -0
  138. package/dist/models/tests/contextAwareModels/ContextAwareTestModel.cjs +2 -35
  139. package/dist/models/tests/contextAwareModels/ContextAwareTestModel.cjs.map +1 -0
  140. package/dist/models/tests/contextAwareModels/ContextAwareTestModel.js +2 -34
  141. package/dist/models/tests/contextAwareModels/ContextAwareTestModel.js.map +1 -0
  142. package/dist/models/tests/contextAwareModels/ContextTestModel.cjs +2 -33
  143. package/dist/models/tests/contextAwareModels/ContextTestModel.cjs.map +1 -0
  144. package/dist/models/tests/contextAwareModels/ContextTestModel.js +2 -32
  145. package/dist/models/tests/contextAwareModels/ContextTestModel.js.map +1 -0
  146. package/dist/repository/definition.cjs +2 -221
  147. package/dist/repository/definition.cjs.map +1 -0
  148. package/dist/repository/definition.js +2 -212
  149. package/dist/repository/definition.js.map +1 -0
  150. package/dist/repository/entries.cjs +2 -69
  151. package/dist/repository/entries.cjs.map +1 -0
  152. package/dist/repository/entries.js +2 -67
  153. package/dist/repository/entries.js.map +1 -0
  154. package/dist/repository/utils/formatValues.cjs +2 -14
  155. package/dist/repository/utils/formatValues.cjs.map +1 -0
  156. package/dist/repository/utils/formatValues.js +2 -14
  157. package/dist/repository/utils/formatValues.js.map +1 -0
  158. package/dist/repository/validator.cjs +2 -58
  159. package/dist/repository/validator.cjs.map +1 -0
  160. package/dist/repository/validator.js +2 -54
  161. package/dist/repository/validator.js.map +1 -0
  162. package/dist/repository/value.cjs +2 -77
  163. package/dist/repository/value.cjs.map +1 -0
  164. package/dist/repository/value.js +2 -76
  165. package/dist/repository/value.js.map +1 -0
  166. package/dist/scopes/filter.cjs +2 -56
  167. package/dist/scopes/filter.cjs.map +1 -0
  168. package/dist/scopes/filter.d.cts +2 -1
  169. package/dist/scopes/filter.d.ts +2 -1
  170. package/dist/scopes/filter.js +2 -54
  171. package/dist/scopes/filter.js.map +1 -0
  172. package/dist/scopes/helpers/filter.helpers.cjs +25 -131
  173. package/dist/scopes/helpers/filter.helpers.cjs.map +1 -0
  174. package/dist/scopes/helpers/filter.helpers.d.cts +2 -1
  175. package/dist/scopes/helpers/filter.helpers.d.ts +2 -1
  176. package/dist/scopes/helpers/filter.helpers.js +25 -126
  177. package/dist/scopes/helpers/filter.helpers.js.map +1 -0
  178. package/dist/scopes/index.cjs +1 -1
  179. package/dist/scopes/index.js +1 -3
  180. package/dist/types/index.d.cts +4 -2
  181. package/dist/types/index.d.ts +4 -2
  182. package/dist/utils/constants/index.cjs +2 -32
  183. package/dist/utils/constants/index.cjs.map +1 -0
  184. package/dist/utils/constants/index.d.cts +2 -1
  185. package/dist/utils/constants/index.d.ts +2 -1
  186. package/dist/utils/constants/index.js +2 -29
  187. package/dist/utils/constants/index.js.map +1 -0
  188. package/dist/utils/db/index.cjs +2 -15
  189. package/dist/utils/db/index.cjs.map +1 -0
  190. package/dist/utils/db/index.js +2 -14
  191. package/dist/utils/db/index.js.map +1 -0
  192. package/dist/utils/helpers/index.cjs +2 -23
  193. package/dist/utils/helpers/index.cjs.map +1 -0
  194. package/dist/utils/helpers/index.d.cts +2 -1
  195. package/dist/utils/helpers/index.d.ts +2 -1
  196. package/dist/utils/helpers/index.js +2 -21
  197. package/dist/utils/helpers/index.js.map +1 -0
  198. package/dist/utils/init.cjs +2 -115
  199. package/dist/utils/init.cjs.map +1 -0
  200. package/dist/utils/init.js +2 -111
  201. package/dist/utils/init.js.map +1 -0
  202. package/dist/utils/logger/index.cjs +2 -15
  203. package/dist/utils/logger/index.cjs.map +1 -0
  204. package/dist/utils/logger/index.js +2 -12
  205. package/dist/utils/logger/index.js.map +1 -0
  206. package/dist/utils/scopeAttributes.cjs +2 -12
  207. package/dist/utils/scopeAttributes.cjs.map +1 -0
  208. package/dist/utils/scopeAttributes.js +2 -11
  209. package/dist/utils/scopeAttributes.js.map +1 -0
  210. package/dist/utils/validations/index.cjs +2 -34
  211. package/dist/utils/validations/index.cjs.map +1 -0
  212. package/dist/utils/validations/index.js +2 -32
  213. package/dist/utils/validations/index.js.map +1 -0
  214. package/dist/utils/validations/schema/custom-fields.cjs +2 -9
  215. package/dist/utils/validations/schema/custom-fields.cjs.map +1 -0
  216. package/dist/utils/validations/schema/custom-fields.d.cts +2 -1
  217. package/dist/utils/validations/schema/custom-fields.d.ts +2 -1
  218. package/dist/utils/validations/schema/custom-fields.js +2 -7
  219. package/dist/utils/validations/schema/custom-fields.js.map +1 -0
  220. package/dist/utils/validations/schema/validator-schema.cjs +2 -102
  221. package/dist/utils/validations/schema/validator-schema.cjs.map +1 -0
  222. package/dist/utils/validations/schema/validator-schema.js +2 -99
  223. package/dist/utils/validations/schema/validator-schema.js.map +1 -0
  224. package/dist/utils/validations/validators/index.cjs +2 -45
  225. package/dist/utils/validations/validators/index.cjs.map +1 -0
  226. package/dist/utils/validations/validators/index.js +2 -42
  227. package/dist/utils/validations/validators/index.js.map +1 -0
  228. package/dist/utils/validations/validators/multi-select-dropdown.validator.cjs +2 -7
  229. package/dist/utils/validations/validators/multi-select-dropdown.validator.cjs.map +1 -0
  230. package/dist/utils/validations/validators/multi-select-dropdown.validator.js +2 -7
  231. package/dist/utils/validations/validators/multi-select-dropdown.validator.js.map +1 -0
  232. package/dist/utils/validations/validators/multi-select-status.validator.cjs +2 -10
  233. package/dist/utils/validations/validators/multi-select-status.validator.cjs.map +1 -0
  234. package/dist/utils/validations/validators/multi-select-status.validator.js +2 -10
  235. package/dist/utils/validations/validators/multi-select-status.validator.js.map +1 -0
  236. package/dist/utils/validations/validators/multi-select.helpers.cjs +2 -12
  237. package/dist/utils/validations/validators/multi-select.helpers.cjs.map +1 -0
  238. package/dist/utils/validations/validators/multi-select.helpers.js +2 -10
  239. package/dist/utils/validations/validators/multi-select.helpers.js.map +1 -0
  240. package/dist/utils/validations/validators/select.validator.cjs +2 -12
  241. package/dist/utils/validations/validators/select.validator.cjs.map +1 -0
  242. package/dist/utils/validations/validators/select.validator.js +2 -10
  243. package/dist/utils/validations/validators/select.validator.js.map +1 -0
  244. package/dist/utils/validations/validators/status.validator.cjs +2 -12
  245. package/dist/utils/validations/validators/status.validator.cjs.map +1 -0
  246. package/dist/utils/validations/validators/status.validator.js +2 -10
  247. package/dist/utils/validations/validators/status.validator.js.map +1 -0
  248. package/package.json +23 -23
  249. package/dist/api/v1/field-policies/index.cjs +0 -86
  250. package/dist/api/v1/field-policies/index.js +0 -85
  251. package/dist/migrations/004-create-field-policy-tables.cjs +0 -29
  252. package/dist/migrations/004-create-field-policy-tables.js +0 -27
  253. package/dist/migrations/005-add-entity-type-to-field-policies.cjs +0 -20
  254. package/dist/migrations/005-add-entity-type-to-field-policies.js +0 -18
  255. package/dist/models/FieldPolicy.cjs +0 -54
  256. package/dist/models/FieldPolicy.d.cts +0 -25
  257. package/dist/models/FieldPolicy.d.ts +0 -25
  258. package/dist/models/FieldPolicy.js +0 -53
  259. package/dist/repository/field-policy.cjs +0 -47
  260. package/dist/repository/field-policy.d.cts +0 -34
  261. package/dist/repository/field-policy.d.ts +0 -34
  262. package/dist/repository/field-policy.js +0 -38
@@ -1,125 +1,2 @@
1
- import { CustomFieldDefinitionType } from "../../../utils/constants/index.js";
2
- import Joi from "joi";
3
-
4
- //#region src/api/v1/definition/validations.ts
5
- const FileValidationSchema = Joi.object({
6
- name: Joi.string().required(),
7
- type: Joi.string(),
8
- size: Joi.string(),
9
- addedBy: Joi.string().uuid()
10
- });
11
- const statusValidationObject = Joi.object({
12
- value: Joi.string().required(),
13
- color: Joi.string().required()
14
- });
15
- const stringOptionsSchema = Joi.array().required().items(Joi.string()).min(1).unique();
16
- const statusOptionsSchema = Joi.array().required().items(statusValidationObject).min(1).unique("value");
17
- /**
18
- * Schema for the validation of custom field definition
19
- * The only custom validation is for
20
- * {@link CustomFieldDefinitionType.SELECT SELECT},
21
- * {@link CustomFieldDefinitionType.MULTI_SELECT_DROPDOWN MULTI_SELECT_DROPDOWN},
22
- * {@link CustomFieldDefinitionType.STATUS STATUS},
23
- * and
24
- * {@link CustomFieldDefinitionType.MULTI_SELECT_STATUS MULTI_SELECT_STATUS}
25
- * field types.
26
- * The rest of the field types are validated by Joi
27
- */
28
- const ValidationSchema = Joi.when("fieldType", {
29
- switch: [
30
- {
31
- is: CustomFieldDefinitionType.SELECT,
32
- then: stringOptionsSchema
33
- },
34
- {
35
- is: CustomFieldDefinitionType.MULTI_SELECT_DROPDOWN,
36
- then: stringOptionsSchema
37
- },
38
- {
39
- is: CustomFieldDefinitionType.STATUS,
40
- then: statusOptionsSchema
41
- },
42
- {
43
- is: CustomFieldDefinitionType.MULTI_SELECT_STATUS,
44
- then: statusOptionsSchema
45
- }
46
- ],
47
- otherwise: Joi.forbidden()
48
- });
49
- const multiSelectDefaultValueSchema = Joi.array().items(Joi.string()).unique().allow(null);
50
- const DefaultValueSchema = Joi.when("fieldType", { switch: [
51
- {
52
- is: CustomFieldDefinitionType.BOOLEAN,
53
- then: Joi.boolean().allow(null)
54
- },
55
- {
56
- is: CustomFieldDefinitionType.DATE,
57
- then: Joi.date().allow(null)
58
- },
59
- {
60
- is: CustomFieldDefinitionType.DATETIME,
61
- then: Joi.date().allow(null)
62
- },
63
- {
64
- is: CustomFieldDefinitionType.FILE,
65
- then: Joi.array().items(FileValidationSchema).allow(null)
66
- },
67
- {
68
- is: CustomFieldDefinitionType.IMAGE,
69
- then: Joi.array().items(Joi.string().uri()).allow(null)
70
- },
71
- {
72
- is: CustomFieldDefinitionType.NUMBER,
73
- then: Joi.number().allow(null)
74
- },
75
- {
76
- is: CustomFieldDefinitionType.SELECT,
77
- then: Joi.string().allow(null)
78
- },
79
- {
80
- is: CustomFieldDefinitionType.STATUS,
81
- then: Joi.string().allow(null)
82
- },
83
- {
84
- is: CustomFieldDefinitionType.TEXT,
85
- then: Joi.string().allow(null)
86
- },
87
- {
88
- is: CustomFieldDefinitionType.MULTI_SELECT_STATUS,
89
- then: multiSelectDefaultValueSchema
90
- },
91
- {
92
- is: CustomFieldDefinitionType.MULTI_SELECT_DROPDOWN,
93
- then: multiSelectDefaultValueSchema
94
- }
95
- ] });
96
- const CustomFieldDefinitionCreationSchema = Joi.object({
97
- name: Joi.string().required(),
98
- displayName: Joi.string().required(),
99
- validation: ValidationSchema,
100
- defaultValue: DefaultValueSchema,
101
- fieldType: Joi.string().valid(...Object.values(CustomFieldDefinitionType)).required(),
102
- entityId: Joi.string().guid().required(),
103
- entityType: Joi.string().required(),
104
- description: Joi.string(),
105
- required: Joi.boolean(),
106
- disabled: Joi.boolean(),
107
- blockEditingFromUI: Joi.boolean(),
108
- modelTypeIds: Joi.array().items(Joi.string().guid())
109
- }).oxor("required", "blockEditingFromUI", { isPresent: (value) => value === true });
110
- const CustomFieldDefinitionUpdateSchema = Joi.object({
111
- displayName: Joi.string(),
112
- validation: ValidationSchema,
113
- defaultValue: DefaultValueSchema,
114
- fieldType: Joi.string().valid(...Object.values(CustomFieldDefinitionType)),
115
- description: Joi.string().allow(null),
116
- required: Joi.boolean(),
117
- disabled: Joi.boolean(),
118
- blockEditingFromUI: Joi.boolean(),
119
- modelTypeIds: Joi.array().items(Joi.string().guid())
120
- }).oxor("required", "blockEditingFromUI", { isPresent: (value) => value === true });
121
- const validateCustomFieldDefinitionCreation = (payload) => CustomFieldDefinitionCreationSchema.validateAsync(payload, { abortEarly: false });
122
- const validateCustomFieldDefinitionUpdate = (payload) => CustomFieldDefinitionUpdateSchema.validateAsync(payload, { abortEarly: false });
123
-
124
- //#endregion
125
- export { validateCustomFieldDefinitionCreation, validateCustomFieldDefinitionUpdate };
1
+ import{CustomFieldDefinitionType as e}from"../../../utils/constants/index.js";import t from"joi";const n=t.object({name:t.string().required(),type:t.string(),size:t.string(),addedBy:t.string().uuid()}),r=t.object({value:t.string().required(),color:t.string().required()}),i=t.array().required().items(t.string()).min(1).unique(),a=t.array().required().items(r).min(1).unique(`value`),o=t.when(`fieldType`,{switch:[{is:e.SELECT,then:i},{is:e.MULTI_SELECT_DROPDOWN,then:i},{is:e.STATUS,then:a},{is:e.MULTI_SELECT_STATUS,then:a}],otherwise:t.forbidden()}),s=t.array().items(t.string()).unique().allow(null),c=t.when(`fieldType`,{switch:[{is:e.BOOLEAN,then:t.boolean().allow(null)},{is:e.DATE,then:t.date().allow(null)},{is:e.DATETIME,then:t.date().allow(null)},{is:e.FILE,then:t.array().items(n).allow(null)},{is:e.IMAGE,then:t.array().items(t.string().uri()).allow(null)},{is:e.NUMBER,then:t.number().allow(null)},{is:e.SELECT,then:t.string().allow(null)},{is:e.STATUS,then:t.string().allow(null)},{is:e.TEXT,then:t.string().allow(null)},{is:e.MULTI_SELECT_STATUS,then:s},{is:e.MULTI_SELECT_DROPDOWN,then:s}]}),l=t.object({name:t.string().required(),displayName:t.string().required(),validation:o,defaultValue:c,fieldType:t.string().valid(...Object.values(e)).required(),entityId:t.string().guid().required(),entityType:t.string().required(),description:t.string(),required:t.boolean(),disabled:t.boolean(),blockEditingFromUI:t.boolean(),modelTypeIds:t.array().items(t.string().guid())}).oxor(`required`,`blockEditingFromUI`,{isPresent:e=>e===!0}),u=t.object({displayName:t.string(),validation:o,defaultValue:c,fieldType:t.string().valid(...Object.values(e)),description:t.string().allow(null),required:t.boolean(),disabled:t.boolean(),blockEditingFromUI:t.boolean(),modelTypeIds:t.array().items(t.string().guid())}).oxor(`required`,`blockEditingFromUI`,{isPresent:e=>e===!0}),d=e=>l.validateAsync(e,{abortEarly:!1}),f=e=>u.validateAsync(e,{abortEarly:!1});export{d as validateCustomFieldDefinitionCreation,f as validateCustomFieldDefinitionUpdate};
2
+ //# sourceMappingURL=validations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validations.js","names":[],"sources":["../../../../src/api/v1/definition/validations.ts"],"sourcesContent":["import Joi from 'joi';\nimport { CustomFieldDefinitionType } from '../../../utils/constants';\nimport type { CreateCustomFieldDefinition, UpdateCustomFieldDefinition } from '../../../types/definition';\n\nconst FileValidationSchema = Joi.object({\n name: Joi.string().required(),\n type: Joi.string(),\n size: Joi.string(),\n addedBy: Joi.string().uuid(),\n});\nconst statusValidationObject = Joi.object({\n value: Joi.string().required(),\n color: Joi.string().required(),\n});\n\nconst stringOptionsSchema = Joi.array().required().items(Joi.string()).min(1)\n .unique();\nconst statusOptionsSchema = Joi.array().required().items(statusValidationObject).min(1)\n .unique('value');\n\n/**\n * Schema for the validation of custom field definition\n * The only custom validation is for\n * {@link CustomFieldDefinitionType.SELECT SELECT},\n * {@link CustomFieldDefinitionType.MULTI_SELECT_DROPDOWN MULTI_SELECT_DROPDOWN},\n * {@link CustomFieldDefinitionType.STATUS STATUS},\n * and\n * {@link CustomFieldDefinitionType.MULTI_SELECT_STATUS MULTI_SELECT_STATUS}\n * field types.\n * The rest of the field types are validated by Joi\n */\nconst ValidationSchema = Joi.when('fieldType', {\n switch: [\n { is: CustomFieldDefinitionType.SELECT, then: stringOptionsSchema },\n { is: CustomFieldDefinitionType.MULTI_SELECT_DROPDOWN, then: stringOptionsSchema },\n { is: CustomFieldDefinitionType.STATUS, then: statusOptionsSchema },\n { is: CustomFieldDefinitionType.MULTI_SELECT_STATUS, then: statusOptionsSchema },\n ],\n otherwise: Joi.forbidden(),\n});\n\nconst multiSelectDefaultValueSchema = Joi.array().items(Joi.string()).unique().allow(null);\n\nconst DefaultValueSchema = Joi.when('fieldType', {\n switch: [\n { is: CustomFieldDefinitionType.BOOLEAN, then: Joi.boolean().allow(null) },\n { is: CustomFieldDefinitionType.DATE, then: Joi.date().allow(null) },\n { is: CustomFieldDefinitionType.DATETIME, then: Joi.date().allow(null) },\n { is: CustomFieldDefinitionType.FILE, then: Joi.array().items(FileValidationSchema).allow(null) },\n { is: CustomFieldDefinitionType.IMAGE, then: Joi.array().items(Joi.string().uri()).allow(null) },\n { is: CustomFieldDefinitionType.NUMBER, then: Joi.number().allow(null) },\n { is: CustomFieldDefinitionType.SELECT, then: Joi.string().allow(null) },\n { is: CustomFieldDefinitionType.STATUS, then: Joi.string().allow(null) },\n { is: CustomFieldDefinitionType.TEXT, then: Joi.string().allow(null) },\n { is: CustomFieldDefinitionType.MULTI_SELECT_STATUS, then: multiSelectDefaultValueSchema },\n { is: CustomFieldDefinitionType.MULTI_SELECT_DROPDOWN, then: multiSelectDefaultValueSchema },\n ],\n});\n\nconst CustomFieldDefinitionCreationSchema = Joi.object({\n name: Joi.string().required(),\n displayName: Joi.string().required(),\n validation: ValidationSchema,\n defaultValue: DefaultValueSchema,\n fieldType: Joi.string().valid(...Object.values(CustomFieldDefinitionType)).required(),\n entityId: Joi.string().guid().required(),\n entityType: Joi.string().required(),\n description: Joi.string(),\n required: Joi.boolean(),\n disabled: Joi.boolean(),\n blockEditingFromUI: Joi.boolean(),\n modelTypeIds: Joi.array().items(Joi.string().guid()),\n}).oxor('required', 'blockEditingFromUI', { isPresent: value => value === true });\n\nconst CustomFieldDefinitionUpdateSchema = Joi.object({\n displayName: Joi.string(),\n validation: ValidationSchema,\n defaultValue: DefaultValueSchema,\n fieldType: Joi.string().valid(...Object.values(CustomFieldDefinitionType)),\n description: Joi.string().allow(null),\n required: Joi.boolean(),\n disabled: Joi.boolean(),\n blockEditingFromUI: Joi.boolean(),\n modelTypeIds: Joi.array().items(Joi.string().guid()),\n}).oxor('required', 'blockEditingFromUI', { isPresent: value => value === true });\n\nexport const validateCustomFieldDefinitionCreation = (payload: unknown): Promise<CreateCustomFieldDefinition> =>\n CustomFieldDefinitionCreationSchema.validateAsync(payload, { abortEarly: false });\n\nexport const validateCustomFieldDefinitionUpdate = (payload: unknown): Promise<UpdateCustomFieldDefinition> =>\n CustomFieldDefinitionUpdateSchema.validateAsync(payload, { abortEarly: false });\n"],"mappings":"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"}
@@ -1,14 +1,2 @@
1
- const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
2
- let sequelize = require("sequelize");
3
- let joi = require("joi");
4
- let _autofleet_errors = require("@autofleet/errors");
5
-
6
- //#region src/api/v1/errors.ts
7
- var errors_default = (err, res, additionalData) => {
8
- let error = err;
9
- if ([joi.ValidationError, sequelize.ValidationError].some((ErrClass) => err instanceof ErrClass)) error = new _autofleet_errors.BadRequest([err]);
10
- return (0, _autofleet_errors.handleError)(error, res, additionalData);
11
- };
12
-
13
- //#endregion
14
- exports.default = errors_default;
1
+ const e=require(`../../_virtual/rolldown_runtime.cjs`);let t=require(`sequelize`),n=require(`joi`),r=require(`@autofleet/errors`);var i=(e,i,a)=>{let o=e;return[n.ValidationError,t.ValidationError].some(t=>e instanceof t)&&(o=new r.BadRequest([e])),(0,r.handleError)(o,i,a)};exports.default=i;
2
+ //# sourceMappingURL=errors.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.cjs","names":["InputValidationError","DatabaseValidationError","BadRequest"],"sources":["../../../src/api/v1/errors.ts"],"sourcesContent":["import type { Response } from 'express';\nimport { handleError, BadRequest, type LogPayload } from '@autofleet/errors';\nimport { ValidationError as InputValidationError } from 'joi';\nimport { ValidationError as DatabaseValidationError } from 'sequelize';\n\nexport default (err: Error, res: Response, additionalData: LogPayload): void => {\n let error = err;\n if ([InputValidationError, DatabaseValidationError].some(ErrClass => err instanceof ErrClass)) {\n error = new BadRequest([err]);\n }\n\n return handleError(error, res, additionalData);\n};\n"],"mappings":"kIAKA,IAAA,GAAgB,EAAY,EAAe,IAAqC,CAC9E,IAAI,EAAQ,EAKZ,MAJI,CAACA,EAAAA,gBAAsBC,EAAAA,gBAAwB,CAAC,KAAK,GAAY,aAAe,EAAS,GAC3F,EAAQ,IAAIC,EAAAA,WAAW,CAAC,EAAI,CAAC,GAG/B,EAAA,EAAA,aAAmB,EAAO,EAAK,EAAe"}
@@ -1,13 +1,2 @@
1
- import { ValidationError } from "sequelize";
2
- import { ValidationError as ValidationError$1 } from "joi";
3
- import { BadRequest, handleError } from "@autofleet/errors";
4
-
5
- //#region src/api/v1/errors.ts
6
- var errors_default = (err, res, additionalData) => {
7
- let error = err;
8
- if ([ValidationError$1, ValidationError].some((ErrClass) => err instanceof ErrClass)) error = new BadRequest([err]);
9
- return handleError(error, res, additionalData);
10
- };
11
-
12
- //#endregion
13
- export { errors_default as default };
1
+ import{ValidationError as e}from"sequelize";import{ValidationError as t}from"joi";import{BadRequest as n,handleError as r}from"@autofleet/errors";var i=(i,a,o)=>{let s=i;return[t,e].some(e=>i instanceof e)&&(s=new n([i])),r(s,a,o)};export{i as default};
2
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","names":["InputValidationError","DatabaseValidationError"],"sources":["../../../src/api/v1/errors.ts"],"sourcesContent":["import type { Response } from 'express';\nimport { handleError, BadRequest, type LogPayload } from '@autofleet/errors';\nimport { ValidationError as InputValidationError } from 'joi';\nimport { ValidationError as DatabaseValidationError } from 'sequelize';\n\nexport default (err: Error, res: Response, additionalData: LogPayload): void => {\n let error = err;\n if ([InputValidationError, DatabaseValidationError].some(ErrClass => err instanceof ErrClass)) {\n error = new BadRequest([err]);\n }\n\n return handleError(error, res, additionalData);\n};\n"],"mappings":"kJAKA,IAAA,GAAgB,EAAY,EAAe,IAAqC,CAC9E,IAAI,EAAQ,EAKZ,MAJI,CAACA,EAAsBC,EAAwB,CAAC,KAAK,GAAY,aAAe,EAAS,GAC3F,EAAQ,IAAI,EAAW,CAAC,EAAI,CAAC,EAGxB,EAAY,EAAO,EAAK,EAAe"}
@@ -1,16 +1,2 @@
1
- const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
2
- const require_index = require('../../utils/logger/index.cjs');
3
- const require_index$1 = require('./definition/index.cjs');
4
- const require_index$2 = require('./validator/index.cjs');
5
- const require_index$3 = require('./field-policies/index.cjs');
6
- let _autofleet_node_common = require("@autofleet/node-common");
7
-
8
- //#region src/api/v1/index.ts
9
- const router = (0, _autofleet_node_common.Router)({ logger: require_index.default });
10
- router.use("/custom-field-definitions/:modelName", require_index$1.default);
11
- router.use("/custom-validators/:modelName", require_index$2.default);
12
- router.use("/field-policies/:modelName", require_index$3.default);
13
- var v1_default = router;
14
-
15
- //#endregion
16
- exports.default = v1_default;
1
+ const e=require(`../../_virtual/rolldown_runtime.cjs`),t=require(`../../utils/logger/index.cjs`),n=require(`./definition/index.cjs`),r=require(`./validator/index.cjs`);let i=require(`@autofleet/node-common`);const a=(0,i.Router)({logger:t.default});a.use(`/custom-field-definitions/:modelName`,n.default),a.use(`/custom-validators/:modelName`,r.default);var o=a;exports.default=o;
2
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","names":["router: ReturnType<typeof Router>","definitionRouter","validatorRouter"],"sources":["../../../src/api/v1/index.ts"],"sourcesContent":["import { Router } from '@autofleet/node-common';\nimport logger from '../../utils/logger';\nimport definitionRouter from './definition';\nimport validatorRouter from './validator';\n\nconst router: ReturnType<typeof Router> = Router({ logger });\n\nrouter.use('/custom-field-definitions/:modelName', definitionRouter);\nrouter.use('/custom-validators/:modelName', validatorRouter);\n\nexport default router;\n"],"mappings":"gNAKA,MAAMA,GAAAA,EAAAA,EAAAA,QAA2C,CAAE,OAAA,EAAA,QAAQ,CAAC,CAE5D,EAAO,IAAI,uCAAwCC,EAAAA,QAAiB,CACpE,EAAO,IAAI,gCAAiCC,EAAAA,QAAgB,CAE5D,IAAA,EAAe"}
@@ -1,15 +1,2 @@
1
- import logger_default from "../../utils/logger/index.js";
2
- import definition_default from "./definition/index.js";
3
- import validator_default from "./validator/index.js";
4
- import field_policies_default from "./field-policies/index.js";
5
- import { Router } from "@autofleet/node-common";
6
-
7
- //#region src/api/v1/index.ts
8
- const router = Router({ logger: logger_default });
9
- router.use("/custom-field-definitions/:modelName", definition_default);
10
- router.use("/custom-validators/:modelName", validator_default);
11
- router.use("/field-policies/:modelName", field_policies_default);
12
- var v1_default = router;
13
-
14
- //#endregion
15
- export { v1_default as default };
1
+ import e from"../../utils/logger/index.js";import t from"./definition/index.js";import n from"./validator/index.js";import{Router as r}from"@autofleet/node-common";const i=r({logger:e});i.use(`/custom-field-definitions/:modelName`,t),i.use(`/custom-validators/:modelName`,n);var a=i;export{a as default};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["router: ReturnType<typeof Router>","definitionRouter","validatorRouter"],"sources":["../../../src/api/v1/index.ts"],"sourcesContent":["import { Router } from '@autofleet/node-common';\nimport logger from '../../utils/logger';\nimport definitionRouter from './definition';\nimport validatorRouter from './validator';\n\nconst router: ReturnType<typeof Router> = Router({ logger });\n\nrouter.use('/custom-field-definitions/:modelName', definitionRouter);\nrouter.use('/custom-validators/:modelName', validatorRouter);\n\nexport default router;\n"],"mappings":"oKAKA,MAAMA,EAAoC,EAAO,CAAE,OAAA,EAAQ,CAAC,CAE5D,EAAO,IAAI,uCAAwCC,EAAiB,CACpE,EAAO,IAAI,gCAAiCC,EAAgB,CAE5D,IAAA,EAAe"}
@@ -1,115 +1,2 @@
1
- const require_rolldown_runtime = require('../../../_virtual/rolldown_runtime.cjs');
2
- const require_index = require('../../../utils/logger/index.cjs');
3
- const require_errors = require('../errors.cjs');
4
- const require_mat_path_state = require('../../../mat-path-state.cjs');
5
- const require_validator = require('../../../repository/validator.cjs');
6
- const require_validations = require('./validations.cjs');
7
- const require_validator_schema = require('../../../utils/validations/schema/validator-schema.cjs');
8
- let _autofleet_errors = require("@autofleet/errors");
9
- let _autofleet_node_common = require("@autofleet/node-common");
10
- let http_status_codes = require("http-status-codes");
11
-
12
- //#region src/api/v1/validator/index.ts
13
- const router = (0, _autofleet_node_common.Router)({ logger: require_index.default });
14
- const ENTITY = "CustomValidator";
15
- /**
16
- * Create
17
- */
18
- router.post("/", async (req, res) => {
19
- const { modelName } = req.params;
20
- try {
21
- const validatedPayload = await require_validations.default.create.validateAsync(req.body);
22
- require_validator_schema.validateValidatorSchema(validatedPayload.schema);
23
- const validator = await require_validator.create({
24
- ...validatedPayload,
25
- modelType: modelName
26
- });
27
- return res.status(http_status_codes.StatusCodes.CREATED).json(validator);
28
- } catch (err) {
29
- return require_errors.default(err, res, {
30
- logger: require_index.default,
31
- message: `Error in create ${ENTITY} request`
32
- });
33
- }
34
- });
35
- /**
36
- * Get all
37
- */
38
- router.get("/", async (req, res) => {
39
- try {
40
- const { modelName } = req.params;
41
- const { entityId, entityType } = req.query;
42
- const applyEntityFilters = !require_mat_path_state.matPathState.isMatPathEnabled?.();
43
- const where = {
44
- modelType: modelName,
45
- ...applyEntityFilters && entityId && { entityId },
46
- ...applyEntityFilters && entityType && { entityType }
47
- };
48
- const validators = await require_validator.findAll(where);
49
- return res.status(http_status_codes.StatusCodes.OK).json({ validators });
50
- } catch (err) {
51
- return require_errors.default(err, res, {
52
- logger: require_index.default,
53
- message: `Error in get all ${ENTITY} request`
54
- });
55
- }
56
- });
57
- /**
58
- * Get by id
59
- */
60
- router.get("/:validatorId", async (req, res) => {
61
- try {
62
- const { validatorId, modelName } = req.params;
63
- const validators = await require_validator.findAll({
64
- id: validatorId,
65
- modelType: modelName
66
- }, { withDisabled: true });
67
- if (!validators.length) throw new _autofleet_errors.ResourceNotFoundError("Validator not found");
68
- return res.status(http_status_codes.StatusCodes.OK).json(validators[0]);
69
- } catch (err) {
70
- return require_errors.default(err, res, {
71
- logger: require_index.default,
72
- message: `Error in get ${ENTITY} request`
73
- });
74
- }
75
- });
76
- /**
77
- * Update
78
- */
79
- router.patch("/:validatorId", async (req, res) => {
80
- try {
81
- const { validatorId } = req.params;
82
- const validatedPayload = await require_validations.default.update.validateAsync(req.body);
83
- if (validatedPayload.schema) require_validator_schema.validateValidatorSchema(validatedPayload.schema);
84
- if (!(await require_validator.findAll({ id: validatorId }, { withDisabled: true })).length) throw new _autofleet_errors.ResourceNotFoundError("Validator not found");
85
- const [count, validators] = await require_validator.update(validatorId, validatedPayload);
86
- if (!count) throw new _autofleet_errors.ResourceNotFoundError("Validator not found");
87
- return res.status(http_status_codes.StatusCodes.OK).json(validators[0]);
88
- } catch (err) {
89
- return require_errors.default(err, res, {
90
- logger: require_index.default,
91
- message: `Error in update ${ENTITY} request`
92
- });
93
- }
94
- });
95
- /**
96
- * Delete (disable)
97
- */
98
- router.delete("/:validatorId", async (req, res) => {
99
- try {
100
- const { validatorId } = req.params;
101
- if (!(await require_validator.findAll({ id: validatorId }, { withDisabled: true })).length) throw new _autofleet_errors.ResourceNotFoundError("Validator not found");
102
- const [count] = await require_validator.disable(validatorId);
103
- if (!count) throw new _autofleet_errors.ResourceNotFoundError("Validator failed to be disabled");
104
- return res.status(http_status_codes.StatusCodes.NO_CONTENT).send();
105
- } catch (err) {
106
- return require_errors.default(err, res, {
107
- logger: require_index.default,
108
- message: `Error in delete ${ENTITY} request`
109
- });
110
- }
111
- });
112
- var validator_default = router;
113
-
114
- //#endregion
115
- exports.default = validator_default;
1
+ const e=require(`../../../_virtual/rolldown_runtime.cjs`),t=require(`../../../utils/logger/index.cjs`),n=require(`../errors.cjs`),r=require(`../../../mat-path-state.cjs`),i=require(`../../../repository/validator.cjs`),a=require(`./validations.cjs`),o=require(`../../../utils/validations/schema/validator-schema.cjs`);let s=require(`@autofleet/errors`),c=require(`@autofleet/node-common`),l=require(`http-status-codes`);const u=(0,c.Router)({logger:t.default}),d=`CustomValidator`;u.post(`/`,async(e,r)=>{let{modelName:s}=e.params;try{let t=await a.default.create.validateAsync(e.body);o.validateValidatorSchema(t.schema);let n=await i.create({...t,modelType:s});return r.status(l.StatusCodes.CREATED).json(n)}catch(e){return n.default(e,r,{logger:t.default,message:`Error in create ${d} request`})}}),u.get(`/`,async(e,a)=>{try{let{modelName:t}=e.params,{entityId:n,entityType:o}=e.query,s=!r.matPathState.isMatPathEnabled?.(),c={modelType:t,...s&&n&&{entityId:n},...s&&o&&{entityType:o}},u=await i.findAll(c);return a.status(l.StatusCodes.OK).json({validators:u})}catch(e){return n.default(e,a,{logger:t.default,message:`Error in get all ${d} request`})}}),u.get(`/:validatorId`,async(e,r)=>{try{let{validatorId:t,modelName:n}=e.params,a=await i.findAll({id:t,modelType:n},{withDisabled:!0});if(!a.length)throw new s.ResourceNotFoundError(`Validator not found`);return r.status(l.StatusCodes.OK).json(a[0])}catch(e){return n.default(e,r,{logger:t.default,message:`Error in get ${d} request`})}}),u.patch(`/:validatorId`,async(e,r)=>{try{let{validatorId:t}=e.params,n=await a.default.update.validateAsync(e.body);if(n.schema&&o.validateValidatorSchema(n.schema),!(await i.findAll({id:t},{withDisabled:!0})).length)throw new s.ResourceNotFoundError(`Validator not found`);let[c,u]=await i.update(t,n);if(!c)throw new s.ResourceNotFoundError(`Validator not found`);return r.status(l.StatusCodes.OK).json(u[0])}catch(e){return n.default(e,r,{logger:t.default,message:`Error in update ${d} request`})}}),u.delete(`/:validatorId`,async(e,r)=>{try{let{validatorId:t}=e.params;if(!(await i.findAll({id:t},{withDisabled:!0})).length)throw new s.ResourceNotFoundError(`Validator not found`);let[n]=await i.disable(t);if(!n)throw new s.ResourceNotFoundError(`Validator failed to be disabled`);return r.status(l.StatusCodes.NO_CONTENT).send()}catch(e){return n.default(e,r,{logger:t.default,message:`Error in delete ${d} request`})}});var f=u;exports.default=f;
2
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","names":["router: ReturnType<typeof Router>","validations","StatusCodes","handleError","matPathState","ResourceNotFoundError"],"sources":["../../../../src/api/v1/validator/index.ts"],"sourcesContent":["import { ResourceNotFoundError } from '@autofleet/errors';\nimport { Router } from '@autofleet/node-common';\nimport { StatusCodes } from 'http-status-codes';\nimport handleError from '../errors';\nimport * as ValidatorRepo from '../../../repository/validator';\nimport validations from './validations';\nimport logger from '../../../utils/logger';\nimport { validateValidatorSchema } from '../../../utils/validations/schema/validator-schema';\nimport type { CustomValidator } from '../../../models';\nimport { matPathState } from '../../../mat-path-state';\n\nconst router: ReturnType<typeof Router> = Router({ logger });\nconst ENTITY = 'CustomValidator';\n\n/**\n * Create\n */\nrouter.post<{ modelName: string; }>('/', async (req, res) => {\n const { modelName } = req.params;\n try {\n // Validate the request body\n const validatedPayload = await validations.create.validateAsync(req.body);\n\n // Validate that the schema is a valid AJV schema\n validateValidatorSchema(validatedPayload.schema);\n\n const validator = await ValidatorRepo.create({\n ...validatedPayload,\n modelType: modelName,\n });\n\n return res.status(StatusCodes.CREATED).json(validator);\n } catch (err) {\n return handleError(err as Error, res, { logger, message: `Error in create ${ENTITY} request` });\n }\n});\n\n/**\n * Get all\n */\nrouter.get<\n { modelName: string; },\n { validators: CustomValidator[]; },\n never,\n { entityId?: string; entityType?: string; }\n>('/', async (req, res) => {\n try {\n const { modelName } = req.params;\n const { entityId, entityType } = req.query;\n\n // When mat-path is active, drop the explicit `entityId`/`entityType` WHERE filters — RLS\n // on `custom_validators` restricts the result to the caller's visible scope (fleet +\n // ancestor partners). Keeping the filters would exclude partner-level validators whose\n // entityId differs from the requested fleet's entityId.\n const applyEntityFilters = !matPathState.isMatPathEnabled?.();\n\n const where = {\n modelType: modelName,\n ...(applyEntityFilters && entityId && { entityId }),\n ...(applyEntityFilters && entityType && { entityType }),\n };\n\n const validators = await ValidatorRepo.findAll(where);\n\n return res.status(StatusCodes.OK).json({ validators });\n } catch (err) {\n return handleError(err as Error, res, { logger, message: `Error in get all ${ENTITY} request` });\n }\n});\n\n/**\n * Get by id\n */\nrouter.get<{ modelName: string; validatorId: string; }, CustomValidator>('/:validatorId', async (req, res) => {\n try {\n const { validatorId, modelName } = req.params;\n // Include disabled validators when fetching by ID\n const validators = await ValidatorRepo.findAll({ id: validatorId, modelType: modelName }, { withDisabled: true });\n\n if (!validators.length) {\n throw new ResourceNotFoundError('Validator not found');\n }\n\n return res.status(StatusCodes.OK).json(validators[0]);\n } catch (err) {\n return handleError(err as Error, res, { logger, message: `Error in get ${ENTITY} request` });\n }\n});\n\n/**\n * Update\n */\nrouter.patch<{ modelName: string; validatorId: string; }, CustomValidator>('/:validatorId', async (req, res) => {\n try {\n const { validatorId } = req.params;\n\n // Validate the request body\n const validatedPayload = await validations.update.validateAsync(req.body);\n\n // If schema is included in the update, validate that it's a valid AJV schema\n if (validatedPayload.schema) {\n validateValidatorSchema(validatedPayload.schema);\n }\n\n // First verify the validator exists, including disabled ones\n const existingValidators = await ValidatorRepo.findAll({ id: validatorId }, { withDisabled: true });\n if (!existingValidators.length) {\n throw new ResourceNotFoundError('Validator not found');\n }\n\n const [count, validators] = await ValidatorRepo.update(validatorId, validatedPayload as any);\n\n if (!count) {\n throw new ResourceNotFoundError('Validator not found');\n }\n\n return res.status(StatusCodes.OK).json(validators[0]);\n } catch (err) {\n return handleError(err as Error, res, { logger, message: `Error in update ${ENTITY} request` });\n }\n});\n\n/**\n * Delete (disable)\n */\nrouter.delete<{ modelName: string; validatorId: string; }>('/:validatorId', async (req, res) => {\n try {\n const { validatorId } = req.params;\n\n // First verify the validator exists, including disabled ones\n const existingValidators = await ValidatorRepo.findAll({ id: validatorId }, { withDisabled: true });\n if (!existingValidators.length) {\n throw new ResourceNotFoundError('Validator not found');\n }\n\n const [count] = await ValidatorRepo.disable(validatorId);\n\n if (!count) {\n throw new ResourceNotFoundError('Validator failed to be disabled');\n }\n\n return res.status(StatusCodes.NO_CONTENT).send();\n } catch (err) {\n return handleError(err as Error, res, { logger, message: `Error in delete ${ENTITY} request` });\n }\n});\n\nexport default router;\n"],"mappings":"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"}
@@ -1,114 +1,2 @@
1
- import logger_default from "../../../utils/logger/index.js";
2
- import errors_default from "../errors.js";
3
- import { matPathState } from "../../../mat-path-state.js";
4
- import { create, disable, findAll, update } from "../../../repository/validator.js";
5
- import validations_default from "./validations.js";
6
- import { validateValidatorSchema } from "../../../utils/validations/schema/validator-schema.js";
7
- import { ResourceNotFoundError } from "@autofleet/errors";
8
- import { Router } from "@autofleet/node-common";
9
- import { StatusCodes } from "http-status-codes";
10
-
11
- //#region src/api/v1/validator/index.ts
12
- const router = Router({ logger: logger_default });
13
- const ENTITY = "CustomValidator";
14
- /**
15
- * Create
16
- */
17
- router.post("/", async (req, res) => {
18
- const { modelName } = req.params;
19
- try {
20
- const validatedPayload = await validations_default.create.validateAsync(req.body);
21
- validateValidatorSchema(validatedPayload.schema);
22
- const validator = await create({
23
- ...validatedPayload,
24
- modelType: modelName
25
- });
26
- return res.status(StatusCodes.CREATED).json(validator);
27
- } catch (err) {
28
- return errors_default(err, res, {
29
- logger: logger_default,
30
- message: `Error in create ${ENTITY} request`
31
- });
32
- }
33
- });
34
- /**
35
- * Get all
36
- */
37
- router.get("/", async (req, res) => {
38
- try {
39
- const { modelName } = req.params;
40
- const { entityId, entityType } = req.query;
41
- const applyEntityFilters = !matPathState.isMatPathEnabled?.();
42
- const where = {
43
- modelType: modelName,
44
- ...applyEntityFilters && entityId && { entityId },
45
- ...applyEntityFilters && entityType && { entityType }
46
- };
47
- const validators = await findAll(where);
48
- return res.status(StatusCodes.OK).json({ validators });
49
- } catch (err) {
50
- return errors_default(err, res, {
51
- logger: logger_default,
52
- message: `Error in get all ${ENTITY} request`
53
- });
54
- }
55
- });
56
- /**
57
- * Get by id
58
- */
59
- router.get("/:validatorId", async (req, res) => {
60
- try {
61
- const { validatorId, modelName } = req.params;
62
- const validators = await findAll({
63
- id: validatorId,
64
- modelType: modelName
65
- }, { withDisabled: true });
66
- if (!validators.length) throw new ResourceNotFoundError("Validator not found");
67
- return res.status(StatusCodes.OK).json(validators[0]);
68
- } catch (err) {
69
- return errors_default(err, res, {
70
- logger: logger_default,
71
- message: `Error in get ${ENTITY} request`
72
- });
73
- }
74
- });
75
- /**
76
- * Update
77
- */
78
- router.patch("/:validatorId", async (req, res) => {
79
- try {
80
- const { validatorId } = req.params;
81
- const validatedPayload = await validations_default.update.validateAsync(req.body);
82
- if (validatedPayload.schema) validateValidatorSchema(validatedPayload.schema);
83
- if (!(await findAll({ id: validatorId }, { withDisabled: true })).length) throw new ResourceNotFoundError("Validator not found");
84
- const [count, validators] = await update(validatorId, validatedPayload);
85
- if (!count) throw new ResourceNotFoundError("Validator not found");
86
- return res.status(StatusCodes.OK).json(validators[0]);
87
- } catch (err) {
88
- return errors_default(err, res, {
89
- logger: logger_default,
90
- message: `Error in update ${ENTITY} request`
91
- });
92
- }
93
- });
94
- /**
95
- * Delete (disable)
96
- */
97
- router.delete("/:validatorId", async (req, res) => {
98
- try {
99
- const { validatorId } = req.params;
100
- if (!(await findAll({ id: validatorId }, { withDisabled: true })).length) throw new ResourceNotFoundError("Validator not found");
101
- const [count] = await disable(validatorId);
102
- if (!count) throw new ResourceNotFoundError("Validator failed to be disabled");
103
- return res.status(StatusCodes.NO_CONTENT).send();
104
- } catch (err) {
105
- return errors_default(err, res, {
106
- logger: logger_default,
107
- message: `Error in delete ${ENTITY} request`
108
- });
109
- }
110
- });
111
- var validator_default = router;
112
-
113
- //#endregion
114
- export { validator_default as default };
1
+ import e from"../../../utils/logger/index.js";import t from"../errors.js";import{matPathState as n}from"../../../mat-path-state.js";import{create as r,disable as i,findAll as a,update as o}from"../../../repository/validator.js";import s from"./validations.js";import{validateValidatorSchema as c}from"../../../utils/validations/schema/validator-schema.js";import{ResourceNotFoundError as l}from"@autofleet/errors";import{Router as u}from"@autofleet/node-common";import{StatusCodes as d}from"http-status-codes";const f=u({logger:e}),p=`CustomValidator`;f.post(`/`,async(n,i)=>{let{modelName:a}=n.params;try{let e=await s.create.validateAsync(n.body);c(e.schema);let t=await r({...e,modelType:a});return i.status(d.CREATED).json(t)}catch(n){return t(n,i,{logger:e,message:`Error in create ${p} request`})}}),f.get(`/`,async(r,i)=>{try{let{modelName:e}=r.params,{entityId:t,entityType:o}=r.query,s=!n.isMatPathEnabled?.(),c=await a({modelType:e,...s&&t&&{entityId:t},...s&&o&&{entityType:o}});return i.status(d.OK).json({validators:c})}catch(n){return t(n,i,{logger:e,message:`Error in get all ${p} request`})}}),f.get(`/:validatorId`,async(n,r)=>{try{let{validatorId:e,modelName:t}=n.params,i=await a({id:e,modelType:t},{withDisabled:!0});if(!i.length)throw new l(`Validator not found`);return r.status(d.OK).json(i[0])}catch(n){return t(n,r,{logger:e,message:`Error in get ${p} request`})}}),f.patch(`/:validatorId`,async(n,r)=>{try{let{validatorId:e}=n.params,t=await s.update.validateAsync(n.body);if(t.schema&&c(t.schema),!(await a({id:e},{withDisabled:!0})).length)throw new l(`Validator not found`);let[i,u]=await o(e,t);if(!i)throw new l(`Validator not found`);return r.status(d.OK).json(u[0])}catch(n){return t(n,r,{logger:e,message:`Error in update ${p} request`})}}),f.delete(`/:validatorId`,async(n,r)=>{try{let{validatorId:e}=n.params;if(!(await a({id:e},{withDisabled:!0})).length)throw new l(`Validator not found`);let[t]=await i(e);if(!t)throw new l(`Validator failed to be disabled`);return r.status(d.NO_CONTENT).send()}catch(n){return t(n,r,{logger:e,message:`Error in delete ${p} request`})}});var m=f;export{m as default};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["router: ReturnType<typeof Router>","validations","ValidatorRepo.create","handleError","ValidatorRepo.findAll","ValidatorRepo.update","ValidatorRepo.disable"],"sources":["../../../../src/api/v1/validator/index.ts"],"sourcesContent":["import { ResourceNotFoundError } from '@autofleet/errors';\nimport { Router } from '@autofleet/node-common';\nimport { StatusCodes } from 'http-status-codes';\nimport handleError from '../errors';\nimport * as ValidatorRepo from '../../../repository/validator';\nimport validations from './validations';\nimport logger from '../../../utils/logger';\nimport { validateValidatorSchema } from '../../../utils/validations/schema/validator-schema';\nimport type { CustomValidator } from '../../../models';\nimport { matPathState } from '../../../mat-path-state';\n\nconst router: ReturnType<typeof Router> = Router({ logger });\nconst ENTITY = 'CustomValidator';\n\n/**\n * Create\n */\nrouter.post<{ modelName: string; }>('/', async (req, res) => {\n const { modelName } = req.params;\n try {\n // Validate the request body\n const validatedPayload = await validations.create.validateAsync(req.body);\n\n // Validate that the schema is a valid AJV schema\n validateValidatorSchema(validatedPayload.schema);\n\n const validator = await ValidatorRepo.create({\n ...validatedPayload,\n modelType: modelName,\n });\n\n return res.status(StatusCodes.CREATED).json(validator);\n } catch (err) {\n return handleError(err as Error, res, { logger, message: `Error in create ${ENTITY} request` });\n }\n});\n\n/**\n * Get all\n */\nrouter.get<\n { modelName: string; },\n { validators: CustomValidator[]; },\n never,\n { entityId?: string; entityType?: string; }\n>('/', async (req, res) => {\n try {\n const { modelName } = req.params;\n const { entityId, entityType } = req.query;\n\n // When mat-path is active, drop the explicit `entityId`/`entityType` WHERE filters — RLS\n // on `custom_validators` restricts the result to the caller's visible scope (fleet +\n // ancestor partners). Keeping the filters would exclude partner-level validators whose\n // entityId differs from the requested fleet's entityId.\n const applyEntityFilters = !matPathState.isMatPathEnabled?.();\n\n const where = {\n modelType: modelName,\n ...(applyEntityFilters && entityId && { entityId }),\n ...(applyEntityFilters && entityType && { entityType }),\n };\n\n const validators = await ValidatorRepo.findAll(where);\n\n return res.status(StatusCodes.OK).json({ validators });\n } catch (err) {\n return handleError(err as Error, res, { logger, message: `Error in get all ${ENTITY} request` });\n }\n});\n\n/**\n * Get by id\n */\nrouter.get<{ modelName: string; validatorId: string; }, CustomValidator>('/:validatorId', async (req, res) => {\n try {\n const { validatorId, modelName } = req.params;\n // Include disabled validators when fetching by ID\n const validators = await ValidatorRepo.findAll({ id: validatorId, modelType: modelName }, { withDisabled: true });\n\n if (!validators.length) {\n throw new ResourceNotFoundError('Validator not found');\n }\n\n return res.status(StatusCodes.OK).json(validators[0]);\n } catch (err) {\n return handleError(err as Error, res, { logger, message: `Error in get ${ENTITY} request` });\n }\n});\n\n/**\n * Update\n */\nrouter.patch<{ modelName: string; validatorId: string; }, CustomValidator>('/:validatorId', async (req, res) => {\n try {\n const { validatorId } = req.params;\n\n // Validate the request body\n const validatedPayload = await validations.update.validateAsync(req.body);\n\n // If schema is included in the update, validate that it's a valid AJV schema\n if (validatedPayload.schema) {\n validateValidatorSchema(validatedPayload.schema);\n }\n\n // First verify the validator exists, including disabled ones\n const existingValidators = await ValidatorRepo.findAll({ id: validatorId }, { withDisabled: true });\n if (!existingValidators.length) {\n throw new ResourceNotFoundError('Validator not found');\n }\n\n const [count, validators] = await ValidatorRepo.update(validatorId, validatedPayload as any);\n\n if (!count) {\n throw new ResourceNotFoundError('Validator not found');\n }\n\n return res.status(StatusCodes.OK).json(validators[0]);\n } catch (err) {\n return handleError(err as Error, res, { logger, message: `Error in update ${ENTITY} request` });\n }\n});\n\n/**\n * Delete (disable)\n */\nrouter.delete<{ modelName: string; validatorId: string; }>('/:validatorId', async (req, res) => {\n try {\n const { validatorId } = req.params;\n\n // First verify the validator exists, including disabled ones\n const existingValidators = await ValidatorRepo.findAll({ id: validatorId }, { withDisabled: true });\n if (!existingValidators.length) {\n throw new ResourceNotFoundError('Validator not found');\n }\n\n const [count] = await ValidatorRepo.disable(validatorId);\n\n if (!count) {\n throw new ResourceNotFoundError('Validator failed to be disabled');\n }\n\n return res.status(StatusCodes.NO_CONTENT).send();\n } catch (err) {\n return handleError(err as Error, res, { logger, message: `Error in delete ${ENTITY} request` });\n }\n});\n\nexport default router;\n"],"mappings":"8fAWA,MAAMA,EAAoC,EAAO,CAAE,OAAA,EAAQ,CAAC,CACtD,EAAS,kBAKf,EAAO,KAA6B,IAAK,MAAO,EAAK,IAAQ,CAC3D,GAAM,CAAE,aAAc,EAAI,OAC1B,GAAI,CAEF,IAAM,EAAmB,MAAMC,EAAY,OAAO,cAAc,EAAI,KAAK,CAGzE,EAAwB,EAAiB,OAAO,CAEhD,IAAM,EAAY,MAAMC,EAAqB,CAC3C,GAAG,EACH,UAAW,EACZ,CAAC,CAEF,OAAO,EAAI,OAAO,EAAY,QAAQ,CAAC,KAAK,EAAU,OAC/C,EAAK,CACZ,OAAOC,EAAY,EAAc,EAAK,CAAE,OAAA,EAAQ,QAAS,mBAAmB,EAAO,UAAW,CAAC,GAEjG,CAKF,EAAO,IAKL,IAAK,MAAO,EAAK,IAAQ,CACzB,GAAI,CACF,GAAM,CAAE,aAAc,EAAI,OACpB,CAAE,WAAU,cAAe,EAAI,MAM/B,EAAqB,CAAC,EAAa,oBAAoB,CAQvD,EAAa,MAAMC,EANX,CACZ,UAAW,EACX,GAAI,GAAsB,GAAY,CAAE,WAAU,CAClD,GAAI,GAAsB,GAAc,CAAE,aAAY,CACvD,CAEoD,CAErD,OAAO,EAAI,OAAO,EAAY,GAAG,CAAC,KAAK,CAAE,aAAY,CAAC,OAC/C,EAAK,CACZ,OAAOD,EAAY,EAAc,EAAK,CAAE,OAAA,EAAQ,QAAS,oBAAoB,EAAO,UAAW,CAAC,GAElG,CAKF,EAAO,IAAkE,gBAAiB,MAAO,EAAK,IAAQ,CAC5G,GAAI,CACF,GAAM,CAAE,cAAa,aAAc,EAAI,OAEjC,EAAa,MAAMC,EAAsB,CAAE,GAAI,EAAa,UAAW,EAAW,CAAE,CAAE,aAAc,GAAM,CAAC,CAEjH,GAAI,CAAC,EAAW,OACd,MAAM,IAAI,EAAsB,sBAAsB,CAGxD,OAAO,EAAI,OAAO,EAAY,GAAG,CAAC,KAAK,EAAW,GAAG,OAC9C,EAAK,CACZ,OAAOD,EAAY,EAAc,EAAK,CAAE,OAAA,EAAQ,QAAS,gBAAgB,EAAO,UAAW,CAAC,GAE9F,CAKF,EAAO,MAAoE,gBAAiB,MAAO,EAAK,IAAQ,CAC9G,GAAI,CACF,GAAM,CAAE,eAAgB,EAAI,OAGtB,EAAmB,MAAMF,EAAY,OAAO,cAAc,EAAI,KAAK,CASzE,GANI,EAAiB,QACnB,EAAwB,EAAiB,OAAO,CAK9C,EADuB,MAAMG,EAAsB,CAAE,GAAI,EAAa,CAAE,CAAE,aAAc,GAAM,CAAC,EAC3E,OACtB,MAAM,IAAI,EAAsB,sBAAsB,CAGxD,GAAM,CAAC,EAAO,GAAc,MAAMC,EAAqB,EAAa,EAAwB,CAE5F,GAAI,CAAC,EACH,MAAM,IAAI,EAAsB,sBAAsB,CAGxD,OAAO,EAAI,OAAO,EAAY,GAAG,CAAC,KAAK,EAAW,GAAG,OAC9C,EAAK,CACZ,OAAOF,EAAY,EAAc,EAAK,CAAE,OAAA,EAAQ,QAAS,mBAAmB,EAAO,UAAW,CAAC,GAEjG,CAKF,EAAO,OAAoD,gBAAiB,MAAO,EAAK,IAAQ,CAC9F,GAAI,CACF,GAAM,CAAE,eAAgB,EAAI,OAI5B,GAAI,EADuB,MAAMC,EAAsB,CAAE,GAAI,EAAa,CAAE,CAAE,aAAc,GAAM,CAAC,EAC3E,OACtB,MAAM,IAAI,EAAsB,sBAAsB,CAGxD,GAAM,CAAC,GAAS,MAAME,EAAsB,EAAY,CAExD,GAAI,CAAC,EACH,MAAM,IAAI,EAAsB,kCAAkC,CAGpE,OAAO,EAAI,OAAO,EAAY,WAAW,CAAC,MAAM,OACzC,EAAK,CACZ,OAAOH,EAAY,EAAc,EAAK,CAAE,OAAA,EAAQ,QAAS,mBAAmB,EAAO,UAAW,CAAC,GAEjG,CAEF,IAAA,EAAe"}
@@ -1,40 +1,2 @@
1
- const require_rolldown_runtime = require('../../../_virtual/rolldown_runtime.cjs');
2
- let joi = require("joi");
3
- joi = require_rolldown_runtime.__toESM(joi);
4
-
5
- //#region src/api/v1/validator/validations.ts
6
- const jsonSchemaValidation = joi.default.object().unknown(true);
7
- const schemaObject = joi.default.object({
8
- type: joi.default.string().valid("object"),
9
- properties: joi.default.object({
10
- before: jsonSchemaValidation,
11
- after: jsonSchemaValidation
12
- }).required(),
13
- required: joi.default.array().items(joi.default.string()),
14
- allOf: joi.default.array().items(joi.default.object()),
15
- anyOf: joi.default.array().items(joi.default.object()),
16
- oneOf: joi.default.array().items(joi.default.object()),
17
- additionalProperties: joi.default.alternatives().try(joi.default.boolean(), joi.default.object()),
18
- $id: joi.default.string(),
19
- $schema: joi.default.string(),
20
- if: joi.default.object(),
21
- then: joi.default.object(),
22
- else: joi.default.object()
23
- });
24
- const validationSchemas = {
25
- create: joi.default.object({
26
- entityId: joi.default.string().uuid().required(),
27
- entityType: joi.default.string().required(),
28
- schema: schemaObject.required()
29
- }),
30
- update: joi.default.object({
31
- entityId: joi.default.string().uuid(),
32
- entityType: joi.default.string(),
33
- schema: schemaObject,
34
- disabled: joi.default.boolean()
35
- }).min(1)
36
- };
37
- var validations_default = validationSchemas;
38
-
39
- //#endregion
40
- exports.default = validations_default;
1
+ const e=require(`../../../_virtual/rolldown_runtime.cjs`);let t=require(`joi`);t=e.__toESM(t);const n=t.default.object().unknown(!0),r=t.default.object({type:t.default.string().valid(`object`),properties:t.default.object({before:n,after:n}).required(),required:t.default.array().items(t.default.string()),allOf:t.default.array().items(t.default.object()),anyOf:t.default.array().items(t.default.object()),oneOf:t.default.array().items(t.default.object()),additionalProperties:t.default.alternatives().try(t.default.boolean(),t.default.object()),$id:t.default.string(),$schema:t.default.string(),if:t.default.object(),then:t.default.object(),else:t.default.object()}),i={create:t.default.object({entityId:t.default.string().uuid().required(),entityType:t.default.string().required(),schema:r.required()}),update:t.default.object({entityId:t.default.string().uuid(),entityType:t.default.string(),schema:r,disabled:t.default.boolean()}).min(1)};var a=i;exports.default=a;
2
+ //# sourceMappingURL=validations.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validations.cjs","names":["Joi","validationSchemas: ValidationSchemas"],"sources":["../../../../src/api/v1/validator/validations.ts"],"sourcesContent":["import Joi from 'joi';\n\nconst jsonSchemaValidation = Joi.object().unknown(true);\n\nexport interface SchemaObject {\n type: 'object';\n properties?: {\n before?: object;\n after?: object;\n };\n required?: string[];\n allOf?: object[];\n anyOf?: object[];\n oneOf?: object[];\n additionalProperties?: boolean | object;\n $id?: string;\n $schema?: string;\n if?: object;\n then?: object;\n else?: object;\n}\n\nconst schemaObject = Joi.object<SchemaObject>({\n type: Joi.string().valid('object'),\n properties: Joi.object({\n before: jsonSchemaValidation,\n after: jsonSchemaValidation,\n }).required(),\n required: Joi.array().items(Joi.string()),\n allOf: Joi.array().items(Joi.object()),\n anyOf: Joi.array().items(Joi.object()),\n oneOf: Joi.array().items(Joi.object()),\n additionalProperties: Joi.alternatives().try(Joi.boolean(), Joi.object()),\n $id: Joi.string(),\n $schema: Joi.string(),\n if: Joi.object(),\n then: Joi.object(),\n else: Joi.object(),\n});\n\nexport interface CreateValidatorPayload {\n entityId: string;\n entityType: string;\n schema: SchemaObject;\n}\n\nexport interface UpdateValidatorPayload extends Partial<CreateValidatorPayload> {\n disabled?: boolean;\n}\n\ninterface ValidationSchemas {\n create: Joi.ObjectSchema<CreateValidatorPayload>;\n update: Joi.ObjectSchema<UpdateValidatorPayload>;\n}\n\nconst validationSchemas: ValidationSchemas = {\n create: Joi.object<CreateValidatorPayload>({\n entityId: Joi.string().uuid().required(),\n entityType: Joi.string().required(),\n schema: schemaObject.required(),\n }),\n\n update: Joi.object<UpdateValidatorPayload>({\n entityId: Joi.string().uuid(),\n entityType: Joi.string(),\n schema: schemaObject,\n disabled: Joi.boolean(),\n }).min(1),\n};\n\nexport default validationSchemas;\n"],"mappings":"8FAEA,MAAM,EAAuBA,EAAAA,QAAI,QAAQ,CAAC,QAAQ,GAAK,CAoBjD,EAAeA,EAAAA,QAAI,OAAqB,CAC5C,KAAMA,EAAAA,QAAI,QAAQ,CAAC,MAAM,SAAS,CAClC,WAAYA,EAAAA,QAAI,OAAO,CACrB,OAAQ,EACR,MAAO,EACR,CAAC,CAAC,UAAU,CACb,SAAUA,EAAAA,QAAI,OAAO,CAAC,MAAMA,EAAAA,QAAI,QAAQ,CAAC,CACzC,MAAOA,EAAAA,QAAI,OAAO,CAAC,MAAMA,EAAAA,QAAI,QAAQ,CAAC,CACtC,MAAOA,EAAAA,QAAI,OAAO,CAAC,MAAMA,EAAAA,QAAI,QAAQ,CAAC,CACtC,MAAOA,EAAAA,QAAI,OAAO,CAAC,MAAMA,EAAAA,QAAI,QAAQ,CAAC,CACtC,qBAAsBA,EAAAA,QAAI,cAAc,CAAC,IAAIA,EAAAA,QAAI,SAAS,CAAEA,EAAAA,QAAI,QAAQ,CAAC,CACzE,IAAKA,EAAAA,QAAI,QAAQ,CACjB,QAASA,EAAAA,QAAI,QAAQ,CACrB,GAAIA,EAAAA,QAAI,QAAQ,CAChB,KAAMA,EAAAA,QAAI,QAAQ,CAClB,KAAMA,EAAAA,QAAI,QAAQ,CACnB,CAAC,CAiBIC,EAAuC,CAC3C,OAAQD,EAAAA,QAAI,OAA+B,CACzC,SAAUA,EAAAA,QAAI,QAAQ,CAAC,MAAM,CAAC,UAAU,CACxC,WAAYA,EAAAA,QAAI,QAAQ,CAAC,UAAU,CACnC,OAAQ,EAAa,UAAU,CAChC,CAAC,CAEF,OAAQA,EAAAA,QAAI,OAA+B,CACzC,SAAUA,EAAAA,QAAI,QAAQ,CAAC,MAAM,CAC7B,WAAYA,EAAAA,QAAI,QAAQ,CACxB,OAAQ,EACR,SAAUA,EAAAA,QAAI,SAAS,CACxB,CAAC,CAAC,IAAI,EAAE,CACV,CAED,IAAA,EAAe"}
@@ -19,4 +19,5 @@ interface SchemaObject {
19
19
  else?: object;
20
20
  }
21
21
  //#endregion
22
- export { SchemaObject };
22
+ export { SchemaObject };
23
+ //# sourceMappingURL=validations.d.cts.map
@@ -19,4 +19,5 @@ interface SchemaObject {
19
19
  else?: object;
20
20
  }
21
21
  //#endregion
22
- export { SchemaObject };
22
+ export { SchemaObject };
23
+ //# sourceMappingURL=validations.d.ts.map
@@ -1,38 +1,2 @@
1
- import Joi from "joi";
2
-
3
- //#region src/api/v1/validator/validations.ts
4
- const jsonSchemaValidation = Joi.object().unknown(true);
5
- const schemaObject = Joi.object({
6
- type: Joi.string().valid("object"),
7
- properties: Joi.object({
8
- before: jsonSchemaValidation,
9
- after: jsonSchemaValidation
10
- }).required(),
11
- required: Joi.array().items(Joi.string()),
12
- allOf: Joi.array().items(Joi.object()),
13
- anyOf: Joi.array().items(Joi.object()),
14
- oneOf: Joi.array().items(Joi.object()),
15
- additionalProperties: Joi.alternatives().try(Joi.boolean(), Joi.object()),
16
- $id: Joi.string(),
17
- $schema: Joi.string(),
18
- if: Joi.object(),
19
- then: Joi.object(),
20
- else: Joi.object()
21
- });
22
- const validationSchemas = {
23
- create: Joi.object({
24
- entityId: Joi.string().uuid().required(),
25
- entityType: Joi.string().required(),
26
- schema: schemaObject.required()
27
- }),
28
- update: Joi.object({
29
- entityId: Joi.string().uuid(),
30
- entityType: Joi.string(),
31
- schema: schemaObject,
32
- disabled: Joi.boolean()
33
- }).min(1)
34
- };
35
- var validations_default = validationSchemas;
36
-
37
- //#endregion
38
- export { validations_default as default };
1
+ import e from"joi";const t=e.object().unknown(!0),n=e.object({type:e.string().valid(`object`),properties:e.object({before:t,after:t}).required(),required:e.array().items(e.string()),allOf:e.array().items(e.object()),anyOf:e.array().items(e.object()),oneOf:e.array().items(e.object()),additionalProperties:e.alternatives().try(e.boolean(),e.object()),$id:e.string(),$schema:e.string(),if:e.object(),then:e.object(),else:e.object()});var r={create:e.object({entityId:e.string().uuid().required(),entityType:e.string().required(),schema:n.required()}),update:e.object({entityId:e.string().uuid(),entityType:e.string(),schema:n,disabled:e.boolean()}).min(1)};export{r as default};
2
+ //# sourceMappingURL=validations.js.map