@autofleet/sadot 1.0.5 → 1.0.7

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 (325) hide show
  1. package/dist/_virtual/_@oxc-project_runtime@0.89.0/helpers/decorate.cjs +1 -0
  2. package/dist/_virtual/_@oxc-project_runtime@0.89.0/helpers/decorate.js +1 -0
  3. package/dist/_virtual/_@oxc-project_runtime@0.89.0/helpers/decorateMetadata.cjs +1 -0
  4. package/dist/_virtual/_@oxc-project_runtime@0.89.0/helpers/decorateMetadata.js +1 -0
  5. package/dist/_virtual/rolldown_runtime.cjs +1 -0
  6. package/dist/api/index.cjs +2 -0
  7. package/dist/api/index.cjs.map +1 -0
  8. package/dist/api/index.js +2 -12
  9. package/dist/api/index.js.map +1 -0
  10. package/dist/api/v1/definition/index.cjs +2 -0
  11. package/dist/api/v1/definition/index.cjs.map +1 -0
  12. package/dist/api/v1/definition/index.js +2 -116
  13. package/dist/api/v1/definition/index.js.map +1 -0
  14. package/dist/api/v1/definition/validations.cjs +2 -0
  15. package/dist/api/v1/definition/validations.cjs.map +1 -0
  16. package/dist/api/v1/definition/validations.js +2 -77
  17. package/dist/api/v1/definition/validations.js.map +1 -0
  18. package/dist/api/v1/errors.cjs +2 -0
  19. package/dist/api/v1/errors.cjs.map +1 -0
  20. package/dist/api/v1/errors.js +2 -12
  21. package/dist/api/v1/errors.js.map +1 -0
  22. package/dist/api/v1/index.cjs +2 -0
  23. package/dist/api/v1/index.cjs.map +1 -0
  24. package/dist/api/v1/index.js +2 -13
  25. package/dist/api/v1/index.js.map +1 -0
  26. package/dist/api/v1/validator/index.cjs +2 -0
  27. package/dist/api/v1/validator/index.cjs.map +1 -0
  28. package/dist/api/v1/validator/index.js +2 -143
  29. package/dist/api/v1/validator/index.js.map +1 -0
  30. package/dist/api/v1/validator/validations.cjs +2 -0
  31. package/dist/api/v1/validator/validations.cjs.map +1 -0
  32. package/dist/api/v1/validator/validations.js +2 -38
  33. package/dist/api/v1/validator/validations.js.map +1 -0
  34. package/dist/errors/index.cjs +3 -0
  35. package/dist/errors/index.cjs.map +1 -0
  36. package/dist/errors/index.js +3 -66
  37. package/dist/errors/index.js.map +1 -0
  38. package/dist/events/index.cjs +2 -0
  39. package/dist/events/index.cjs.map +1 -0
  40. package/dist/events/index.js +2 -54
  41. package/dist/events/index.js.map +1 -0
  42. package/dist/hooks/enrich.cjs +2 -0
  43. package/dist/hooks/enrich.cjs.map +1 -0
  44. package/dist/hooks/enrich.js +2 -198
  45. package/dist/hooks/enrich.js.map +1 -0
  46. package/dist/hooks/find.cjs +2 -0
  47. package/dist/hooks/find.cjs.map +1 -0
  48. package/dist/hooks/find.js +2 -29
  49. package/dist/hooks/find.js.map +1 -0
  50. package/dist/hooks/hooks.cjs +2 -0
  51. package/dist/hooks/hooks.cjs.map +1 -0
  52. package/dist/hooks/hooks.js +2 -388
  53. package/dist/hooks/hooks.js.map +1 -0
  54. package/dist/hooks/index.cjs +1 -0
  55. package/dist/hooks/index.js +1 -17
  56. package/dist/hooks/utils/updateInstanceValues.cjs +2 -0
  57. package/dist/hooks/utils/updateInstanceValues.cjs.map +1 -0
  58. package/dist/hooks/utils/updateInstanceValues.js +2 -50
  59. package/dist/hooks/utils/updateInstanceValues.js.map +1 -0
  60. package/dist/index.cjs +2 -0
  61. package/dist/index.cjs.map +1 -0
  62. package/dist/index.d.cts +19 -0
  63. package/dist/index.d.ts +18 -12
  64. package/dist/index.js +2 -67
  65. package/dist/index.js.map +1 -0
  66. package/dist/models/CustomFieldDefinition.cjs +2 -0
  67. package/dist/models/CustomFieldDefinition.cjs.map +1 -0
  68. package/dist/models/CustomFieldDefinition.js +2 -192
  69. package/dist/models/CustomFieldDefinition.js.map +1 -0
  70. package/dist/models/CustomFieldEntries.cjs +2 -0
  71. package/dist/models/CustomFieldEntries.cjs.map +1 -0
  72. package/dist/models/CustomFieldEntries.js +2 -123
  73. package/dist/models/CustomFieldEntries.js.map +1 -0
  74. package/dist/models/CustomFieldValue.cjs +2 -0
  75. package/dist/models/CustomFieldValue.cjs.map +1 -0
  76. package/dist/models/CustomFieldValue.js +2 -151
  77. package/dist/models/CustomFieldValue.js.map +1 -0
  78. package/dist/models/CustomValidator.cjs +2 -0
  79. package/dist/models/CustomValidator.cjs.map +1 -0
  80. package/dist/models/CustomValidator.js +2 -98
  81. package/dist/models/CustomValidator.js.map +1 -0
  82. package/dist/models/index.cjs +2 -0
  83. package/dist/models/index.cjs.map +1 -0
  84. package/dist/models/index.js +2 -131
  85. package/dist/models/index.js.map +1 -0
  86. package/dist/models/tests/AssociatedTestModel.cjs +2 -0
  87. package/dist/models/tests/AssociatedTestModel.cjs.map +1 -0
  88. package/dist/models/tests/AssociatedTestModel.js +2 -71
  89. package/dist/models/tests/AssociatedTestModel.js.map +1 -0
  90. package/dist/models/tests/TestModel.cjs +2 -0
  91. package/dist/models/tests/TestModel.cjs.map +1 -0
  92. package/dist/models/tests/TestModel.js +2 -69
  93. package/dist/models/tests/TestModel.js.map +1 -0
  94. package/dist/models/tests/contextAwareModels/ContextAwareTestModel.cjs +2 -0
  95. package/dist/models/tests/contextAwareModels/ContextAwareTestModel.cjs.map +1 -0
  96. package/dist/models/tests/contextAwareModels/ContextAwareTestModel.js +2 -53
  97. package/dist/models/tests/contextAwareModels/ContextAwareTestModel.js.map +1 -0
  98. package/dist/models/tests/contextAwareModels/ContextTestModel.cjs +2 -0
  99. package/dist/models/tests/contextAwareModels/ContextTestModel.cjs.map +1 -0
  100. package/dist/models/tests/contextAwareModels/ContextTestModel.js +2 -47
  101. package/dist/models/tests/contextAwareModels/ContextTestModel.js.map +1 -0
  102. package/dist/repository/definition.cjs +2 -0
  103. package/dist/repository/definition.cjs.map +1 -0
  104. package/dist/repository/definition.js +2 -121
  105. package/dist/repository/definition.js.map +1 -0
  106. package/dist/repository/entries.cjs +2 -0
  107. package/dist/repository/entries.cjs.map +1 -0
  108. package/dist/repository/entries.js +2 -92
  109. package/dist/repository/entries.js.map +1 -0
  110. package/dist/repository/utils/formatValues.cjs +2 -0
  111. package/dist/repository/utils/formatValues.cjs.map +1 -0
  112. package/dist/repository/utils/formatValues.js +2 -16
  113. package/dist/repository/utils/formatValues.js.map +1 -0
  114. package/dist/repository/validator.cjs +2 -0
  115. package/dist/repository/validator.cjs.map +1 -0
  116. package/dist/repository/validator.js +2 -69
  117. package/dist/repository/validator.js.map +1 -0
  118. package/dist/repository/value.cjs +2 -0
  119. package/dist/repository/value.cjs.map +1 -0
  120. package/dist/repository/value.js +2 -124
  121. package/dist/repository/value.js.map +1 -0
  122. package/dist/scopes/filter.cjs +2 -0
  123. package/dist/scopes/filter.cjs.map +1 -0
  124. package/dist/scopes/filter.d.cts +23 -0
  125. package/dist/scopes/filter.d.ts +22 -29
  126. package/dist/scopes/filter.js +2 -75
  127. package/dist/scopes/filter.js.map +1 -0
  128. package/dist/scopes/helpers/filter.helpers.cjs +46 -0
  129. package/dist/scopes/helpers/filter.helpers.cjs.map +1 -0
  130. package/dist/scopes/helpers/filter.helpers.d.cts +17 -0
  131. package/dist/scopes/helpers/filter.helpers.d.ts +15 -40
  132. package/dist/scopes/helpers/filter.helpers.js +25 -183
  133. package/dist/scopes/helpers/filter.helpers.js.map +1 -0
  134. package/dist/scopes/index.cjs +1 -0
  135. package/dist/scopes/index.js +1 -6
  136. package/dist/types/index.d.cts +44 -0
  137. package/dist/types/index.d.ts +41 -44
  138. package/dist/utils/constants/index.cjs +2 -0
  139. package/dist/utils/constants/index.cjs.map +1 -0
  140. package/dist/utils/constants/index.d.cts +22 -0
  141. package/dist/utils/constants/index.d.ts +20 -17
  142. package/dist/utils/constants/index.js +2 -22
  143. package/dist/utils/constants/index.js.map +1 -0
  144. package/dist/utils/db/index.cjs +2 -0
  145. package/dist/utils/db/index.cjs.map +1 -0
  146. package/dist/utils/db/index.js +2 -24
  147. package/dist/utils/db/index.js.map +1 -0
  148. package/dist/utils/helpers/index.cjs +2 -0
  149. package/dist/utils/helpers/index.cjs.map +1 -0
  150. package/dist/utils/helpers/index.d.cts +31 -0
  151. package/dist/utils/helpers/index.d.ts +28 -23
  152. package/dist/utils/helpers/index.js +2 -40
  153. package/dist/utils/helpers/index.js.map +1 -0
  154. package/dist/utils/init.cjs +2 -0
  155. package/dist/utils/init.cjs.map +1 -0
  156. package/dist/utils/init.js +2 -112
  157. package/dist/utils/init.js.map +1 -0
  158. package/dist/utils/logger/index.cjs +2 -0
  159. package/dist/utils/logger/index.cjs.map +1 -0
  160. package/dist/utils/logger/index.js +2 -42
  161. package/dist/utils/logger/index.js.map +1 -0
  162. package/dist/utils/scopeAttributes.cjs +2 -0
  163. package/dist/utils/scopeAttributes.cjs.map +1 -0
  164. package/dist/utils/scopeAttributes.js +2 -11
  165. package/dist/utils/scopeAttributes.js.map +1 -0
  166. package/dist/utils/validations/index.cjs +2 -0
  167. package/dist/utils/validations/index.cjs.map +1 -0
  168. package/dist/utils/validations/index.js +2 -41
  169. package/dist/utils/validations/index.js.map +1 -0
  170. package/dist/utils/validations/schema/custom-fields.cjs +2 -0
  171. package/dist/utils/validations/schema/custom-fields.cjs.map +1 -0
  172. package/dist/utils/validations/schema/custom-fields.d.cts +7 -0
  173. package/dist/utils/validations/schema/custom-fields.d.ts +6 -2
  174. package/dist/utils/validations/schema/custom-fields.js +2 -9
  175. package/dist/utils/validations/schema/custom-fields.js.map +1 -0
  176. package/dist/utils/validations/schema/validator-schema.cjs +2 -0
  177. package/dist/utils/validations/schema/validator-schema.cjs.map +1 -0
  178. package/dist/utils/validations/schema/validator-schema.js +2 -95
  179. package/dist/utils/validations/schema/validator-schema.js.map +1 -0
  180. package/dist/utils/validations/validators/index.cjs +2 -0
  181. package/dist/utils/validations/validators/index.cjs.map +1 -0
  182. package/dist/utils/validations/validators/index.js +2 -40
  183. package/dist/utils/validations/validators/index.js.map +1 -0
  184. package/dist/utils/validations/validators/select.validator.cjs +2 -0
  185. package/dist/utils/validations/validators/select.validator.cjs.map +1 -0
  186. package/dist/utils/validations/validators/select.validator.js +2 -12
  187. package/dist/utils/validations/validators/select.validator.js.map +1 -0
  188. package/dist/utils/validations/validators/status.validator.cjs +2 -0
  189. package/dist/utils/validations/validators/status.validator.cjs.map +1 -0
  190. package/dist/utils/validations/validators/status.validator.js +2 -15
  191. package/dist/utils/validations/validators/status.validator.js.map +1 -0
  192. package/package.json +26 -23
  193. package/.nvmrc +0 -1
  194. package/dist/api/index.d.ts +0 -3
  195. package/dist/api/v1/definition/index.d.ts +0 -3
  196. package/dist/api/v1/definition/validations.d.ts +0 -2
  197. package/dist/api/v1/errors.d.ts +0 -4
  198. package/dist/api/v1/index.d.ts +0 -3
  199. package/dist/api/v1/validator/index.d.ts +0 -3
  200. package/dist/api/v1/validator/validations.d.ts +0 -6
  201. package/dist/errors/index.d.ts +0 -24
  202. package/dist/events/index.d.ts +0 -5
  203. package/dist/hooks/create.d.ts +0 -10
  204. package/dist/hooks/create.js +0 -95
  205. package/dist/hooks/enrich.d.ts +0 -25
  206. package/dist/hooks/find.d.ts +0 -1
  207. package/dist/hooks/hooks.d.ts +0 -17
  208. package/dist/hooks/index.d.ts +0 -5
  209. package/dist/hooks/update.d.ts +0 -10
  210. package/dist/hooks/update.js +0 -49
  211. package/dist/hooks/utils/updateInstanceValues.d.ts +0 -15
  212. package/dist/hooks/workaround.d.ts +0 -10
  213. package/dist/hooks/workaround.js +0 -37
  214. package/dist/models/CustomFieldDefinition.d.ts +0 -25
  215. package/dist/models/CustomFieldEntries.d.ts +0 -15
  216. package/dist/models/CustomFieldValue.d.ts +0 -16
  217. package/dist/models/CustomValidator.d.ts +0 -17
  218. package/dist/models/index.d.ts +0 -18
  219. package/dist/models/tests/AssociatedTestModel.d.ts +0 -12
  220. package/dist/models/tests/TestModel.d.ts +0 -12
  221. package/dist/models/tests/contextAwareModels/ContextAwareTestModel.d.ts +0 -10
  222. package/dist/models/tests/contextAwareModels/ContextTestModel.d.ts +0 -13
  223. package/dist/repository/definition.d.ts +0 -36
  224. package/dist/repository/entries.d.ts +0 -13
  225. package/dist/repository/utils/formatValues.d.ts +0 -3
  226. package/dist/repository/validator.d.ts +0 -28
  227. package/dist/repository/value.d.ts +0 -28
  228. package/dist/scopes/index.d.ts +0 -2
  229. package/dist/tests/api/test-api.d.ts +0 -2
  230. package/dist/tests/api/test-api.js +0 -38
  231. package/dist/tests/functional/searching/index.d.ts +0 -8
  232. package/dist/tests/functional/searching/index.js +0 -44
  233. package/dist/tests/helpers/commonHooks.d.ts +0 -6
  234. package/dist/tests/helpers/commonHooks.js +0 -62
  235. package/dist/tests/helpers/database-config.d.ts +0 -16
  236. package/dist/tests/helpers/database-config.js +0 -17
  237. package/dist/tests/helpers/index.d.ts +0 -7
  238. package/dist/tests/helpers/index.js +0 -33
  239. package/dist/tests/mocks/definition.mock.d.ts +0 -48
  240. package/dist/tests/mocks/definition.mock.js +0 -78
  241. package/dist/tests/mocks/events.mock.d.ts +0 -4
  242. package/dist/tests/mocks/events.mock.js +0 -21
  243. package/dist/tests/mocks/testModel.d.ts +0 -12
  244. package/dist/tests/mocks/testModel.js +0 -35
  245. package/dist/types/definition/index.d.ts +0 -25
  246. package/dist/types/definition/index.js +0 -2
  247. package/dist/types/entries/index.d.ts +0 -25
  248. package/dist/types/entries/index.js +0 -2
  249. package/dist/types/index.js +0 -2
  250. package/dist/types/value/index.d.ts +0 -15
  251. package/dist/types/value/index.js +0 -2
  252. package/dist/utils/db/index.d.ts +0 -4
  253. package/dist/utils/init.d.ts +0 -7
  254. package/dist/utils/logger/index.d.ts +0 -3
  255. package/dist/utils/scopeAttributes.d.ts +0 -2
  256. package/dist/utils/validations/index.d.ts +0 -8
  257. package/dist/utils/validations/schema/validator-schema.d.ts +0 -9
  258. package/dist/utils/validations/type.d.ts +0 -15
  259. package/dist/utils/validations/type.js +0 -2
  260. package/dist/utils/validations/validators/index.d.ts +0 -14
  261. package/dist/utils/validations/validators/select.validator.d.ts +0 -5
  262. package/dist/utils/validations/validators/status.validator.d.ts +0 -12
  263. package/src/api/index.ts +0 -10
  264. package/src/api/v1/definition/index.ts +0 -104
  265. package/src/api/v1/definition/validations.ts +0 -75
  266. package/src/api/v1/errors.ts +0 -13
  267. package/src/api/v1/index.ts +0 -11
  268. package/src/api/v1/validator/index.ts +0 -141
  269. package/src/api/v1/validator/validations.ts +0 -38
  270. package/src/errors/index.ts +0 -70
  271. package/src/events/index.ts +0 -63
  272. package/src/hooks/create.ts +0 -81
  273. package/src/hooks/enrich.ts +0 -255
  274. package/src/hooks/find.ts +0 -27
  275. package/src/hooks/hooks.ts +0 -479
  276. package/src/hooks/index.ts +0 -20
  277. package/src/hooks/update.ts +0 -55
  278. package/src/hooks/utils/updateInstanceValues.ts +0 -63
  279. package/src/hooks/workaround.ts +0 -47
  280. package/src/index.ts +0 -52
  281. package/src/models/CustomFieldDefinition.ts +0 -162
  282. package/src/models/CustomFieldEntries.ts +0 -81
  283. package/src/models/CustomFieldValue.ts +0 -118
  284. package/src/models/CustomValidator.ts +0 -78
  285. package/src/models/index.ts +0 -165
  286. package/src/models/tests/AssociatedTestModel.ts +0 -57
  287. package/src/models/tests/TestModel.ts +0 -54
  288. package/src/models/tests/contextAwareModels/ContextAwareTestModel.ts +0 -43
  289. package/src/models/tests/contextAwareModels/ContextTestModel.ts +0 -38
  290. package/src/repository/definition.ts +0 -175
  291. package/src/repository/entries.ts +0 -88
  292. package/src/repository/utils/formatValues.ts +0 -14
  293. package/src/repository/validator.ts +0 -119
  294. package/src/repository/value.ts +0 -116
  295. package/src/scopes/filter.ts +0 -100
  296. package/src/scopes/helpers/filter.helpers.ts +0 -227
  297. package/src/scopes/index.ts +0 -6
  298. package/src/tests/api/test-api.ts +0 -40
  299. package/src/tests/functional/searching/index.ts +0 -39
  300. package/src/tests/helpers/commonHooks.ts +0 -43
  301. package/src/tests/helpers/database-config.ts +0 -15
  302. package/src/tests/helpers/index.ts +0 -35
  303. package/src/tests/mocks/definition.mock.ts +0 -84
  304. package/src/tests/mocks/events.mock.ts +0 -21
  305. package/src/tests/mocks/testModel.ts +0 -37
  306. package/src/types/definition/index.ts +0 -24
  307. package/src/types/entries/index.ts +0 -27
  308. package/src/types/index.ts +0 -52
  309. package/src/types/value/index.ts +0 -14
  310. package/src/utils/constants/index.ts +0 -25
  311. package/src/utils/db/index.ts +0 -21
  312. package/src/utils/helpers/index.ts +0 -66
  313. package/src/utils/init.ts +0 -122
  314. package/src/utils/logger/index.ts +0 -14
  315. package/src/utils/scopeAttributes.ts +0 -12
  316. package/src/utils/validations/index.ts +0 -46
  317. package/src/utils/validations/schema/README.md +0 -93
  318. package/src/utils/validations/schema/custom-fields.ts +0 -8
  319. package/src/utils/validations/schema/validator-schema.ts +0 -106
  320. package/src/utils/validations/type.ts +0 -20
  321. package/src/utils/validations/validators/index.ts +0 -38
  322. package/src/utils/validations/validators/select.validator.ts +0 -12
  323. package/src/utils/validations/validators/status.validator.ts +0 -22
  324. package/tsconfig.build.json +0 -7
  325. package/tsconfig.json +0 -16
@@ -1,69 +1,2 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- /* eslint-disable @typescript-eslint/no-unused-vars */
16
- const sequelize_typescript_1 = require("sequelize-typescript");
17
- const AssociatedTestModel_1 = __importDefault(require("./AssociatedTestModel"));
18
- let TestModel = class TestModel extends sequelize_typescript_1.Model {
19
- };
20
- __decorate([
21
- sequelize_typescript_1.PrimaryKey,
22
- (0, sequelize_typescript_1.Column)({
23
- type: sequelize_typescript_1.DataType.UUID,
24
- defaultValue: sequelize_typescript_1.DataType.UUIDV4,
25
- allowNull: false,
26
- }),
27
- __metadata("design:type", String)
28
- ], TestModel.prototype, "id", void 0);
29
- __decorate([
30
- (0, sequelize_typescript_1.Column)({
31
- type: sequelize_typescript_1.DataType.UUID,
32
- allowNull: false,
33
- }),
34
- __metadata("design:type", String)
35
- ], TestModel.prototype, "fleetId", void 0);
36
- __decorate([
37
- (0, sequelize_typescript_1.Column)({
38
- type: sequelize_typescript_1.DataType.UUID,
39
- allowNull: true,
40
- }),
41
- __metadata("design:type", String)
42
- ], TestModel.prototype, "businessModelId", void 0);
43
- __decorate([
44
- (0, sequelize_typescript_1.Column)({
45
- type: sequelize_typescript_1.DataType.UUID,
46
- allowNull: true,
47
- }),
48
- __metadata("design:type", String)
49
- ], TestModel.prototype, "demandSourceId", void 0);
50
- __decorate([
51
- (0, sequelize_typescript_1.Column)({
52
- type: sequelize_typescript_1.DataType.BOOLEAN,
53
- }),
54
- __metadata("design:type", Boolean)
55
- ], TestModel.prototype, "coolAttribute", void 0);
56
- __decorate([
57
- (0, sequelize_typescript_1.HasMany)(() => AssociatedTestModel_1.default),
58
- __metadata("design:type", Array)
59
- ], TestModel.prototype, "associatedModels", void 0);
60
- __decorate([
61
- (0, sequelize_typescript_1.Column)({
62
- type: sequelize_typescript_1.DataType.VIRTUAL,
63
- }),
64
- __metadata("design:type", Object)
65
- ], TestModel.prototype, "customFields", void 0);
66
- TestModel = __decorate([
67
- (0, sequelize_typescript_1.Table)({ schema: 'custom-fields', createdAt: false, updatedAt: false })
68
- ], TestModel);
69
- exports.default = TestModel;
1
+ import{__decorateMetadata as e}from"../../_virtual/_@oxc-project_runtime@0.89.0/helpers/decorateMetadata.js";import{__decorate as t}from"../../_virtual/_@oxc-project_runtime@0.89.0/helpers/decorate.js";import n from"./AssociatedTestModel.js";import{Column as r,DataType as i,HasMany as a,Model as o,PrimaryKey as s,Table as c}from"sequelize-typescript";let l=class extends o{};t([s,r({type:i.UUID,defaultValue:i.UUIDV4,allowNull:!1}),e(`design:type`,String)],l.prototype,`id`,void 0),t([r({type:i.UUID,allowNull:!1}),e(`design:type`,String)],l.prototype,`fleetId`,void 0),t([r({type:i.UUID,allowNull:!0}),e(`design:type`,String)],l.prototype,`businessModelId`,void 0),t([r({type:i.UUID,allowNull:!0}),e(`design:type`,String)],l.prototype,`demandSourceId`,void 0),t([r({type:i.BOOLEAN}),e(`design:type`,Boolean)],l.prototype,`coolAttribute`,void 0),t([a(()=>n),e(`design:type`,Array)],l.prototype,`associatedModels`,void 0),t([r({type:i.VIRTUAL}),e(`design:type`,Object)],l.prototype,`customFields`,void 0),l=t([c({schema:`custom-fields`,tableName:`test_models`,createdAt:!1,updatedAt:!1})],l);var u=l;export{u as default};
2
+ //# sourceMappingURL=TestModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TestModel.js","names":["TestModel","AssociatedTestModel"],"sources":["../../../src/models/tests/TestModel.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\nimport {\n Table,\n Column,\n Model,\n PrimaryKey,\n DataType,\n HasMany,\n} from 'sequelize-typescript';\nimport AssociatedTestModel from './AssociatedTestModel';\n\n@Table({\n schema: 'custom-fields', tableName: 'test_models', createdAt: false, updatedAt: false,\n})\nclass TestModel extends Model {\n @PrimaryKey\n @Column({\n type: DataType.UUID,\n defaultValue: DataType.UUIDV4,\n allowNull: false,\n })\n declare id: string;\n\n @Column({\n type: DataType.UUID,\n allowNull: false,\n })\n fleetId: string;\n\n @Column({\n type: DataType.UUID,\n allowNull: true,\n })\n businessModelId: string;\n\n @Column({\n type: DataType.UUID,\n allowNull: true,\n })\n demandSourceId: string;\n\n @Column({\n type: DataType.BOOLEAN,\n })\n coolAttribute?: boolean;\n\n @HasMany(() => AssociatedTestModel)\n associatedModels: AssociatedTestModel[];\n\n @Column({\n type: DataType.VIRTUAL,\n })\n customFields?: any;\n}\n\nexport default TestModel;\n"],"mappings":"iWAWA,IAAA,EAAA,cAGwB,CAAM,MAC3B,EACA,EAAO,CACN,KAAM,EAAS,KACf,aAAc,EAAS,OACvB,UAAW,GACZ,CAAC,sDAGD,EAAO,CACN,KAAM,EAAS,KACf,UAAW,GACZ,CAAC,CAAA,EAAA,cAAA,OAAA,CAAA,CAAA,EAAA,UAAA,UAAA,IAAA,GAAA,IAGD,EAAO,CACN,KAAM,EAAS,KACf,UAAW,GACZ,CAAC,CAAA,EAAA,cAAA,OAAA,CAAA,CAAA,EAAA,UAAA,kBAAA,IAAA,GAAA,IAGD,EAAO,CACN,KAAM,EAAS,KACf,UAAW,GACZ,CAAC,CAAA,EAAA,cAAA,OAAA,CAAA,CAAA,EAAA,UAAA,iBAAA,IAAA,GAAA,IAGD,EAAO,CACN,KAAM,EAAS,QAChB,CAAC,CAAA,EAAA,cAAA,QAAA,CAAA,CAAA,EAAA,UAAA,gBAAA,IAAA,GAAA,IAGD,MAAcC,EAAoB,CAAA,EAAA,cAAA,MAAA,CAAA,CAAA,EAAA,UAAA,mBAAA,IAAA,GAAA,IAGlC,EAAO,CACN,KAAM,EAAS,QAChB,CAAC,CAAA,EAAA,cAAA,OAAA,CAAA,CAAA,EAAA,UAAA,eAAA,IAAA,GAAA,MAxCH,EAAM,CACL,OAAQ,gBAAiB,UAAW,cAAe,UAAW,GAAO,UAAW,GACjF,CAAC,CAAA,CAAA,EAAA,CA0CF,IAAA,EAAe"}
@@ -0,0 +1,2 @@
1
+ const e=require(`../../../_virtual/rolldown_runtime.cjs`),t=require(`../../../_virtual/_@oxc-project_runtime@0.89.0/helpers/decorateMetadata.cjs`),n=require(`../../../_virtual/_@oxc-project_runtime@0.89.0/helpers/decorate.cjs`),r=require(`./ContextTestModel.cjs`);let i=require(`sequelize-typescript`);i=e.__toESM(i);var a;let o=class extends i.Model{};n.__decorate([i.PrimaryKey,(0,i.Column)({type:i.DataType.UUID,defaultValue:i.DataType.UUIDV4,allowNull:!1}),t.__decorateMetadata(`design:type`,String)],o.prototype,`id`,void 0),n.__decorate([(0,i.ForeignKey)(()=>r.default),(0,i.Column)({type:i.DataType.UUID}),t.__decorateMetadata(`design:type`,String)],o.prototype,`contextId`,void 0),n.__decorate([(0,i.Column)({type:i.DataType.BOOLEAN}),t.__decorateMetadata(`design:type`,Boolean)],o.prototype,`coolAttribute`,void 0),n.__decorate([(0,i.Column)({type:i.DataType.VIRTUAL}),t.__decorateMetadata(`design:type`,Object)],o.prototype,`customFields`,void 0),n.__decorate([(0,i.BelongsTo)(()=>r.default),t.__decorateMetadata(`design:type`,typeof(a=r.default!==void 0&&r.default)==`function`?a:Object)],o.prototype,`context`,void 0),o=n.__decorate([(0,i.Table)({createdAt:!1,updatedAt:!1})],o);var s=o;exports.default=s;
2
+ //# sourceMappingURL=ContextAwareTestModel.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContextAwareTestModel.cjs","names":["ContextAwareTestModel","Model","PrimaryKey","DataType","ContextTestModel"],"sources":["../../../../src/models/tests/contextAwareModels/ContextAwareTestModel.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\nimport {\n Table,\n Column,\n Model,\n PrimaryKey,\n DataType,\n HasMany,\n BelongsTo,\n ForeignKey,\n} from 'sequelize-typescript';\nimport AssociatedTestModel from '../AssociatedTestModel';\nimport ContextTestModel from './ContextTestModel';\n\n@Table({ createdAt: false, updatedAt: false })\nclass ContextAwareTestModel extends Model {\n @PrimaryKey\n @Column({\n type: DataType.UUID,\n defaultValue: DataType.UUIDV4,\n allowNull: false,\n })\n declare id: string;\n\n @ForeignKey(() => ContextTestModel)\n @Column({ type: DataType.UUID })\n contextId: string;\n\n @Column({\n type: DataType.BOOLEAN,\n })\n coolAttribute?: boolean;\n\n @Column({\n type: DataType.VIRTUAL,\n })\n customFields?: any;\n\n @BelongsTo(() => ContextTestModel)\n context: ContextTestModel;\n}\n\nexport default ContextAwareTestModel;\n"],"mappings":"mUAcA,IAAA,EAAA,cACoCC,EAAAA,KAAM,iBACvCC,EAAAA,wBACO,CACN,KAAMC,EAAAA,SAAS,KACf,aAAcA,EAAAA,SAAS,OACvB,UAAW,GACZ,CAAC,yGAGgBC,EAAAA,QAAiB,cAC3B,CAAE,KAAMD,EAAAA,SAAS,KAAM,CAAC,wGAGxB,CACN,KAAMA,EAAAA,SAAS,QAChB,CAAC,CAAA,EAAA,mBAAA,cAAA,QAAA,CAAA,CAAA,EAAA,UAAA,gBAAA,IAAA,GAAA,4BAGM,CACN,KAAMA,EAAAA,SAAS,QAChB,CAAC,CAAA,EAAA,mBAAA,cAAA,OAAA,CAAA,CAAA,EAAA,UAAA,eAAA,IAAA,GAAA,mCAGeC,EAAAA,QAAiB,CAAA,EAAA,mBAAA,cAAA,OAAA,EAAA,EAAA,UAAA,QAAA,EAAA,UAAA,WAAA,EAAA,OAAA,CAAA,CAAA,EAAA,UAAA,UAAA,IAAA,GAAA,6BAxB7B,CAAE,UAAW,GAAO,UAAW,GAAO,CAAC,CAAA,CAAA,EAAA,CA4B9C,IAAA,EAAe"}
@@ -1,53 +1,2 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- /* eslint-disable @typescript-eslint/no-unused-vars */
16
- const sequelize_typescript_1 = require("sequelize-typescript");
17
- const ContextTestModel_1 = __importDefault(require("./ContextTestModel"));
18
- let ContextAwareTestModel = class ContextAwareTestModel extends sequelize_typescript_1.Model {
19
- };
20
- __decorate([
21
- sequelize_typescript_1.PrimaryKey,
22
- (0, sequelize_typescript_1.Column)({
23
- type: sequelize_typescript_1.DataType.UUID,
24
- defaultValue: sequelize_typescript_1.DataType.UUIDV4,
25
- allowNull: false,
26
- }),
27
- __metadata("design:type", String)
28
- ], ContextAwareTestModel.prototype, "id", void 0);
29
- __decorate([
30
- (0, sequelize_typescript_1.ForeignKey)(() => ContextTestModel_1.default),
31
- (0, sequelize_typescript_1.Column)({ type: sequelize_typescript_1.DataType.UUID }),
32
- __metadata("design:type", String)
33
- ], ContextAwareTestModel.prototype, "contextId", void 0);
34
- __decorate([
35
- (0, sequelize_typescript_1.Column)({
36
- type: sequelize_typescript_1.DataType.BOOLEAN,
37
- }),
38
- __metadata("design:type", Boolean)
39
- ], ContextAwareTestModel.prototype, "coolAttribute", void 0);
40
- __decorate([
41
- (0, sequelize_typescript_1.Column)({
42
- type: sequelize_typescript_1.DataType.VIRTUAL,
43
- }),
44
- __metadata("design:type", Object)
45
- ], ContextAwareTestModel.prototype, "customFields", void 0);
46
- __decorate([
47
- (0, sequelize_typescript_1.BelongsTo)(() => ContextTestModel_1.default),
48
- __metadata("design:type", ContextTestModel_1.default)
49
- ], ContextAwareTestModel.prototype, "context", void 0);
50
- ContextAwareTestModel = __decorate([
51
- (0, sequelize_typescript_1.Table)({ createdAt: false, updatedAt: false })
52
- ], ContextAwareTestModel);
53
- exports.default = ContextAwareTestModel;
1
+ import{__decorateMetadata as e}from"../../../_virtual/_@oxc-project_runtime@0.89.0/helpers/decorateMetadata.js";import{__decorate as t}from"../../../_virtual/_@oxc-project_runtime@0.89.0/helpers/decorate.js";import n from"./ContextTestModel.js";import{BelongsTo as r,Column as i,DataType as a,ForeignKey as o,Model as s,PrimaryKey as c,Table as l}from"sequelize-typescript";var u;let d=class extends s{};t([c,i({type:a.UUID,defaultValue:a.UUIDV4,allowNull:!1}),e(`design:type`,String)],d.prototype,`id`,void 0),t([o(()=>n),i({type:a.UUID}),e(`design:type`,String)],d.prototype,`contextId`,void 0),t([i({type:a.BOOLEAN}),e(`design:type`,Boolean)],d.prototype,`coolAttribute`,void 0),t([i({type:a.VIRTUAL}),e(`design:type`,Object)],d.prototype,`customFields`,void 0),t([r(()=>n),e(`design:type`,typeof(u=n!==void 0&&n)==`function`?u:Object)],d.prototype,`context`,void 0),d=t([l({createdAt:!1,updatedAt:!1})],d);var f=d;export{f as default};
2
+ //# sourceMappingURL=ContextAwareTestModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContextAwareTestModel.js","names":["ContextAwareTestModel","ContextTestModel"],"sources":["../../../../src/models/tests/contextAwareModels/ContextAwareTestModel.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\nimport {\n Table,\n Column,\n Model,\n PrimaryKey,\n DataType,\n HasMany,\n BelongsTo,\n ForeignKey,\n} from 'sequelize-typescript';\nimport AssociatedTestModel from '../AssociatedTestModel';\nimport ContextTestModel from './ContextTestModel';\n\n@Table({ createdAt: false, updatedAt: false })\nclass ContextAwareTestModel extends Model {\n @PrimaryKey\n @Column({\n type: DataType.UUID,\n defaultValue: DataType.UUIDV4,\n allowNull: false,\n })\n declare id: string;\n\n @ForeignKey(() => ContextTestModel)\n @Column({ type: DataType.UUID })\n contextId: string;\n\n @Column({\n type: DataType.BOOLEAN,\n })\n coolAttribute?: boolean;\n\n @Column({\n type: DataType.VIRTUAL,\n })\n customFields?: any;\n\n @BelongsTo(() => ContextTestModel)\n context: ContextTestModel;\n}\n\nexport default ContextAwareTestModel;\n"],"mappings":"4XAcA,IAAA,EAAA,cACoC,CAAM,MACvC,EACA,EAAO,CACN,KAAM,EAAS,KACf,aAAc,EAAS,OACvB,UAAW,GACZ,CAAC,sDAGD,MAAiBC,EAAiB,CAClC,EAAO,CAAE,KAAM,EAAS,KAAM,CAAC,6DAG/B,EAAO,CACN,KAAM,EAAS,QAChB,CAAC,CAAA,EAAA,cAAA,QAAA,CAAA,CAAA,EAAA,UAAA,gBAAA,IAAA,GAAA,IAGD,EAAO,CACN,KAAM,EAAS,QAChB,CAAC,CAAA,EAAA,cAAA,OAAA,CAAA,CAAA,EAAA,UAAA,eAAA,IAAA,GAAA,IAGD,MAAgBA,EAAiB,CAAA,EAAA,cAAA,OAAA,EAAA,IAAA,QAAA,IAAA,WAAA,EAAA,OAAA,CAAA,CAAA,EAAA,UAAA,UAAA,IAAA,GAAA,MAxBnC,EAAM,CAAE,UAAW,GAAO,UAAW,GAAO,CAAC,CAAA,CAAA,EAAA,CA4B9C,IAAA,EAAe"}
@@ -0,0 +1,2 @@
1
+ const e=require(`../../../_virtual/rolldown_runtime.cjs`),t=require(`../../../_virtual/_@oxc-project_runtime@0.89.0/helpers/decorateMetadata.cjs`),n=require(`../../../_virtual/_@oxc-project_runtime@0.89.0/helpers/decorate.cjs`);let r=require(`sequelize-typescript`);r=e.__toESM(r);var i=function(e){return e.BUSINESS_MODEL=`businessModel`,e.CONTEXT=`context`,e.DEMAND_SOURCE=`demandSource`,e.FLEET=`fleet`,e}(i||{});let a=class extends r.Model{};n.__decorate([r.PrimaryKey,(0,r.Column)({defaultValue:r.DataType.UUIDV4,type:r.DataType.UUID}),t.__decorateMetadata(`design:type`,String)],a.prototype,`id`,void 0),n.__decorate([(0,r.Column)({type:r.DataType.UUID}),t.__decorateMetadata(`design:type`,String)],a.prototype,`entityId`,void 0),n.__decorate([(0,r.Column)({type:r.DataType.ENUM(...Object.values(i))}),t.__decorateMetadata(`design:type`,String)],a.prototype,`entityType`,void 0),a=n.__decorate([(0,r.Table)({createdAt:!1,updatedAt:!1})],a);var o=a;exports.default=o;
2
+ //# sourceMappingURL=ContextTestModel.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContextTestModel.cjs","names":["ContextTestModel","Model","PrimaryKey","DataType"],"sources":["../../../../src/models/tests/contextAwareModels/ContextTestModel.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\nimport {\n Table,\n Column,\n Model,\n PrimaryKey,\n DataType,\n} from 'sequelize-typescript';\n\n// eslint-disable-next-line no-shadow\n enum EEntityTypes {\n BUSINESS_MODEL = 'businessModel',\n CONTEXT = 'context',\n DEMAND_SOURCE = 'demandSource',\n FLEET = 'fleet',\n}\n\n@Table({ createdAt: false, updatedAt: false })\nclass ContextTestModel extends Model {\n @PrimaryKey\n @Column({\n defaultValue: DataType.UUIDV4,\n type: DataType.UUID,\n })\n declare id: string;\n\n @Column({\n type: DataType.UUID,\n })\n entityId: string;\n\n @Column({\n type: DataType.ENUM(...Object.values(EEntityTypes)),\n })\n entityType: EEntityTypes;\n}\n\nexport default ContextTestModel;\n"],"mappings":"yRAUC,IAAK,EAAA,SAAA,EAAL,OACC,GAAA,eAAA,gBACA,EAAA,QAAA,UACA,EAAA,cAAA,eACA,EAAA,MAAA,WAJI,GAAA,EAAA,CAAA,CAON,IAAA,EAAA,cAC+BC,EAAAA,KAAM,iBAClCC,EAAAA,wBACO,CACN,aAAcC,EAAAA,SAAS,OACvB,KAAMA,EAAAA,SAAS,KAChB,CAAC,iGAGM,CACN,KAAMA,EAAAA,SAAS,KAChB,CAAC,CAAA,EAAA,mBAAA,cAAA,OAAA,CAAA,CAAA,EAAA,UAAA,WAAA,IAAA,GAAA,4BAGM,CACN,KAAMA,EAAAA,SAAS,KAAK,GAAG,OAAO,OAAO,EAAa,CAAC,CACpD,CAAC,CAAA,EAAA,mBAAA,cAAA,OAAA,CAAA,CAAA,EAAA,UAAA,aAAA,IAAA,GAAA,6BAhBG,CAAE,UAAW,GAAO,UAAW,GAAO,CAAC,CAAA,CAAA,EAAA,CAoB9C,IAAA,EAAe"}
@@ -1,47 +1,2 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- /* eslint-disable @typescript-eslint/no-unused-vars */
13
- const sequelize_typescript_1 = require("sequelize-typescript");
14
- // eslint-disable-next-line no-shadow
15
- var EEntityTypes;
16
- (function (EEntityTypes) {
17
- EEntityTypes["BUSINESS_MODEL"] = "businessModel";
18
- EEntityTypes["CONTEXT"] = "context";
19
- EEntityTypes["DEMAND_SOURCE"] = "demandSource";
20
- EEntityTypes["FLEET"] = "fleet";
21
- })(EEntityTypes || (EEntityTypes = {}));
22
- let ContextTestModel = class ContextTestModel extends sequelize_typescript_1.Model {
23
- };
24
- __decorate([
25
- sequelize_typescript_1.PrimaryKey,
26
- (0, sequelize_typescript_1.Column)({
27
- defaultValue: sequelize_typescript_1.DataType.UUIDV4,
28
- type: sequelize_typescript_1.DataType.UUID,
29
- }),
30
- __metadata("design:type", String)
31
- ], ContextTestModel.prototype, "id", void 0);
32
- __decorate([
33
- (0, sequelize_typescript_1.Column)({
34
- type: sequelize_typescript_1.DataType.UUID,
35
- }),
36
- __metadata("design:type", String)
37
- ], ContextTestModel.prototype, "entityId", void 0);
38
- __decorate([
39
- (0, sequelize_typescript_1.Column)({
40
- type: sequelize_typescript_1.DataType.ENUM(...Object.values(EEntityTypes)),
41
- }),
42
- __metadata("design:type", String)
43
- ], ContextTestModel.prototype, "entityType", void 0);
44
- ContextTestModel = __decorate([
45
- (0, sequelize_typescript_1.Table)({ createdAt: false, updatedAt: false })
46
- ], ContextTestModel);
47
- exports.default = ContextTestModel;
1
+ import{__decorateMetadata as e}from"../../../_virtual/_@oxc-project_runtime@0.89.0/helpers/decorateMetadata.js";import{__decorate as t}from"../../../_virtual/_@oxc-project_runtime@0.89.0/helpers/decorate.js";import{Column as n,DataType as r,Model as i,PrimaryKey as a,Table as o}from"sequelize-typescript";var s=function(e){return e.BUSINESS_MODEL=`businessModel`,e.CONTEXT=`context`,e.DEMAND_SOURCE=`demandSource`,e.FLEET=`fleet`,e}(s||{});let c=class extends i{};t([a,n({defaultValue:r.UUIDV4,type:r.UUID}),e(`design:type`,String)],c.prototype,`id`,void 0),t([n({type:r.UUID}),e(`design:type`,String)],c.prototype,`entityId`,void 0),t([n({type:r.ENUM(...Object.values(s))}),e(`design:type`,String)],c.prototype,`entityType`,void 0),c=t([o({createdAt:!1,updatedAt:!1})],c);var l=c;export{l as default};
2
+ //# sourceMappingURL=ContextTestModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContextTestModel.js","names":["ContextTestModel"],"sources":["../../../../src/models/tests/contextAwareModels/ContextTestModel.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\nimport {\n Table,\n Column,\n Model,\n PrimaryKey,\n DataType,\n} from 'sequelize-typescript';\n\n// eslint-disable-next-line no-shadow\n enum EEntityTypes {\n BUSINESS_MODEL = 'businessModel',\n CONTEXT = 'context',\n DEMAND_SOURCE = 'demandSource',\n FLEET = 'fleet',\n}\n\n@Table({ createdAt: false, updatedAt: false })\nclass ContextTestModel extends Model {\n @PrimaryKey\n @Column({\n defaultValue: DataType.UUIDV4,\n type: DataType.UUID,\n })\n declare id: string;\n\n @Column({\n type: DataType.UUID,\n })\n entityId: string;\n\n @Column({\n type: DataType.ENUM(...Object.values(EEntityTypes)),\n })\n entityType: EEntityTypes;\n}\n\nexport default ContextTestModel;\n"],"mappings":"kTAUC,IAAK,EAAA,SAAA,EAAL,OACC,GAAA,eAAA,gBACA,EAAA,QAAA,UACA,EAAA,cAAA,eACA,EAAA,MAAA,WAJI,GAAA,EAAA,CAAA,CAON,IAAA,EAAA,cAC+B,CAAM,MAClC,EACA,EAAO,CACN,aAAc,EAAS,OACvB,KAAM,EAAS,KAChB,CAAC,sDAGD,EAAO,CACN,KAAM,EAAS,KAChB,CAAC,CAAA,EAAA,cAAA,OAAA,CAAA,CAAA,EAAA,UAAA,WAAA,IAAA,GAAA,IAGD,EAAO,CACN,KAAM,EAAS,KAAK,GAAG,OAAO,OAAO,EAAa,CAAC,CACpD,CAAC,CAAA,EAAA,cAAA,OAAA,CAAA,CAAA,EAAA,UAAA,aAAA,IAAA,GAAA,MAhBH,EAAM,CAAE,UAAW,GAAO,UAAW,GAAO,CAAC,CAAA,CAAA,EAAA,CAoB9C,IAAA,EAAe"}
@@ -0,0 +1,2 @@
1
+ const e=require(`../_virtual/rolldown_runtime.cjs`),t=require(`../errors/index.cjs`),n=require(`../models/CustomFieldDefinition.cjs`);require(`../models/index.cjs`);let r=require(`sequelize`);r=e.__toESM(r);const i=e=>n.default.create(e),a=(e,t={withDisabled:!1})=>(t.withDisabled?n.default.unscoped():n.default).scope(`userScope`).findAll({where:e,transaction:t.transaction,raw:!0,include:t.include}),o=(e,t={withDisabled:!1})=>a({id:{[r.Op.in]:e}},t),s=(e,t={withDisabled:!1})=>{let{withDisabled:r}=t;return r?n.default.unscoped().scope(`userScope`).findByPk(e):n.default.scope(`userScope`).findByPk(e)},c=async(e,t,i={})=>{let{include:a,useEntityIdFromInclude:o}=i.modelOptions,s={modelType:e,...!o&&{entityId:{[r.Op.in]:t}}};return n.default.findAll({where:s,transaction:i.transaction,include:a?.(t),raw:!0})},l=e=>n.default.scope(`userScope`).findOne({where:e}),u=async(e,t)=>(await n.default.scope(`userScope`).update(t,{where:{id:e},returning:!0,individualHooks:!0}))[1][0],d=async(e,{findAll:n,modelOptions:i={},withDisabled:o=!1,...s}={withDisabled:!1,modelOptions:{}})=>{let{modelType:c}=e[0]?.dataValues??{},l=new Set,u=[],d=new Set;e.forEach(e=>{let{dataValues:{modelId:t,entityId:n,customFields:r}}=e;u.push(t),d.add(n),Object.keys(r??{}).forEach(e=>{l.add(e)})});let f={modelType:c,entityId:{[r.Op.in]:Array.from(d)},name:{[r.Op.in]:Array.from(l)}},p=await(n??a)(f,{withDisabled:o,modelOptions:i,...s}),m=p.filter(e=>l.has(e.name)),h=Object.fromEntries(m.map(e=>[e.name,e]));if(!p?.length||m.length!==l.size){let e=Array.from(l).filter(e=>!h[e]);throw new t.MissingDefinitionError(e)}return h};exports.create=i,exports.findAll=a,exports.findByEntityIds=c,exports.findById=s,exports.findByIds=o,exports.findByWhere=l,exports.getCustomFieldDefinitionsDictionary=d,exports.update=u;
2
+ //# sourceMappingURL=definition.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definition.cjs","names":["CustomFieldDefinition","Op","where: WhereOptions","MissingDefinitionError"],"sources":["../../src/repository/definition.ts"],"sourcesContent":["import {\n Op,\n type Includeable, type Transaction, type FindOptions, type WhereOptions, type Transactionable,\n} from 'sequelize';\nimport { CustomFieldDefinition, type CustomFieldEntries } from '../models';\nimport type { CreateCustomFieldDefinition, UpdateCustomFieldDefinition } from '../types/definition';\nimport type { ModelOptions } from '../types';\nimport { MissingDefinitionError } from '../errors';\n\nexport const create = (data: CreateCustomFieldDefinition): Promise<CustomFieldDefinition> =>\n CustomFieldDefinition.create(data);\n\ninterface SadotFindOptions {\n withDisabled?: boolean;\n transaction?: Transaction;\n include?: Includeable | Includeable[];\n}\n\ntype SadotGetDefinitionsByEntityIdsOptions = FindOptions & { modelOptions?: ModelOptions; findAll?: typeof findAll; } & Pick<SadotFindOptions, 'withDisabled'>;\n\nexport const findAll = (\n where: WhereOptions,\n options: SadotFindOptions = { withDisabled: false },\n): Promise<CustomFieldDefinition[]> => {\n const queryModel = options.withDisabled\n ? CustomFieldDefinition.unscoped()\n : CustomFieldDefinition;\n\n return queryModel.scope('userScope').findAll({\n where,\n transaction: options.transaction,\n raw: true,\n include: options.include,\n });\n};\n\nexport const findByIds = (\n ids: string[],\n options: SadotFindOptions = { withDisabled: false },\n): Promise<CustomFieldDefinition[]> => findAll({ id: { [Op.in]: ids } }, options);\n\nexport const findById = (\n id: string,\n options: Pick<SadotFindOptions, 'withDisabled'> = { withDisabled: false },\n): Promise<CustomFieldDefinition | null> => {\n const { withDisabled } = options;\n if (withDisabled) {\n return CustomFieldDefinition.unscoped().scope('userScope').findByPk(id);\n }\n return CustomFieldDefinition.scope('userScope').findByPk(id);\n};\n\nexport const findByEntityIds = async (\n modelType: string,\n entityIds: string[],\n options: FindOptions & { modelOptions?: ModelOptions } = {},\n): Promise<CustomFieldDefinition[]> => {\n const { include, useEntityIdFromInclude } = options.modelOptions;\n const where: WhereOptions = {\n modelType,\n ...(!useEntityIdFromInclude && { entityId: { [Op.in]: entityIds } }),\n };\n\n return CustomFieldDefinition.findAll({\n where,\n transaction: options.transaction,\n include: include?.(entityIds),\n raw: true,\n });\n};\n\nexport const findByWhere = (where: WhereOptions<CustomFieldDefinition>): Promise<CustomFieldDefinition | null> =>\n CustomFieldDefinition.scope('userScope').findOne({\n where,\n });\n\nexport const findDefinitionsByModels = async (\n modelTypes: string[],\n options?: Transactionable,\n): Promise<CustomFieldDefinition[]> => {\n const query: WhereOptions<CreateCustomFieldDefinition> = { modelType: { [Op.in]: modelTypes } };\n return CustomFieldDefinition.findAll({\n where: query,\n transaction: options?.transaction,\n });\n};\n\nexport const update = async (\n id: string,\n data: UpdateCustomFieldDefinition,\n): Promise<CustomFieldDefinition> => {\n const updatedDefinition = (await CustomFieldDefinition.scope('userScope').update(data, {\n where: { id },\n returning: true,\n individualHooks: true,\n }))[1][0];\n return updatedDefinition;\n};\n\nexport const disable = (id: string): Promise<[affectedCount: number]> =>\n CustomFieldDefinition.update(\n { disabled: true },\n { where: { id } },\n );\n\nexport const destroy = (id: string): Promise<number> =>\n CustomFieldDefinition.destroy({ where: { id } });\n\n/**\n * Return the names of the required fields for a given model\n */\nexport const getRequiredFields = async (\n modelType: string,\n modelId: string | string[],\n entityId: string | string[],\n modelOptions: ModelOptions = {},\n): Promise<string[]> => {\n const entityIds = Array.isArray(entityId) ? entityId : [entityId];\n const { include, useEntityIdFromInclude } = modelOptions;\n\n const where: WhereOptions = {\n modelType,\n required: true,\n ...(!useEntityIdFromInclude && { entityId: { [Op.in]: entityIds } }),\n };\n\n const requiredFields = await CustomFieldDefinition.findAll({\n where,\n include: include?.(entityIds),\n logging: true,\n });\n const requiredFieldsNames = requiredFields.map((definition) => definition.name);\n return [...new Set(requiredFieldsNames)];\n};\n\n/**\n * @returns A promise resolving with a dictionary of custom field definitions by name.\n * @throws A {@link MissingDefinitionError} if any of the custom fields doesn't have a definition.\n */\nexport const getCustomFieldDefinitionsDictionary = async (\n instances: CustomFieldEntries[],\n {\n findAll: _findAll,\n modelOptions = {},\n withDisabled = false,\n ...options\n }: SadotGetDefinitionsByEntityIdsOptions = { withDisabled: false, modelOptions: {} },\n): Promise<{ [definitionName: string]: CustomFieldDefinition }> => {\n const { modelType } = instances[0]?.dataValues ?? {};\n const customFields = new Set<string>();\n const modelIds = [];\n const entityIds = new Set<string>();\n instances.forEach((instance) => {\n const { dataValues: { modelId, entityId, customFields: instanceCustomFields } } = instance;\n modelIds.push(modelId);\n entityIds.add(entityId);\n\n Object.keys(instanceCustomFields ?? {}).forEach((fieldName) => {\n customFields.add(fieldName);\n });\n });\n\n const where: WhereOptions = {\n modelType,\n entityId: { [Op.in]: Array.from(entityIds) },\n name: { [Op.in]: Array.from(customFields) },\n };\n\n const findAllToUse = _findAll ?? findAll;\n\n // @ts-expect-error findAll doesn't expect modelOptions at all.\n const definitions = await findAllToUse(where, { withDisabled, modelOptions, ...options });\n\n const matchedDefinitions = definitions.filter((def) => customFields.has(def.name));\n const matchedDefinitionsByName = Object.fromEntries(matchedDefinitions.map((definition) => [definition.name, definition]));\n\n if (!definitions?.length || matchedDefinitions.length !== customFields.size) {\n const unmatchedCustomFields = Array.from(customFields).filter((customField) => !matchedDefinitionsByName[customField]);\n throw new MissingDefinitionError(unmatchedCustomFields);\n }\n\n return matchedDefinitionsByName;\n};\n"],"mappings":"+MASA,MAAa,EAAU,GACrBA,EAAAA,QAAsB,OAAO,EAAK,CAUvB,GACX,EACA,EAA4B,CAAE,aAAc,GAAO,IAEhC,EAAQ,aACvBA,EAAAA,QAAsB,UAAU,CAChCA,EAAAA,SAEc,MAAM,YAAY,CAAC,QAAQ,CAC3C,QACA,YAAa,EAAQ,YACrB,IAAK,GACL,QAAS,EAAQ,QAClB,CAAC,CAGS,GACX,EACA,EAA4B,CAAE,aAAc,GAAO,GACd,EAAQ,CAAE,GAAI,EAAGC,EAAAA,GAAG,IAAK,EAAK,CAAE,CAAE,EAAQ,CAEpE,GACX,EACA,EAAkD,CAAE,aAAc,GAAO,GAC/B,CAC1C,GAAM,CAAE,gBAAiB,EAIzB,OAHI,EACKD,EAAAA,QAAsB,UAAU,CAAC,MAAM,YAAY,CAAC,SAAS,EAAG,CAElEA,EAAAA,QAAsB,MAAM,YAAY,CAAC,SAAS,EAAG,EAGjD,EAAkB,MAC7B,EACA,EACA,EAAyD,EAAE,GACtB,CACrC,GAAM,CAAE,UAAS,0BAA2B,EAAQ,aAC9CE,EAAsB,CAC1B,YACA,GAAI,CAAC,GAA0B,CAAE,SAAU,EAAGD,EAAAA,GAAG,IAAK,EAAW,CAAE,CACpE,CAED,OAAOD,EAAAA,QAAsB,QAAQ,CACnC,QACA,YAAa,EAAQ,YACrB,QAAS,IAAU,EAAU,CAC7B,IAAK,GACN,CAAC,EAGS,EAAe,GAC1BA,EAAAA,QAAsB,MAAM,YAAY,CAAC,QAAQ,CAC/C,QACD,CAAC,CAaS,EAAS,MACpB,EACA,KAE2B,MAAMA,EAAAA,QAAsB,MAAM,YAAY,CAAC,OAAO,EAAM,CACrF,MAAO,CAAE,KAAI,CACb,UAAW,GACX,gBAAiB,GAClB,CAAC,EAAE,GAAG,GA4CI,EAAsC,MACjD,EACA,CACE,QAAS,EACT,eAAe,EAAE,CACjB,eAAe,GACf,GAAG,GACsC,CAAE,aAAc,GAAO,aAAc,EAAE,CAAE,GACnB,CACjE,GAAM,CAAE,aAAc,EAAU,IAAI,YAAc,EAAE,CAC9C,EAAe,IAAI,IACnB,EAAW,EAAE,CACb,EAAY,IAAI,IACtB,EAAU,QAAS,GAAa,CAC9B,GAAM,CAAE,WAAY,CAAE,UAAS,WAAU,aAAc,IAA2B,EAClF,EAAS,KAAK,EAAQ,CACtB,EAAU,IAAI,EAAS,CAEvB,OAAO,KAAK,GAAwB,EAAE,CAAC,CAAC,QAAS,GAAc,CAC7D,EAAa,IAAI,EAAU,EAC3B,EACF,CAEF,IAAME,EAAsB,CAC1B,YACA,SAAU,EAAGD,EAAAA,GAAG,IAAK,MAAM,KAAK,EAAU,CAAE,CAC5C,KAAM,EAAGA,EAAAA,GAAG,IAAK,MAAM,KAAK,EAAa,CAAE,CAC5C,CAKK,EAAc,MAHC,GAAY,GAGM,EAAO,CAAE,eAAc,eAAc,GAAG,EAAS,CAAC,CAEnF,EAAqB,EAAY,OAAQ,GAAQ,EAAa,IAAI,EAAI,KAAK,CAAC,CAC5E,EAA2B,OAAO,YAAY,EAAmB,IAAK,GAAe,CAAC,EAAW,KAAM,EAAW,CAAC,CAAC,CAE1H,GAAI,CAAC,GAAa,QAAU,EAAmB,SAAW,EAAa,KAAM,CAC3E,IAAM,EAAwB,MAAM,KAAK,EAAa,CAAC,OAAQ,GAAgB,CAAC,EAAyB,GAAa,CACtH,MAAM,IAAIE,EAAAA,uBAAuB,EAAsB,CAGzD,OAAO"}
@@ -1,121 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getCustomFieldDefinitionsDictionary = exports.getRequiredFields = exports.destroy = exports.disable = exports.update = exports.findDefinitionsByModels = exports.findByWhere = exports.findByEntityIds = exports.findById = exports.findByIds = exports.findAll = exports.create = void 0;
4
- const sequelize_1 = require("sequelize");
5
- const models_1 = require("../models");
6
- const errors_1 = require("../errors");
7
- const create = (data) => models_1.CustomFieldDefinition.create(data);
8
- exports.create = create;
9
- const findAll = (where, options = { withDisabled: false }) => {
10
- const queryModel = options.withDisabled
11
- ? models_1.CustomFieldDefinition.unscoped()
12
- : models_1.CustomFieldDefinition;
13
- return queryModel.scope('userScope').findAll({
14
- where,
15
- transaction: options.transaction,
16
- raw: true,
17
- include: options.include,
18
- });
19
- };
20
- exports.findAll = findAll;
21
- const findByIds = (ids, options = { withDisabled: false }) => (0, exports.findAll)({ id: { [sequelize_1.Op.in]: ids } }, options);
22
- exports.findByIds = findByIds;
23
- const findById = (id, options = { withDisabled: false }) => {
24
- const { withDisabled } = options;
25
- if (withDisabled) {
26
- return models_1.CustomFieldDefinition.unscoped().scope('userScope').findByPk(id);
27
- }
28
- return models_1.CustomFieldDefinition.scope('userScope').findByPk(id);
29
- };
30
- exports.findById = findById;
31
- const findByEntityIds = async (modelType, entityIds, options = {}) => {
32
- const { include, useEntityIdFromInclude } = options.modelOptions;
33
- const where = {
34
- modelType,
35
- ...(!useEntityIdFromInclude && { entityId: { [sequelize_1.Op.in]: entityIds } }),
36
- };
37
- return models_1.CustomFieldDefinition.findAll({
38
- where,
39
- transaction: options.transaction,
40
- include: include?.(entityIds),
41
- raw: true,
42
- });
43
- };
44
- exports.findByEntityIds = findByEntityIds;
45
- const findByWhere = (where) => models_1.CustomFieldDefinition.scope('userScope').findOne({
46
- where,
47
- });
48
- exports.findByWhere = findByWhere;
49
- const findDefinitionsByModels = async (modelTypes, options) => {
50
- const query = { modelType: { [sequelize_1.Op.in]: modelTypes } };
51
- return models_1.CustomFieldDefinition.findAll({
52
- where: query,
53
- transaction: options?.transaction,
54
- });
55
- };
56
- exports.findDefinitionsByModels = findDefinitionsByModels;
57
- const update = async (id, data) => {
58
- const updatedDefinition = (await models_1.CustomFieldDefinition.scope('userScope').update(data, {
59
- where: { id },
60
- returning: true,
61
- individualHooks: true,
62
- }))[1][0];
63
- return updatedDefinition;
64
- };
65
- exports.update = update;
66
- const disable = (id) => models_1.CustomFieldDefinition.update({ disabled: true }, { where: { id } });
67
- exports.disable = disable;
68
- const destroy = (id) => models_1.CustomFieldDefinition.destroy({ where: { id } });
69
- exports.destroy = destroy;
70
- /**
71
- * Return the names of the required fields for a given model
72
- */
73
- const getRequiredFields = async (modelType, modelId, entityId, modelOptions = {}) => {
74
- const entityIds = Array.isArray(entityId) ? entityId : [entityId];
75
- const { include, useEntityIdFromInclude } = modelOptions;
76
- const where = {
77
- modelType,
78
- required: true,
79
- ...(!useEntityIdFromInclude && { entityId: { [sequelize_1.Op.in]: entityIds } }),
80
- };
81
- const requiredFields = await models_1.CustomFieldDefinition.findAll({
82
- where,
83
- include: include?.(entityIds),
84
- logging: true,
85
- });
86
- const requiredFieldsNames = requiredFields.map((definition) => definition.name);
87
- return [...new Set(requiredFieldsNames)];
88
- };
89
- exports.getRequiredFields = getRequiredFields;
90
- /**
91
- * @returns A promise resolving with a dictionary of custom field definitions by name.
92
- * @throws A {@link MissingDefinitionError} if any of the custom fields doesn't have a definition.
93
- */
94
- const getCustomFieldDefinitionsDictionary = async (instances, options = { withDisabled: false, modelOptions: {} }) => {
95
- const { modelType } = instances[0]?.dataValues ?? {};
96
- const customFields = new Set();
97
- const modelIds = [];
98
- const entityIds = new Set();
99
- instances.forEach((instance) => {
100
- const { dataValues: { modelId, entityId, customFields: instanceCustomFields } } = instance;
101
- modelIds.push(modelId);
102
- entityIds.add(entityId);
103
- Object.keys(instanceCustomFields ?? {}).forEach((fieldName) => {
104
- customFields.add(fieldName);
105
- });
106
- });
107
- const where = {
108
- modelType,
109
- entityId: { [sequelize_1.Op.in]: Array.from(entityIds) },
110
- name: { [sequelize_1.Op.in]: Array.from(customFields) },
111
- };
112
- const definitions = await (0, exports.findAll)(where, { ...options });
113
- const matchedDefinitions = definitions.filter((def) => customFields.has(def.name));
114
- const matchedDefinitionsByName = Object.fromEntries(matchedDefinitions.map((definition) => [definition.name, definition]));
115
- if (!definitions?.length || matchedDefinitions.length !== customFields.size) {
116
- const unmatchedCustomFields = Array.from(customFields).filter((customField) => !matchedDefinitionsByName[customField]);
117
- throw new errors_1.MissingDefinitionError(unmatchedCustomFields);
118
- }
119
- return matchedDefinitionsByName;
120
- };
121
- exports.getCustomFieldDefinitionsDictionary = getCustomFieldDefinitionsDictionary;
1
+ import{MissingDefinitionError as e}from"../errors/index.js";import t from"../models/CustomFieldDefinition.js";import"../models/index.js";import{Op as n}from"sequelize";const r=e=>t.create(e),i=(e,n={withDisabled:!1})=>(n.withDisabled?t.unscoped():t).scope(`userScope`).findAll({where:e,transaction:n.transaction,raw:!0,include:n.include}),a=(e,t={withDisabled:!1})=>i({id:{[n.in]:e}},t),o=(e,n={withDisabled:!1})=>{let{withDisabled:r}=n;return r?t.unscoped().scope(`userScope`).findByPk(e):t.scope(`userScope`).findByPk(e)},s=async(e,r,i={})=>{let{include:a,useEntityIdFromInclude:o}=i.modelOptions,s={modelType:e,...!o&&{entityId:{[n.in]:r}}};return t.findAll({where:s,transaction:i.transaction,include:a?.(r),raw:!0})},c=e=>t.scope(`userScope`).findOne({where:e}),l=async(e,n)=>(await t.scope(`userScope`).update(n,{where:{id:e},returning:!0,individualHooks:!0}))[1][0],u=async(t,{findAll:r,modelOptions:a={},withDisabled:o=!1,...s}={withDisabled:!1,modelOptions:{}})=>{let{modelType:c}=t[0]?.dataValues??{},l=new Set,u=[],d=new Set;t.forEach(e=>{let{dataValues:{modelId:t,entityId:n,customFields:r}}=e;u.push(t),d.add(n),Object.keys(r??{}).forEach(e=>{l.add(e)})});let f={modelType:c,entityId:{[n.in]:Array.from(d)},name:{[n.in]:Array.from(l)}},p=await(r??i)(f,{withDisabled:o,modelOptions:a,...s}),m=p.filter(e=>l.has(e.name)),h=Object.fromEntries(m.map(e=>[e.name,e]));if(!p?.length||m.length!==l.size){let t=Array.from(l).filter(e=>!h[e]);throw new e(t)}return h};export{r as create,i as findAll,s as findByEntityIds,o as findById,a as findByIds,c as findByWhere,u as getCustomFieldDefinitionsDictionary,l as update};
2
+ //# sourceMappingURL=definition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definition.js","names":["CustomFieldDefinition","where: WhereOptions"],"sources":["../../src/repository/definition.ts"],"sourcesContent":["import {\n Op,\n type Includeable, type Transaction, type FindOptions, type WhereOptions, type Transactionable,\n} from 'sequelize';\nimport { CustomFieldDefinition, type CustomFieldEntries } from '../models';\nimport type { CreateCustomFieldDefinition, UpdateCustomFieldDefinition } from '../types/definition';\nimport type { ModelOptions } from '../types';\nimport { MissingDefinitionError } from '../errors';\n\nexport const create = (data: CreateCustomFieldDefinition): Promise<CustomFieldDefinition> =>\n CustomFieldDefinition.create(data);\n\ninterface SadotFindOptions {\n withDisabled?: boolean;\n transaction?: Transaction;\n include?: Includeable | Includeable[];\n}\n\ntype SadotGetDefinitionsByEntityIdsOptions = FindOptions & { modelOptions?: ModelOptions; findAll?: typeof findAll; } & Pick<SadotFindOptions, 'withDisabled'>;\n\nexport const findAll = (\n where: WhereOptions,\n options: SadotFindOptions = { withDisabled: false },\n): Promise<CustomFieldDefinition[]> => {\n const queryModel = options.withDisabled\n ? CustomFieldDefinition.unscoped()\n : CustomFieldDefinition;\n\n return queryModel.scope('userScope').findAll({\n where,\n transaction: options.transaction,\n raw: true,\n include: options.include,\n });\n};\n\nexport const findByIds = (\n ids: string[],\n options: SadotFindOptions = { withDisabled: false },\n): Promise<CustomFieldDefinition[]> => findAll({ id: { [Op.in]: ids } }, options);\n\nexport const findById = (\n id: string,\n options: Pick<SadotFindOptions, 'withDisabled'> = { withDisabled: false },\n): Promise<CustomFieldDefinition | null> => {\n const { withDisabled } = options;\n if (withDisabled) {\n return CustomFieldDefinition.unscoped().scope('userScope').findByPk(id);\n }\n return CustomFieldDefinition.scope('userScope').findByPk(id);\n};\n\nexport const findByEntityIds = async (\n modelType: string,\n entityIds: string[],\n options: FindOptions & { modelOptions?: ModelOptions } = {},\n): Promise<CustomFieldDefinition[]> => {\n const { include, useEntityIdFromInclude } = options.modelOptions;\n const where: WhereOptions = {\n modelType,\n ...(!useEntityIdFromInclude && { entityId: { [Op.in]: entityIds } }),\n };\n\n return CustomFieldDefinition.findAll({\n where,\n transaction: options.transaction,\n include: include?.(entityIds),\n raw: true,\n });\n};\n\nexport const findByWhere = (where: WhereOptions<CustomFieldDefinition>): Promise<CustomFieldDefinition | null> =>\n CustomFieldDefinition.scope('userScope').findOne({\n where,\n });\n\nexport const findDefinitionsByModels = async (\n modelTypes: string[],\n options?: Transactionable,\n): Promise<CustomFieldDefinition[]> => {\n const query: WhereOptions<CreateCustomFieldDefinition> = { modelType: { [Op.in]: modelTypes } };\n return CustomFieldDefinition.findAll({\n where: query,\n transaction: options?.transaction,\n });\n};\n\nexport const update = async (\n id: string,\n data: UpdateCustomFieldDefinition,\n): Promise<CustomFieldDefinition> => {\n const updatedDefinition = (await CustomFieldDefinition.scope('userScope').update(data, {\n where: { id },\n returning: true,\n individualHooks: true,\n }))[1][0];\n return updatedDefinition;\n};\n\nexport const disable = (id: string): Promise<[affectedCount: number]> =>\n CustomFieldDefinition.update(\n { disabled: true },\n { where: { id } },\n );\n\nexport const destroy = (id: string): Promise<number> =>\n CustomFieldDefinition.destroy({ where: { id } });\n\n/**\n * Return the names of the required fields for a given model\n */\nexport const getRequiredFields = async (\n modelType: string,\n modelId: string | string[],\n entityId: string | string[],\n modelOptions: ModelOptions = {},\n): Promise<string[]> => {\n const entityIds = Array.isArray(entityId) ? entityId : [entityId];\n const { include, useEntityIdFromInclude } = modelOptions;\n\n const where: WhereOptions = {\n modelType,\n required: true,\n ...(!useEntityIdFromInclude && { entityId: { [Op.in]: entityIds } }),\n };\n\n const requiredFields = await CustomFieldDefinition.findAll({\n where,\n include: include?.(entityIds),\n logging: true,\n });\n const requiredFieldsNames = requiredFields.map((definition) => definition.name);\n return [...new Set(requiredFieldsNames)];\n};\n\n/**\n * @returns A promise resolving with a dictionary of custom field definitions by name.\n * @throws A {@link MissingDefinitionError} if any of the custom fields doesn't have a definition.\n */\nexport const getCustomFieldDefinitionsDictionary = async (\n instances: CustomFieldEntries[],\n {\n findAll: _findAll,\n modelOptions = {},\n withDisabled = false,\n ...options\n }: SadotGetDefinitionsByEntityIdsOptions = { withDisabled: false, modelOptions: {} },\n): Promise<{ [definitionName: string]: CustomFieldDefinition }> => {\n const { modelType } = instances[0]?.dataValues ?? {};\n const customFields = new Set<string>();\n const modelIds = [];\n const entityIds = new Set<string>();\n instances.forEach((instance) => {\n const { dataValues: { modelId, entityId, customFields: instanceCustomFields } } = instance;\n modelIds.push(modelId);\n entityIds.add(entityId);\n\n Object.keys(instanceCustomFields ?? {}).forEach((fieldName) => {\n customFields.add(fieldName);\n });\n });\n\n const where: WhereOptions = {\n modelType,\n entityId: { [Op.in]: Array.from(entityIds) },\n name: { [Op.in]: Array.from(customFields) },\n };\n\n const findAllToUse = _findAll ?? findAll;\n\n // @ts-expect-error findAll doesn't expect modelOptions at all.\n const definitions = await findAllToUse(where, { withDisabled, modelOptions, ...options });\n\n const matchedDefinitions = definitions.filter((def) => customFields.has(def.name));\n const matchedDefinitionsByName = Object.fromEntries(matchedDefinitions.map((definition) => [definition.name, definition]));\n\n if (!definitions?.length || matchedDefinitions.length !== customFields.size) {\n const unmatchedCustomFields = Array.from(customFields).filter((customField) => !matchedDefinitionsByName[customField]);\n throw new MissingDefinitionError(unmatchedCustomFields);\n }\n\n return matchedDefinitionsByName;\n};\n"],"mappings":"wKASA,MAAa,EAAU,GACrBA,EAAsB,OAAO,EAAK,CAUvB,GACX,EACA,EAA4B,CAAE,aAAc,GAAO,IAEhC,EAAQ,aACvBA,EAAsB,UAAU,CAChCA,GAEc,MAAM,YAAY,CAAC,QAAQ,CAC3C,QACA,YAAa,EAAQ,YACrB,IAAK,GACL,QAAS,EAAQ,QAClB,CAAC,CAGS,GACX,EACA,EAA4B,CAAE,aAAc,GAAO,GACd,EAAQ,CAAE,GAAI,EAAG,EAAG,IAAK,EAAK,CAAE,CAAE,EAAQ,CAEpE,GACX,EACA,EAAkD,CAAE,aAAc,GAAO,GAC/B,CAC1C,GAAM,CAAE,gBAAiB,EAIzB,OAHI,EACKA,EAAsB,UAAU,CAAC,MAAM,YAAY,CAAC,SAAS,EAAG,CAElEA,EAAsB,MAAM,YAAY,CAAC,SAAS,EAAG,EAGjD,EAAkB,MAC7B,EACA,EACA,EAAyD,EAAE,GACtB,CACrC,GAAM,CAAE,UAAS,0BAA2B,EAAQ,aAC9CC,EAAsB,CAC1B,YACA,GAAI,CAAC,GAA0B,CAAE,SAAU,EAAG,EAAG,IAAK,EAAW,CAAE,CACpE,CAED,OAAOD,EAAsB,QAAQ,CACnC,QACA,YAAa,EAAQ,YACrB,QAAS,IAAU,EAAU,CAC7B,IAAK,GACN,CAAC,EAGS,EAAe,GAC1BA,EAAsB,MAAM,YAAY,CAAC,QAAQ,CAC/C,QACD,CAAC,CAaS,EAAS,MACpB,EACA,KAE2B,MAAMA,EAAsB,MAAM,YAAY,CAAC,OAAO,EAAM,CACrF,MAAO,CAAE,KAAI,CACb,UAAW,GACX,gBAAiB,GAClB,CAAC,EAAE,GAAG,GA4CI,EAAsC,MACjD,EACA,CACE,QAAS,EACT,eAAe,EAAE,CACjB,eAAe,GACf,GAAG,GACsC,CAAE,aAAc,GAAO,aAAc,EAAE,CAAE,GACnB,CACjE,GAAM,CAAE,aAAc,EAAU,IAAI,YAAc,EAAE,CAC9C,EAAe,IAAI,IACnB,EAAW,EAAE,CACb,EAAY,IAAI,IACtB,EAAU,QAAS,GAAa,CAC9B,GAAM,CAAE,WAAY,CAAE,UAAS,WAAU,aAAc,IAA2B,EAClF,EAAS,KAAK,EAAQ,CACtB,EAAU,IAAI,EAAS,CAEvB,OAAO,KAAK,GAAwB,EAAE,CAAC,CAAC,QAAS,GAAc,CAC7D,EAAa,IAAI,EAAU,EAC3B,EACF,CAEF,IAAMC,EAAsB,CAC1B,YACA,SAAU,EAAG,EAAG,IAAK,MAAM,KAAK,EAAU,CAAE,CAC5C,KAAM,EAAG,EAAG,IAAK,MAAM,KAAK,EAAa,CAAE,CAC5C,CAKK,EAAc,MAHC,GAAY,GAGM,EAAO,CAAE,eAAc,eAAc,GAAG,EAAS,CAAC,CAEnF,EAAqB,EAAY,OAAQ,GAAQ,EAAa,IAAI,EAAI,KAAK,CAAC,CAC5E,EAA2B,OAAO,YAAY,EAAmB,IAAK,GAAe,CAAC,EAAW,KAAM,EAAW,CAAC,CAAC,CAE1H,GAAI,CAAC,GAAa,QAAU,EAAmB,SAAW,EAAa,KAAM,CAC3E,IAAM,EAAwB,MAAM,KAAK,EAAa,CAAC,OAAQ,GAAgB,CAAC,EAAyB,GAAa,CACtH,MAAM,IAAI,EAAuB,EAAsB,CAGzD,OAAO"}
@@ -0,0 +1,2 @@
1
+ const e=require(`../utils/logger/index.cjs`),t=require(`../errors/index.cjs`),n=require(`./definition.cjs`),r=require(`../models/CustomFieldEntries.cjs`);require(`../models/index.cjs`);const i=require(`./utils/formatValues.cjs`),a=async(e,t={})=>{let{transaction:n}=t;return r.default.findOne({where:{modelId:e},transaction:n})},o=async(e,t={})=>{let{transaction:n}=t;return r.default.findAll({where:{modelId:e},transaction:n})},s=async(a,o,s,c,l={})=>{let u=Object.keys(s);e.default.debug(`custom-fields: updating entries for ${o} ${a}`,{customFieldsNames:u,optionsKeys:l?Object.keys(l):null,customFields:s,identifiers:c});let{modelOptions:d,transaction:f}=l,p={modelType:o,name:u,...!l.modelOptions?.useEntityIdFromInclude&&{entityId:c}},m=await n.findAll(p,{withDisabled:!0,transaction:f,include:d.include?.(c)})??[],h=m.filter(e=>e.disabled);if(m.length!==u.length){e.default.warn(`custom-fields: missing definitions for ${o} ${a}`,{names:u,fieldDefinitions:m});let n=u.filter(e=>!m.some(t=>t.name===e));throw new t.MissingDefinitionError(n)}let g=h?.map(e=>e.name)||[],_=u.filter(e=>g.includes(e));_?.length>0&&e.default.warn(`custom-fields: trying to update disabled values: ${_.join(`, `)}`);let v=Object.fromEntries(m.map(e=>[e.name,e]));return Object.entries(s).filter(([e])=>i.formatFunctions[v[e].fieldType]).forEach(([e,t])=>{let{fieldType:n}=v[e];s[e]=i.formatFunctions[n](t)}),r.default.upsert({modelId:a,entityId:m[0].entityId,modelType:o,customFields:s},l)};exports.findEntriesByModelId=a,exports.findEntriesByModelIds=o,exports.updateEntries=s;
2
+ //# sourceMappingURL=entries.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entries.cjs","names":["CustomFieldEntries","where: WhereOptions","MissingDefinitionError","formatFunctions"],"sources":["../../src/repository/entries.ts"],"sourcesContent":["/* eslint-disable no-param-reassign */\nimport type {\n FindOptions,\n Includeable,\n Transaction,\n WhereOptions,\n} from 'sequelize';\nimport { CustomFieldEntries } from '../models';\nimport type { ModelOptions } from '../types';\nimport logger from '../utils/logger';\nimport { MissingDefinitionError } from '../errors';\nimport * as DefinitionRepo from './definition';\nimport { formatFunctions } from './utils/formatValues';\n\ntype CustomFieldEntriesModelOptions = ModelOptions & { include?: Includeable, transaction?: Transaction };\n\nexport const findEntriesByModelId = async (modelId: string, options: CustomFieldEntriesModelOptions = {}): Promise<CustomFieldEntries | null> => {\n const { transaction } = options;\n return CustomFieldEntries.findOne({\n where: { modelId },\n transaction,\n });\n};\n\nexport const findEntriesByModelIds = async (modelIds: string[], options: CustomFieldEntriesModelOptions = {}): Promise<CustomFieldEntries[]> => {\n const { transaction } = options;\n return CustomFieldEntries.findAll({\n where: { modelId: modelIds },\n transaction,\n });\n};\n\nexport const updateEntries = async (\n modelId: string,\n modelType: string,\n customFields: Record<string, any>,\n identifiers: string[],\n options: FindOptions & { modelOptions?: ModelOptions } = {},\n): Promise<[CustomFieldEntries, boolean | null]> => {\n const customFieldsNames = Object.keys(customFields);\n logger.debug(`custom-fields: updating entries for ${modelType} ${modelId}`, {\n customFieldsNames,\n optionsKeys: options ? Object.keys(options) : null,\n customFields,\n identifiers,\n });\n const { modelOptions, transaction } = options;\n\n const where: WhereOptions = {\n modelType,\n name: customFieldsNames,\n ...(!options.modelOptions?.useEntityIdFromInclude && { entityId: identifiers }),\n };\n\n const fieldDefinitions = await DefinitionRepo.findAll(where, { withDisabled: true, transaction, include: modelOptions.include?.(identifiers) }) ?? [];\n\n const disabledDefinitions = fieldDefinitions.filter((def) => def.disabled);\n if (fieldDefinitions.length !== customFieldsNames.length) {\n logger.warn(`custom-fields: missing definitions for ${modelType} ${modelId}`, { names: customFieldsNames, fieldDefinitions });\n const missingDefinitions = customFieldsNames.filter((name) => !fieldDefinitions.some((def) => def.name === name));\n throw new MissingDefinitionError(missingDefinitions);\n }\n\n const disabledNames = disabledDefinitions?.map((def) => def.name) || [];\n const valuesWithDisabledDefinitions = customFieldsNames.filter((name) => disabledNames.includes(name));\n if (valuesWithDisabledDefinitions?.length > 0) {\n logger.warn(`custom-fields: trying to update disabled values: ${valuesWithDisabledDefinitions.join(', ')}`);\n }\n\n const definitionsByName = Object.fromEntries(fieldDefinitions.map((definition) => [definition.name, definition]));\n // If we need to format the value before we save it\n Object.entries(customFields)\n .filter(([definitionName]) => formatFunctions[definitionsByName[definitionName].fieldType])\n .forEach(([definitionName, value]) => {\n const { fieldType } = definitionsByName[definitionName];\n customFields[definitionName] = formatFunctions[fieldType](value);\n });\n\n return CustomFieldEntries.upsert(\n {\n modelId,\n entityId: fieldDefinitions[0].entityId,\n modelType,\n customFields,\n },\n options,\n );\n};\n"],"mappings":"qOAgBa,EAAuB,MAAO,EAAiB,EAA0C,EAAE,GAAyC,CAC/I,GAAM,CAAE,eAAgB,EACxB,OAAOA,EAAAA,QAAmB,QAAQ,CAChC,MAAO,CAAE,UAAS,CAClB,cACD,CAAC,EAGS,EAAwB,MAAO,EAAoB,EAA0C,EAAE,GAAoC,CAC9I,GAAM,CAAE,eAAgB,EACxB,OAAOA,EAAAA,QAAmB,QAAQ,CAChC,MAAO,CAAE,QAAS,EAAU,CAC5B,cACD,CAAC,EAGS,EAAgB,MAC3B,EACA,EACA,EACA,EACA,EAAyD,EAAE,GACT,CAClD,IAAM,EAAoB,OAAO,KAAK,EAAa,CACnD,EAAA,QAAO,MAAM,uCAAuC,EAAU,GAAG,IAAW,CAC1E,oBACA,YAAa,EAAU,OAAO,KAAK,EAAQ,CAAG,KAC9C,eACA,cACD,CAAC,CACF,GAAM,CAAE,eAAc,eAAgB,EAEhCC,EAAsB,CAC1B,YACA,KAAM,EACN,GAAI,CAAC,EAAQ,cAAc,wBAA0B,CAAE,SAAU,EAAa,CAC/E,CAEK,EAAmB,MAAA,EAAA,QAA6B,EAAO,CAAE,aAAc,GAAM,cAAa,QAAS,EAAa,UAAU,EAAY,CAAE,CAAC,EAAI,EAAE,CAE/I,EAAsB,EAAiB,OAAQ,GAAQ,EAAI,SAAS,CAC1E,GAAI,EAAiB,SAAW,EAAkB,OAAQ,CACxD,EAAA,QAAO,KAAK,0CAA0C,EAAU,GAAG,IAAW,CAAE,MAAO,EAAmB,mBAAkB,CAAC,CAC7H,IAAM,EAAqB,EAAkB,OAAQ,GAAS,CAAC,EAAiB,KAAM,GAAQ,EAAI,OAAS,EAAK,CAAC,CACjH,MAAM,IAAIC,EAAAA,uBAAuB,EAAmB,CAGtD,IAAM,EAAgB,GAAqB,IAAK,GAAQ,EAAI,KAAK,EAAI,EAAE,CACjE,EAAgC,EAAkB,OAAQ,GAAS,EAAc,SAAS,EAAK,CAAC,CAClG,GAA+B,OAAS,GAC1C,EAAA,QAAO,KAAK,oDAAoD,EAA8B,KAAK,KAAK,GAAG,CAG7G,IAAM,EAAoB,OAAO,YAAY,EAAiB,IAAK,GAAe,CAAC,EAAW,KAAM,EAAW,CAAC,CAAC,CASjH,OAPA,OAAO,QAAQ,EAAa,CACzB,QAAQ,CAAC,KAAoBC,EAAAA,gBAAgB,EAAkB,GAAgB,WAAW,CAC1F,SAAS,CAAC,EAAgB,KAAW,CACpC,GAAM,CAAE,aAAc,EAAkB,GACxC,EAAa,GAAkBA,EAAAA,gBAAgB,GAAW,EAAM,EAChE,CAEGH,EAAAA,QAAmB,OACxB,CACE,UACA,SAAU,EAAiB,GAAG,SAC9B,YACA,eACD,CACD,EACD"}
@@ -1,92 +1,2 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.updateEntries = exports.findEntriesByModelIds = exports.findEntriesByModelId = void 0;
30
- const models_1 = require("../models");
31
- const logger_1 = __importDefault(require("../utils/logger"));
32
- const errors_1 = require("../errors");
33
- const DefinitionRepo = __importStar(require("./definition"));
34
- const formatValues_1 = require("./utils/formatValues");
35
- const findEntriesByModelId = async (modelId, options = {}) => {
36
- const { transaction } = options;
37
- return models_1.CustomFieldEntries.findOne({
38
- where: { modelId },
39
- transaction,
40
- });
41
- };
42
- exports.findEntriesByModelId = findEntriesByModelId;
43
- const findEntriesByModelIds = async (modelIds, options = {}) => {
44
- const { transaction } = options;
45
- return models_1.CustomFieldEntries.findAll({
46
- where: { modelId: modelIds },
47
- transaction,
48
- });
49
- };
50
- exports.findEntriesByModelIds = findEntriesByModelIds;
51
- const updateEntries = async (modelId, modelType, customFields, identifiers, options = {}) => {
52
- const customFieldsNames = Object.keys(customFields);
53
- logger_1.default.debug(`custom-fields: updating entries for ${modelType} ${modelId}`, {
54
- customFieldsNames,
55
- optionsKeys: options ? Object.keys(options) : null,
56
- customFields,
57
- identifiers,
58
- });
59
- const { modelOptions, transaction } = options;
60
- const where = {
61
- modelType,
62
- name: customFieldsNames,
63
- ...(!options.modelOptions?.useEntityIdFromInclude && { entityId: identifiers }),
64
- };
65
- const fieldDefinitions = await DefinitionRepo.findAll(where, { withDisabled: true, transaction, include: modelOptions.include?.(identifiers) }) ?? [];
66
- const disabledDefinitions = fieldDefinitions.filter((def) => def.disabled);
67
- if (fieldDefinitions.length !== customFieldsNames.length) {
68
- logger_1.default.warn(`custom-fields: missing definitions for ${modelType} ${modelId}`, { names: customFieldsNames, fieldDefinitions });
69
- const missingDefinitions = customFieldsNames.filter((name) => !fieldDefinitions.some((def) => def.name === name));
70
- throw new errors_1.MissingDefinitionError(missingDefinitions);
71
- }
72
- const disabledNames = disabledDefinitions?.map((def) => def.name) || [];
73
- const valuesWithDisabledDefinitions = customFieldsNames.filter((name) => disabledNames.includes(name));
74
- if (valuesWithDisabledDefinitions?.length > 0) {
75
- logger_1.default.warn(`custom-fields: trying to update disabled values: ${valuesWithDisabledDefinitions.join(', ')}`);
76
- }
77
- const definitionsByName = Object.fromEntries(fieldDefinitions.map((definition) => [definition.name, definition]));
78
- // If we need to format the value before we save it
79
- Object.entries(customFields)
80
- .filter(([definitionName]) => formatValues_1.formatFunctions[definitionsByName[definitionName].fieldType])
81
- .forEach(([definitionName, value]) => {
82
- const { fieldType } = definitionsByName[definitionName];
83
- customFields[definitionName] = formatValues_1.formatFunctions[fieldType](value);
84
- });
85
- return models_1.CustomFieldEntries.upsert({
86
- modelId,
87
- entityId: fieldDefinitions[0].entityId,
88
- modelType,
89
- customFields,
90
- }, options);
91
- };
92
- exports.updateEntries = updateEntries;
1
+ import e from"../utils/logger/index.js";import{MissingDefinitionError as t}from"../errors/index.js";import{findAll as n}from"./definition.js";import r from"../models/CustomFieldEntries.js";import"../models/index.js";import{formatFunctions as i}from"./utils/formatValues.js";const a=async(e,t={})=>{let{transaction:n}=t;return r.findOne({where:{modelId:e},transaction:n})},o=async(e,t={})=>{let{transaction:n}=t;return r.findAll({where:{modelId:e},transaction:n})},s=async(a,o,s,c,l={})=>{let u=Object.keys(s);e.debug(`custom-fields: updating entries for ${o} ${a}`,{customFieldsNames:u,optionsKeys:l?Object.keys(l):null,customFields:s,identifiers:c});let{modelOptions:d,transaction:f}=l,p={modelType:o,name:u,...!l.modelOptions?.useEntityIdFromInclude&&{entityId:c}},m=await n(p,{withDisabled:!0,transaction:f,include:d.include?.(c)})??[],h=m.filter(e=>e.disabled);if(m.length!==u.length){e.warn(`custom-fields: missing definitions for ${o} ${a}`,{names:u,fieldDefinitions:m});let n=u.filter(e=>!m.some(t=>t.name===e));throw new t(n)}let g=h?.map(e=>e.name)||[],_=u.filter(e=>g.includes(e));_?.length>0&&e.warn(`custom-fields: trying to update disabled values: ${_.join(`, `)}`);let v=Object.fromEntries(m.map(e=>[e.name,e]));return Object.entries(s).filter(([e])=>i[v[e].fieldType]).forEach(([e,t])=>{let{fieldType:n}=v[e];s[e]=i[n](t)}),r.upsert({modelId:a,entityId:m[0].entityId,modelType:o,customFields:s},l)};export{a as findEntriesByModelId,o as findEntriesByModelIds,s as updateEntries};
2
+ //# sourceMappingURL=entries.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entries.js","names":["CustomFieldEntries","where: WhereOptions","DefinitionRepo.findAll"],"sources":["../../src/repository/entries.ts"],"sourcesContent":["/* eslint-disable no-param-reassign */\nimport type {\n FindOptions,\n Includeable,\n Transaction,\n WhereOptions,\n} from 'sequelize';\nimport { CustomFieldEntries } from '../models';\nimport type { ModelOptions } from '../types';\nimport logger from '../utils/logger';\nimport { MissingDefinitionError } from '../errors';\nimport * as DefinitionRepo from './definition';\nimport { formatFunctions } from './utils/formatValues';\n\ntype CustomFieldEntriesModelOptions = ModelOptions & { include?: Includeable, transaction?: Transaction };\n\nexport const findEntriesByModelId = async (modelId: string, options: CustomFieldEntriesModelOptions = {}): Promise<CustomFieldEntries | null> => {\n const { transaction } = options;\n return CustomFieldEntries.findOne({\n where: { modelId },\n transaction,\n });\n};\n\nexport const findEntriesByModelIds = async (modelIds: string[], options: CustomFieldEntriesModelOptions = {}): Promise<CustomFieldEntries[]> => {\n const { transaction } = options;\n return CustomFieldEntries.findAll({\n where: { modelId: modelIds },\n transaction,\n });\n};\n\nexport const updateEntries = async (\n modelId: string,\n modelType: string,\n customFields: Record<string, any>,\n identifiers: string[],\n options: FindOptions & { modelOptions?: ModelOptions } = {},\n): Promise<[CustomFieldEntries, boolean | null]> => {\n const customFieldsNames = Object.keys(customFields);\n logger.debug(`custom-fields: updating entries for ${modelType} ${modelId}`, {\n customFieldsNames,\n optionsKeys: options ? Object.keys(options) : null,\n customFields,\n identifiers,\n });\n const { modelOptions, transaction } = options;\n\n const where: WhereOptions = {\n modelType,\n name: customFieldsNames,\n ...(!options.modelOptions?.useEntityIdFromInclude && { entityId: identifiers }),\n };\n\n const fieldDefinitions = await DefinitionRepo.findAll(where, { withDisabled: true, transaction, include: modelOptions.include?.(identifiers) }) ?? [];\n\n const disabledDefinitions = fieldDefinitions.filter((def) => def.disabled);\n if (fieldDefinitions.length !== customFieldsNames.length) {\n logger.warn(`custom-fields: missing definitions for ${modelType} ${modelId}`, { names: customFieldsNames, fieldDefinitions });\n const missingDefinitions = customFieldsNames.filter((name) => !fieldDefinitions.some((def) => def.name === name));\n throw new MissingDefinitionError(missingDefinitions);\n }\n\n const disabledNames = disabledDefinitions?.map((def) => def.name) || [];\n const valuesWithDisabledDefinitions = customFieldsNames.filter((name) => disabledNames.includes(name));\n if (valuesWithDisabledDefinitions?.length > 0) {\n logger.warn(`custom-fields: trying to update disabled values: ${valuesWithDisabledDefinitions.join(', ')}`);\n }\n\n const definitionsByName = Object.fromEntries(fieldDefinitions.map((definition) => [definition.name, definition]));\n // If we need to format the value before we save it\n Object.entries(customFields)\n .filter(([definitionName]) => formatFunctions[definitionsByName[definitionName].fieldType])\n .forEach(([definitionName, value]) => {\n const { fieldType } = definitionsByName[definitionName];\n customFields[definitionName] = formatFunctions[fieldType](value);\n });\n\n return CustomFieldEntries.upsert(\n {\n modelId,\n entityId: fieldDefinitions[0].entityId,\n modelType,\n customFields,\n },\n options,\n );\n};\n"],"mappings":"kRAgBA,MAAa,EAAuB,MAAO,EAAiB,EAA0C,EAAE,GAAyC,CAC/I,GAAM,CAAE,eAAgB,EACxB,OAAOA,EAAmB,QAAQ,CAChC,MAAO,CAAE,UAAS,CAClB,cACD,CAAC,EAGS,EAAwB,MAAO,EAAoB,EAA0C,EAAE,GAAoC,CAC9I,GAAM,CAAE,eAAgB,EACxB,OAAOA,EAAmB,QAAQ,CAChC,MAAO,CAAE,QAAS,EAAU,CAC5B,cACD,CAAC,EAGS,EAAgB,MAC3B,EACA,EACA,EACA,EACA,EAAyD,EAAE,GACT,CAClD,IAAM,EAAoB,OAAO,KAAK,EAAa,CACnD,EAAO,MAAM,uCAAuC,EAAU,GAAG,IAAW,CAC1E,oBACA,YAAa,EAAU,OAAO,KAAK,EAAQ,CAAG,KAC9C,eACA,cACD,CAAC,CACF,GAAM,CAAE,eAAc,eAAgB,EAEhCC,EAAsB,CAC1B,YACA,KAAM,EACN,GAAI,CAAC,EAAQ,cAAc,wBAA0B,CAAE,SAAU,EAAa,CAC/E,CAEK,EAAmB,MAAMC,EAAuB,EAAO,CAAE,aAAc,GAAM,cAAa,QAAS,EAAa,UAAU,EAAY,CAAE,CAAC,EAAI,EAAE,CAE/I,EAAsB,EAAiB,OAAQ,GAAQ,EAAI,SAAS,CAC1E,GAAI,EAAiB,SAAW,EAAkB,OAAQ,CACxD,EAAO,KAAK,0CAA0C,EAAU,GAAG,IAAW,CAAE,MAAO,EAAmB,mBAAkB,CAAC,CAC7H,IAAM,EAAqB,EAAkB,OAAQ,GAAS,CAAC,EAAiB,KAAM,GAAQ,EAAI,OAAS,EAAK,CAAC,CACjH,MAAM,IAAI,EAAuB,EAAmB,CAGtD,IAAM,EAAgB,GAAqB,IAAK,GAAQ,EAAI,KAAK,EAAI,EAAE,CACjE,EAAgC,EAAkB,OAAQ,GAAS,EAAc,SAAS,EAAK,CAAC,CAClG,GAA+B,OAAS,GAC1C,EAAO,KAAK,oDAAoD,EAA8B,KAAK,KAAK,GAAG,CAG7G,IAAM,EAAoB,OAAO,YAAY,EAAiB,IAAK,GAAe,CAAC,EAAW,KAAM,EAAW,CAAC,CAAC,CASjH,OAPA,OAAO,QAAQ,EAAa,CACzB,QAAQ,CAAC,KAAoB,EAAgB,EAAkB,GAAgB,WAAW,CAC1F,SAAS,CAAC,EAAgB,KAAW,CACpC,GAAM,CAAE,aAAc,EAAkB,GACxC,EAAa,GAAkB,EAAgB,GAAW,EAAM,EAChE,CAEGF,EAAmB,OACxB,CACE,UACA,SAAU,EAAiB,GAAG,SAC9B,YACA,eACD,CACD,EACD"}
@@ -0,0 +1,2 @@
1
+ const e=require(`../../utils/constants/index.cjs`),t={[e.CustomFieldDefinitionType.DATE]:e=>{if(e){let t=new Date(e);if(t.toString()===`Invalid Date`)throw Error(`Invalid date value: ${e}`);return t.toISOString()}return null}};exports.formatFunctions=t;
2
+ //# sourceMappingURL=formatValues.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatValues.cjs","names":["formatFunctions: Partial<Record<CustomFieldDefinitionType, (value: any) => string | null>>","CustomFieldDefinitionType"],"sources":["../../../src/repository/utils/formatValues.ts"],"sourcesContent":["import { CustomFieldDefinitionType } from '../../utils/constants';\n\nexport const formatFunctions: Partial<Record<CustomFieldDefinitionType, (value: any) => string | null>> = {\n [CustomFieldDefinitionType.DATE]: (value) => {\n if (value) {\n const date = new Date(value);\n if (date.toString() === 'Invalid Date') {\n throw new Error(`Invalid date value: ${value}`);\n }\n return date.toISOString();\n }\n return null;\n },\n};\n"],"mappings":"mDAEaA,EAA6F,EACvGC,EAAAA,0BAA0B,MAAQ,GAAU,CAC3C,GAAI,EAAO,CACT,IAAM,EAAO,IAAI,KAAK,EAAM,CAC5B,GAAI,EAAK,UAAU,GAAK,eACtB,MAAU,MAAM,uBAAuB,IAAQ,CAEjD,OAAO,EAAK,aAAa,CAE3B,OAAO,MAEV"}
@@ -1,16 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.formatFunctions = void 0;
4
- const constants_1 = require("../../utils/constants");
5
- exports.formatFunctions = {
6
- [constants_1.CustomFieldDefinitionType.DATE]: (value) => {
7
- if (value) {
8
- const date = new Date(value);
9
- if (date.toString() === 'Invalid Date') {
10
- throw new Error(`Invalid date value: ${value}`);
11
- }
12
- return date.toISOString();
13
- }
14
- return null;
15
- },
16
- };
1
+ import{CustomFieldDefinitionType as e}from"../../utils/constants/index.js";const t={[e.DATE]:e=>{if(e){let t=new Date(e);if(t.toString()===`Invalid Date`)throw Error(`Invalid date value: ${e}`);return t.toISOString()}return null}};export{t as formatFunctions};
2
+ //# sourceMappingURL=formatValues.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatValues.js","names":["formatFunctions: Partial<Record<CustomFieldDefinitionType, (value: any) => string | null>>"],"sources":["../../../src/repository/utils/formatValues.ts"],"sourcesContent":["import { CustomFieldDefinitionType } from '../../utils/constants';\n\nexport const formatFunctions: Partial<Record<CustomFieldDefinitionType, (value: any) => string | null>> = {\n [CustomFieldDefinitionType.DATE]: (value) => {\n if (value) {\n const date = new Date(value);\n if (date.toString() === 'Invalid Date') {\n throw new Error(`Invalid date value: ${value}`);\n }\n return date.toISOString();\n }\n return null;\n },\n};\n"],"mappings":"2EAEA,MAAaA,EAA6F,EACvG,EAA0B,MAAQ,GAAU,CAC3C,GAAI,EAAO,CACT,IAAM,EAAO,IAAI,KAAK,EAAM,CAC5B,GAAI,EAAK,UAAU,GAAK,eACtB,MAAU,MAAM,uBAAuB,IAAQ,CAEjD,OAAO,EAAK,aAAa,CAE3B,OAAO,MAEV"}
@@ -0,0 +1,2 @@
1
+ const e=require(`../utils/logger/index.cjs`),t=require(`../models/CustomValidator.cjs`);require(`../models/index.cjs`);const n=async(n,r={})=>(e.default.debug(`custom-validator - create validator`),await t.default.create(n,r)),r=async(n={},r={})=>{e.default.debug(`custom-validator - find all validators`);let{transaction:i,withDisabled:a,include:o,attributes:s,raw:c}=r,l;return l=a?await t.default.unscoped().scope(`userScope`).findAll({where:n,transaction:i,include:o,attributes:s,raw:c}):await t.default.scope([`defaultScope`,`userScope`]).findAll({where:n,transaction:i,include:o,attributes:s,raw:c}),l},i=async(t,n,i={})=>(e.default.debug(`custom-validator - find all validators by model type`),r({modelType:t,...!i?.modelOptions?.useEntityIdFromInclude&&{entityId:n}},{...i,include:i?.modelOptions?.include?.(n)})),a=async(n,r,i)=>(e.default.debug(`custom-validator - update validator`),t.default.update(r,{where:{id:n},returning:!0,...i})),o=async(t,n)=>(e.default.debug(`custom-validator - disable validator`),a(t,{disabled:!0},n));exports.create=n,exports.disable=o,exports.findAll=r,exports.findAllByModelType=i,exports.update=a;
2
+ //# sourceMappingURL=validator.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validator.cjs","names":["CustomValidator"],"sources":["../../src/repository/validator.ts"],"sourcesContent":["import type { FindOptions, IncludeOptions, Transactionable } from 'sequelize';\nimport logger from '../utils/logger';\nimport { CustomValidator } from '../models';\nimport type { ModelOptions } from '../types';\n\nexport interface FindValidatorOptions extends Transactionable {\n withDisabled?: boolean;\n attributes?: string[];\n raw?: boolean;\n include?: IncludeOptions[];\n}\n\n// Make sure this interface is compatible with the Sequelize model\nexport interface ValidatorAttributes {\n entityId: string;\n entityType: string;\n modelType: string;\n schema: CustomValidator['schema'];\n disabled?: boolean;\n [key: string]: unknown; // Add index signature for Sequelize compatibility\n}\n\nexport const create = async (\n validatorAttributes: ValidatorAttributes,\n options: Transactionable = {},\n): Promise<CustomValidator> => {\n logger.debug('custom-validator - create validator');\n\n // Use unknown type to bypass TypeScript errors while maintaining compatibility\n const validator = await CustomValidator.create(validatorAttributes as Record<string, unknown>, options);\n\n return validator;\n};\n\nexport const findAll = async (\n where = {},\n options: FindOptions & {\n modelOptions?: ModelOptions,\n withDisabled?: boolean\n } = {},\n): Promise<CustomValidator[]> => {\n logger.debug('custom-validator - find all validators');\n\n const {\n transaction, withDisabled, include, attributes, raw,\n } = options;\n\n let validators;\n if (withDisabled) {\n // If withDisabled is true, use unscoped to ignore the default scope that filters disabled items\n // Apply the userScope separately to maintain permission filtering\n validators = await CustomValidator.unscoped().scope('userScope').findAll({\n where,\n transaction,\n include,\n attributes,\n raw,\n });\n } else {\n // Use defaultScope and userScope to filter both disabled and by permissions\n // The defaultScope keeps only non-disabled validators\n validators = await CustomValidator.scope(['defaultScope', 'userScope']).findAll({\n where,\n transaction,\n include,\n attributes,\n raw,\n });\n }\n\n return validators;\n};\n\nexport const findAllByModelType = async (\n modelType: string,\n entityId: string,\n options: FindOptions & {\n modelOptions?: ModelOptions,\n withDisabled?: boolean\n } = {},\n): Promise<CustomValidator[]> => {\n logger.debug('custom-validator - find all validators by model type');\n return findAll(\n {\n modelType,\n ...(!options?.modelOptions?.useEntityIdFromInclude && { entityId }),\n },\n {\n ...options,\n include: options?.modelOptions?.include?.(entityId),\n },\n );\n};\n\nexport const update = async (\n id: string,\n updates: Partial<ValidatorAttributes>,\n options?: Transactionable,\n): Promise<[number, CustomValidator[]]> => {\n logger.debug('custom-validator - update validator');\n\n return CustomValidator.update(\n updates,\n {\n where: { id },\n returning: true,\n ...options,\n },\n );\n};\n\nexport const disable = async (\n id: string,\n options?: Transactionable,\n): Promise<[number, CustomValidator[]]> => {\n logger.debug('custom-validator - disable validator');\n\n return update(id, { disabled: true }, options);\n};\n"],"mappings":"uHAsBA,MAAa,EAAS,MACpB,EACA,EAA2B,EAAE,IAE7B,EAAA,QAAO,MAAM,sCAAsC,CAGjC,MAAMA,EAAAA,QAAgB,OAAO,EAAgD,EAAQ,EAK5F,EAAU,MACrB,EAAQ,EAAE,CACV,EAGM,EAAE,GACuB,CAC/B,EAAA,QAAO,MAAM,yCAAyC,CAEtD,GAAM,CACJ,cAAa,eAAc,UAAS,aAAY,OAC9C,EAEA,EAuBJ,MAtBA,CAaE,EAbE,EAGW,MAAMA,EAAAA,QAAgB,UAAU,CAAC,MAAM,YAAY,CAAC,QAAQ,CACvE,QACA,cACA,UACA,aACA,MACD,CAAC,CAIW,MAAMA,EAAAA,QAAgB,MAAM,CAAC,eAAgB,YAAY,CAAC,CAAC,QAAQ,CAC9E,QACA,cACA,UACA,aACA,MACD,CAAC,CAGG,GAGI,EAAqB,MAChC,EACA,EACA,EAGI,EAAE,IAEN,EAAA,QAAO,MAAM,uDAAuD,CAC7D,EACL,CACE,YACA,GAAI,CAAC,GAAS,cAAc,wBAA0B,CAAE,WAAU,CACnE,CACD,CACE,GAAG,EACH,QAAS,GAAS,cAAc,UAAU,EAAS,CACpD,CACF,EAGU,EAAS,MACpB,EACA,EACA,KAEA,EAAA,QAAO,MAAM,sCAAsC,CAE5CA,EAAAA,QAAgB,OACrB,EACA,CACE,MAAO,CAAE,KAAI,CACb,UAAW,GACX,GAAG,EACJ,CACF,EAGU,EAAU,MACrB,EACA,KAEA,EAAA,QAAO,MAAM,uCAAuC,CAE7C,EAAO,EAAI,CAAE,SAAU,GAAM,CAAE,EAAQ"}