@autofleet/sadot 1.0.6 → 1.0.8

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 (255) 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 +1 -12
  9. package/dist/api/index.js.map +1 -1
  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 +1 -116
  13. package/dist/api/v1/definition/index.js.map +1 -1
  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 +1 -77
  17. package/dist/api/v1/definition/validations.js.map +1 -1
  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 +1 -12
  21. package/dist/api/v1/errors.js.map +1 -1
  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 +1 -13
  25. package/dist/api/v1/index.js.map +1 -1
  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 +1 -143
  29. package/dist/api/v1/validator/index.js.map +1 -1
  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 +1 -38
  33. package/dist/api/v1/validator/validations.js.map +1 -1
  34. package/dist/errors/index.cjs +3 -0
  35. package/dist/errors/index.cjs.map +1 -0
  36. package/dist/errors/index.js +2 -66
  37. package/dist/errors/index.js.map +1 -1
  38. package/dist/events/index.cjs +2 -0
  39. package/dist/events/index.cjs.map +1 -0
  40. package/dist/events/index.js +1 -54
  41. package/dist/events/index.js.map +1 -1
  42. package/dist/hooks/enrich.cjs +2 -0
  43. package/dist/hooks/enrich.cjs.map +1 -0
  44. package/dist/hooks/enrich.js +1 -197
  45. package/dist/hooks/enrich.js.map +1 -1
  46. package/dist/hooks/find.cjs +2 -0
  47. package/dist/hooks/find.cjs.map +1 -0
  48. package/dist/hooks/find.js +1 -29
  49. package/dist/hooks/find.js.map +1 -1
  50. package/dist/hooks/hooks.cjs +2 -0
  51. package/dist/hooks/hooks.cjs.map +1 -0
  52. package/dist/hooks/hooks.js +1 -387
  53. package/dist/hooks/hooks.js.map +1 -1
  54. package/dist/hooks/index.cjs +1 -0
  55. package/dist/hooks/index.js +1 -18
  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 +1 -50
  59. package/dist/hooks/utils/updateInstanceValues.js.map +1 -1
  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 +1 -67
  65. package/dist/index.js.map +1 -1
  66. package/dist/models/CustomFieldDefinition.cjs +2 -0
  67. package/dist/models/CustomFieldDefinition.cjs.map +1 -0
  68. package/dist/models/CustomFieldDefinition.js +1 -201
  69. package/dist/models/CustomFieldDefinition.js.map +1 -1
  70. package/dist/models/CustomFieldEntries.cjs +2 -0
  71. package/dist/models/CustomFieldEntries.cjs.map +1 -0
  72. package/dist/models/CustomFieldEntries.js +1 -129
  73. package/dist/models/CustomFieldEntries.js.map +1 -1
  74. package/dist/models/CustomFieldValue.cjs +2 -0
  75. package/dist/models/CustomFieldValue.cjs.map +1 -0
  76. package/dist/models/CustomFieldValue.js +1 -160
  77. package/dist/models/CustomFieldValue.js.map +1 -1
  78. package/dist/models/CustomValidator.cjs +2 -0
  79. package/dist/models/CustomValidator.cjs.map +1 -0
  80. package/dist/models/CustomValidator.js +1 -104
  81. package/dist/models/CustomValidator.js.map +1 -1
  82. package/dist/models/index.cjs +2 -0
  83. package/dist/models/index.cjs.map +1 -0
  84. package/dist/models/index.js +1 -131
  85. package/dist/models/index.js.map +1 -1
  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 +1 -73
  89. package/dist/models/tests/AssociatedTestModel.js.map +1 -1
  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 +1 -71
  93. package/dist/models/tests/TestModel.js.map +1 -1
  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 +1 -53
  97. package/dist/models/tests/contextAwareModels/ContextAwareTestModel.js.map +1 -1
  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 +1 -47
  101. package/dist/models/tests/contextAwareModels/ContextTestModel.js.map +1 -1
  102. package/dist/repository/definition.cjs +2 -0
  103. package/dist/repository/definition.cjs.map +1 -0
  104. package/dist/repository/definition.js +1 -123
  105. package/dist/repository/definition.js.map +1 -1
  106. package/dist/repository/entries.cjs +2 -0
  107. package/dist/repository/entries.cjs.map +1 -0
  108. package/dist/repository/entries.js +1 -92
  109. package/dist/repository/entries.js.map +1 -1
  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 +1 -16
  113. package/dist/repository/utils/formatValues.js.map +1 -1
  114. package/dist/repository/validator.cjs +2 -0
  115. package/dist/repository/validator.cjs.map +1 -0
  116. package/dist/repository/validator.js +1 -69
  117. package/dist/repository/validator.js.map +1 -1
  118. package/dist/repository/value.cjs +2 -0
  119. package/dist/repository/value.cjs.map +1 -0
  120. package/dist/repository/value.js +1 -124
  121. package/dist/repository/value.js.map +1 -1
  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 +1 -75
  127. package/dist/scopes/filter.js.map +1 -1
  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 +24 -183
  133. package/dist/scopes/helpers/filter.helpers.js.map +1 -1
  134. package/dist/scopes/index.cjs +1 -0
  135. package/dist/scopes/index.js +1 -7
  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 +1 -22
  143. package/dist/utils/constants/index.js.map +1 -1
  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 +1 -24
  147. package/dist/utils/db/index.js.map +1 -1
  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 +1 -40
  153. package/dist/utils/helpers/index.js.map +1 -1
  154. package/dist/utils/init.cjs +2 -0
  155. package/dist/utils/init.cjs.map +1 -0
  156. package/dist/utils/init.js +1 -112
  157. package/dist/utils/init.js.map +1 -1
  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 +1 -42
  161. package/dist/utils/logger/index.js.map +1 -1
  162. package/dist/utils/scopeAttributes.cjs +2 -0
  163. package/dist/utils/scopeAttributes.cjs.map +1 -0
  164. package/dist/utils/scopeAttributes.js +1 -11
  165. package/dist/utils/scopeAttributes.js.map +1 -1
  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 +1 -41
  169. package/dist/utils/validations/index.js.map +1 -1
  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 +1 -9
  175. package/dist/utils/validations/schema/custom-fields.js.map +1 -1
  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 +1 -95
  179. package/dist/utils/validations/schema/validator-schema.js.map +1 -1
  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 +1 -40
  183. package/dist/utils/validations/validators/index.js.map +1 -1
  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 +1 -12
  187. package/dist/utils/validations/validators/select.validator.js.map +1 -1
  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 +1 -15
  191. package/dist/utils/validations/validators/status.validator.js.map +1 -1
  192. package/package.json +20 -4
  193. package/dist/api/index.d.ts +0 -3
  194. package/dist/api/v1/definition/index.d.ts +0 -3
  195. package/dist/api/v1/definition/validations.d.ts +0 -2
  196. package/dist/api/v1/errors.d.ts +0 -4
  197. package/dist/api/v1/index.d.ts +0 -3
  198. package/dist/api/v1/validator/index.d.ts +0 -3
  199. package/dist/api/v1/validator/validations.d.ts +0 -6
  200. package/dist/errors/index.d.ts +0 -24
  201. package/dist/events/index.d.ts +0 -5
  202. package/dist/hooks/create.d.ts +0 -10
  203. package/dist/hooks/create.js +0 -96
  204. package/dist/hooks/create.js.map +0 -1
  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/index.js.map +0 -1
  210. package/dist/hooks/update.d.ts +0 -10
  211. package/dist/hooks/update.js +0 -50
  212. package/dist/hooks/update.js.map +0 -1
  213. package/dist/hooks/utils/updateInstanceValues.d.ts +0 -15
  214. package/dist/hooks/workaround.d.ts +0 -10
  215. package/dist/hooks/workaround.js +0 -38
  216. package/dist/hooks/workaround.js.map +0 -1
  217. package/dist/models/CustomFieldDefinition.d.ts +0 -25
  218. package/dist/models/CustomFieldEntries.d.ts +0 -15
  219. package/dist/models/CustomFieldValue.d.ts +0 -16
  220. package/dist/models/CustomValidator.d.ts +0 -17
  221. package/dist/models/index.d.ts +0 -18
  222. package/dist/models/tests/AssociatedTestModel.d.ts +0 -12
  223. package/dist/models/tests/TestModel.d.ts +0 -12
  224. package/dist/models/tests/contextAwareModels/ContextAwareTestModel.d.ts +0 -10
  225. package/dist/models/tests/contextAwareModels/ContextTestModel.d.ts +0 -13
  226. package/dist/repository/definition.d.ts +0 -37
  227. package/dist/repository/entries.d.ts +0 -13
  228. package/dist/repository/utils/formatValues.d.ts +0 -3
  229. package/dist/repository/validator.d.ts +0 -28
  230. package/dist/repository/value.d.ts +0 -28
  231. package/dist/scopes/index.d.ts +0 -2
  232. package/dist/scopes/index.js.map +0 -1
  233. package/dist/types/definition/index.d.ts +0 -25
  234. package/dist/types/definition/index.js +0 -3
  235. package/dist/types/definition/index.js.map +0 -1
  236. package/dist/types/entries/index.d.ts +0 -25
  237. package/dist/types/entries/index.js +0 -3
  238. package/dist/types/entries/index.js.map +0 -1
  239. package/dist/types/index.js +0 -3
  240. package/dist/types/index.js.map +0 -1
  241. package/dist/types/value/index.d.ts +0 -15
  242. package/dist/types/value/index.js +0 -3
  243. package/dist/types/value/index.js.map +0 -1
  244. package/dist/utils/db/index.d.ts +0 -4
  245. package/dist/utils/init.d.ts +0 -7
  246. package/dist/utils/logger/index.d.ts +0 -3
  247. package/dist/utils/scopeAttributes.d.ts +0 -2
  248. package/dist/utils/validations/index.d.ts +0 -8
  249. package/dist/utils/validations/schema/validator-schema.d.ts +0 -9
  250. package/dist/utils/validations/type.d.ts +0 -15
  251. package/dist/utils/validations/type.js +0 -3
  252. package/dist/utils/validations/type.js.map +0 -1
  253. package/dist/utils/validations/validators/index.d.ts +0 -14
  254. package/dist/utils/validations/validators/select.validator.d.ts +0 -5
  255. package/dist/utils/validations/validators/status.validator.d.ts +0 -12
@@ -1,24 +0,0 @@
1
- import { BadRequest } from '@autofleet/errors';
2
- import type { ValidationError } from 'joi';
3
- import type { EntriesValidationError } from '../types/entries';
4
- export declare class MissingRequiredCustomFieldError extends BadRequest {
5
- constructor(missingFields: string[]);
6
- }
7
- export declare class UnsupportedCustomFieldTypeError extends BadRequest {
8
- constructor(fieldType: string);
9
- }
10
- export declare class UnsupportedCustomValidationError extends BadRequest {
11
- constructor(fieldType: string);
12
- }
13
- export declare class InvalidFieldTypeError extends BadRequest {
14
- constructor(fieldType: string);
15
- }
16
- export declare class InvalidValueError extends BadRequest {
17
- constructor(value: any, fieldDefinitionName: string, joiValidationError: ValidationError);
18
- }
19
- export declare class InvalidEntriesError extends BadRequest {
20
- constructor(modelId: string, validationErrors: EntriesValidationError[]);
21
- }
22
- export declare class MissingDefinitionError extends BadRequest {
23
- constructor(fieldNames: string[]);
24
- }
@@ -1,5 +0,0 @@
1
- import Events from '@autofleet/events';
2
- import type { CustomFieldDefinition, CustomFieldEntries, CustomFieldValue, CustomValidator } from '../models';
3
- declare const events: Events;
4
- export declare const sendDimEvent: (instance: CustomFieldDefinition | CustomFieldValue | CustomFieldEntries | CustomValidator) => void;
5
- export default events;
@@ -1,10 +0,0 @@
1
- import type { CustomFieldOptions, ModelOptions } from '../types';
2
- /**
3
- * A hook to create the custom fields when updating a model (more then one instance).
4
- */
5
- export declare const beforeBulkCreate: (options: any) => void;
6
- /**
7
- * A hook to create the custom fields when updating a model instance.
8
- * TODO - cleanup if update fail
9
- */
10
- export declare const beforeCreate: (scopeAttributes: string[], modelOptions?: ModelOptions, sadotOptions?: Pick<CustomFieldOptions, 'useCustomFieldsEntries'>) => (instance: any, options: any) => Promise<void>;
@@ -1,96 +0,0 @@
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.beforeCreate = exports.beforeBulkCreate = void 0;
30
- const logger_1 = __importDefault(require("../utils/logger"));
31
- const DefinitionRepo = __importStar(require("../repository/definition"));
32
- const errors_1 = require("../errors");
33
- const scopeAttributes_1 = __importDefault(require("../utils/scopeAttributes"));
34
- const updateInstanceValues_1 = __importDefault(require("./utils/updateInstanceValues"));
35
- /**
36
- * A hook to create the custom fields when updating a model (more then one instance).
37
- */
38
- const beforeBulkCreate = (options) => {
39
- // This will activate the beforeCreate hook on each updating instance.
40
- // eslint-disable-next-line no-param-reassign
41
- options.individualHooks = true;
42
- };
43
- exports.beforeBulkCreate = beforeBulkCreate;
44
- /**
45
- * A hook to create the custom fields when updating a model instance.
46
- * TODO - cleanup if update fail
47
- */
48
- const beforeCreate = (scopeAttributes, modelOptions = {}, sadotOptions = { useCustomFieldsEntries: false }) => async (instance, options) => {
49
- logger_1.default.debug('sadot - before create hook');
50
- const { fields } = options;
51
- const { include, useEntityIdFromInclude } = modelOptions;
52
- const modelType = instance.constructor.name;
53
- const identifiers = (0, scopeAttributes_1.default)(instance, scopeAttributes);
54
- const where = {
55
- modelType,
56
- disabled: false,
57
- ...(!useEntityIdFromInclude && { entityId: identifiers }),
58
- };
59
- const fieldDefinitions = await DefinitionRepo.findAll(where, { withDisabled: false, transaction: options.transaction, include: include?.(identifiers) });
60
- const requiredFieldsNames = Array.from(new Set(fieldDefinitions.filter(({ required }) => required).map(({ name }) => name)));
61
- const fieldsWithDefaultValue = fieldDefinitions.filter((def) => ![null, undefined].includes(def.defaultValue));
62
- if (fieldsWithDefaultValue.length) {
63
- // eslint-disable-next-line no-param-reassign
64
- instance.customFields ||= {};
65
- fieldsWithDefaultValue.filter((def) => (instance.customFields?.[def.name] === undefined)).forEach(({ name, defaultValue }) => {
66
- // eslint-disable-next-line no-param-reassign
67
- instance.customFields[name] = defaultValue;
68
- });
69
- }
70
- const { customFields } = instance;
71
- const fieldsNames = Object.keys(customFields ?? {});
72
- const missingFields = requiredFieldsNames.filter((name) => !fieldsNames.includes(name));
73
- if (missingFields?.length) {
74
- throw new errors_1.MissingRequiredCustomFieldError(missingFields);
75
- }
76
- const customFieldsIdx = fields.indexOf('customFields');
77
- if (customFieldsIdx === -1 || !customFields || !Object.keys(customFields).length) {
78
- // After checking for required fields and fields with default values, and we have no custom fields.
79
- return;
80
- }
81
- await (0, updateInstanceValues_1.default)({
82
- modelId: instance.id,
83
- modelType,
84
- identifiers,
85
- customFields,
86
- options: {
87
- useCustomFieldsEntries: sadotOptions.useCustomFieldsEntries,
88
- transaction: options.transaction,
89
- modelOptions,
90
- },
91
- });
92
- // eslint-disable-next-line no-param-reassign
93
- fields.splice(customFieldsIdx, 1);
94
- };
95
- exports.beforeCreate = beforeCreate;
96
- //# sourceMappingURL=create.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/hooks/create.ts"],"names":[],"mappings":"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"}
@@ -1,25 +0,0 @@
1
- import type CustomFieldValue from '../models/CustomFieldValue';
2
- import type { CustomFieldOptions, ModelOptions, TransactionOptions } from '../types';
3
- type SupportedHookTypes = 'afterFind' | 'afterCreate' | 'afterUpdate';
4
- type CustomFieldEntries = Record<string, any>;
5
- interface GetValuesGroupByInstanceResponse {
6
- [modelId: string]: CustomFieldValue[];
7
- }
8
- interface GetCustomFieldEntriesByInstanceIdResponse {
9
- [modelId: string]: CustomFieldEntries;
10
- }
11
- export declare const getCustomFieldEntriesByInstanceId: ({ instancesIds, options, sadotOptions, }: {
12
- instancesIds: string[];
13
- options?: TransactionOptions;
14
- sadotOptions: Pick<CustomFieldOptions, 'useCustomFieldsEntries'>;
15
- }) => Promise<GetCustomFieldEntriesByInstanceIdResponse>;
16
- export declare const getValuesGroupByInstance: ({ instancesIds, options, sadotOptions, }: {
17
- instancesIds: string[];
18
- options?: TransactionOptions;
19
- sadotOptions: Pick<CustomFieldOptions, 'useCustomFieldsEntries'>;
20
- }) => Promise<GetValuesGroupByInstanceResponse>;
21
- /**
22
- * A hook to attach the custom fields when fetching a model instances.
23
- */
24
- declare const enrichResults: (modelType: string, scopeAttributes: string[], hookType?: SupportedHookTypes, modelOptions?: ModelOptions, sadotOptions?: Pick<CustomFieldOptions, 'useCustomFieldsEntries'>) => (instancesOrInstance: any | any[], options: TransactionOptions) => Promise<void>;
25
- export default enrichResults;
@@ -1 +0,0 @@
1
- export declare const beforeFind: (scopeAttributes: string[]) => (options: any) => void;
@@ -1,17 +0,0 @@
1
- import type { CustomFieldOptions, ModelOptions } from '../types';
2
- /**
3
- * Hook to handle validation and custom fields during creation
4
- */
5
- export declare const beforeCreate: (scopeAttributes: string[], modelOptions?: ModelOptions, sadotOptions?: Pick<CustomFieldOptions, 'useCustomFieldsEntries'>) => (instance: any, options: any) => Promise<void>;
6
- /**
7
- * Hook to handle validation and custom fields during update
8
- */
9
- export declare const beforeUpdate: (scopeAttributes: string[], modelOptions?: ModelOptions, sadotOptions?: Pick<CustomFieldOptions, 'useCustomFieldsEntries'>) => (instance: any, options: any) => Promise<void>;
10
- /**
11
- * Hook to enable individual hooks for bulk create operations
12
- */
13
- export declare const beforeBulkCreate: (options: any) => void;
14
- /**
15
- * Hook to enable individual hooks for bulk update operations
16
- */
17
- export declare const beforeBulkUpdate: (options: any) => void;
@@ -1,5 +0,0 @@
1
- import enrichResults from './enrich';
2
- import { beforeFind } from './find';
3
- import workaround from './workaround';
4
- import { beforeCreate, beforeUpdate, beforeBulkCreate, beforeBulkUpdate } from './hooks';
5
- export { enrichResults, beforeFind, workaround, beforeCreate, beforeUpdate, beforeBulkCreate, beforeBulkUpdate, };
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":";;;;;;AAAA,sDAAqC;AAYnC,wBAZK,gBAAa,CAYL;AAXf,iCAAoC;AAYlC,2FAZO,iBAAU,OAYP;AAXZ,8DAAsC;AAYpC,qBAZK,oBAAU,CAYL;AAXZ,mCAKiB;AAOf,6FAXA,oBAAY,OAWA;AACZ,6FAXA,oBAAY,OAWA;AACZ,iGAXA,wBAAgB,OAWA;AAChB,iGAXA,wBAAgB,OAWA"}
@@ -1,10 +0,0 @@
1
- import type { CustomFieldOptions, ModelOptions } from '../types';
2
- /**
3
- * A hook to update the custom fields when updating a model (more then one instance).
4
- */
5
- export declare const beforeBulkUpdate: (options: any) => void;
6
- /**
7
- * A hook to update the custom fields when updating a model instance.
8
- * TODO - cleanup if update fail
9
- */
10
- export declare const beforeUpdate: (scopeAttributes: string[], modelOptions?: ModelOptions, sadotOptions?: Pick<CustomFieldOptions, 'useCustomFieldsEntries'>) => (instance: any, options: any) => Promise<void>;
@@ -1,50 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.beforeUpdate = exports.beforeBulkUpdate = void 0;
7
- const logger_1 = __importDefault(require("../utils/logger"));
8
- const scopeAttributes_1 = __importDefault(require("../utils/scopeAttributes"));
9
- const updateInstanceValues_1 = __importDefault(require("./utils/updateInstanceValues"));
10
- /**
11
- * A hook to update the custom fields when updating a model (more then one instance).
12
- */
13
- const beforeBulkUpdate = (options) => {
14
- // This will activate the beforeUpdate hook on each updating instance.
15
- // eslint-disable-next-line no-param-reassign
16
- options.individualHooks = true;
17
- };
18
- exports.beforeBulkUpdate = beforeBulkUpdate;
19
- /**
20
- * A hook to update the custom fields when updating a model instance.
21
- * TODO - cleanup if update fail
22
- */
23
- const beforeUpdate = (scopeAttributes, modelOptions = {}, sadotOptions = { useCustomFieldsEntries: false }) => async (instance, options) => {
24
- logger_1.default.debug('sadot - before update hook');
25
- const { fields } = options;
26
- const modelType = instance.constructor.name;
27
- const identifiers = (0, scopeAttributes_1.default)(instance, scopeAttributes);
28
- const customFieldsIdx = fields.indexOf('customFields');
29
- if (customFieldsIdx > -1) {
30
- const { customFields } = instance;
31
- if (!Object.keys(customFields).length) {
32
- return;
33
- }
34
- await (0, updateInstanceValues_1.default)({
35
- modelId: instance.id,
36
- modelType,
37
- identifiers,
38
- customFields,
39
- options: {
40
- useCustomFieldsEntries: sadotOptions.useCustomFieldsEntries,
41
- transaction: options.transaction,
42
- modelOptions,
43
- },
44
- });
45
- // eslint-disable-next-line no-param-reassign
46
- fields.splice(customFieldsIdx, 1);
47
- }
48
- };
49
- exports.beforeUpdate = beforeUpdate;
50
- //# sourceMappingURL=update.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/hooks/update.ts"],"names":[],"mappings":";;;;;;AAAA,6DAAqC;AAErC,+EAA4D;AAC5D,wFAAgE;AAEhE;;GAEG;AACI,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAQ,EAAE;IAChD,sEAAsE;IACtE,6CAA6C;IAC7C,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;AACjC,CAAC,CAAC;AAJW,QAAA,gBAAgB,oBAI3B;AAEF;;;GAGG;AACI,MAAM,YAAY,GAAG,CAC1B,eAAyB,EACzB,eAA6B,EAAE,EAC/B,eAAmE,EAAE,sBAAsB,EAAE,KAAK,EAAE,EACpG,EAAE,CAAC,KAAK,EACR,QAAQ,EACR,OAAO,EACQ,EAAE;IACjB,gBAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAC3C,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAC3B,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC;IAC5C,MAAM,WAAW,GAAG,IAAA,yBAAoB,EAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IAEpE,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACvD,IAAI,eAAe,GAAG,CAAC,CAAC,EAAE,CAAC;QACzB,MAAM,EAAE,YAAY,EAAE,GAAG,QAAQ,CAAC;QAElC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,CAAC;YACtC,OAAO;QACT,CAAC;QAED,MAAM,IAAA,8BAAoB,EAAC;YACzB,OAAO,EAAE,QAAQ,CAAC,EAAE;YACpB,SAAS;YACT,WAAW;YACX,YAAY;YACZ,OAAO,EAAE;gBACP,sBAAsB,EAAE,YAAY,CAAC,sBAAsB;gBAC3D,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,YAAY;aACb;SACF,CAAC,CAAC;QAEH,6CAA6C;QAC7C,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;IACpC,CAAC;AACH,CAAC,CAAC;AApCW,QAAA,YAAY,gBAoCvB"}
@@ -1,15 +0,0 @@
1
- import type { Transaction } from 'sequelize';
2
- import type { ModelOptions } from '../../types';
3
- interface UpdateInstanceValuesParams {
4
- modelId: string;
5
- modelType: string;
6
- identifiers: string[];
7
- customFields: Record<string, any>;
8
- options?: {
9
- transaction?: Transaction;
10
- modelOptions?: ModelOptions;
11
- useCustomFieldsEntries?: boolean;
12
- };
13
- }
14
- declare const updateInstanceValues: ({ modelId, modelType, identifiers, customFields, options, }: UpdateInstanceValuesParams) => Promise<void>;
15
- export default updateInstanceValues;
@@ -1,10 +0,0 @@
1
- /**
2
- * Workaround to a bug in sequelize.🐛
3
- *
4
- * **afterFind hook** isn't working on nested (included) models.
5
- * The solution here is to add a global afterFind hook,
6
- * which manually calls the afterFind hook of each model, recursively
7
- * https://github.com/sequelize/sequelize/issues/4627
8
- */
9
- declare const handleChildrenAfterFindHook: (instances: any, options: any, level?: number) => any;
10
- export default handleChildrenAfterFindHook;
@@ -1,38 +0,0 @@
1
- "use strict";
2
- /**
3
- * Workaround to a bug in sequelize.🐛
4
- *
5
- * **afterFind hook** isn't working on nested (included) models.
6
- * The solution here is to add a global afterFind hook,
7
- * which manually calls the afterFind hook of each model, recursively
8
- * https://github.com/sequelize/sequelize/issues/4627
9
- */
10
- Object.defineProperty(exports, "__esModule", { value: true });
11
- const handleChildrenAfterFindHook = async (instances, options, level = 0) => {
12
- if (!instances)
13
- return Promise.resolve();
14
- if (Array.isArray(instances)) {
15
- return Promise.all(instances.map((instance) => {
16
- const { options: instanceOptions } = instance.constructor;
17
- return handleChildrenAfterFindHook(instance, instanceOptions, level);
18
- }));
19
- }
20
- const instance = instances;
21
- const { constructor } = instance;
22
- /**
23
- * Root model will have already run their "afterFind" hook.
24
- * Only run children "afterFind" hooks.
25
- */
26
- if (level >= 1) {
27
- await constructor.runHooks('afterFind', instance, options);
28
- }
29
- const { associations } = constructor;
30
- const associatedNames = Object.keys(instance).filter((attribute) => Object.keys(associations).includes(attribute));
31
- if (associatedNames.length) {
32
- const childInstances = associatedNames.map((name) => instance[name]);
33
- return handleChildrenAfterFindHook(childInstances, options, level + 1);
34
- }
35
- return Promise.resolve();
36
- };
37
- exports.default = handleChildrenAfterFindHook;
38
- //# sourceMappingURL=workaround.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"workaround.js","sourceRoot":"","sources":["../../src/hooks/workaround.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;AAEH,MAAM,2BAA2B,GAAG,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,GAAG,CAAC,EAAE,EAAE;IAC1E,IAAI,CAAC,SAAS;QAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAEzC,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,OAAO,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC5C,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,QAAQ,CAAC,WAAW,CAAC;YAC1D,OAAO,2BAA2B,CAChC,QAAQ,EACR,eAAe,EACf,KAAK,CACN,CAAC;QACJ,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,MAAM,QAAQ,GAAG,SAAS,CAAC;IAC3B,MAAM,EAAE,WAAW,EAAE,GAAG,QAAQ,CAAC;IAEjC;;;WAGO;IACP,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACf,MAAM,WAAW,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,EAAE,YAAY,EAAE,GAAG,WAAW,CAAC;IACrC,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CACjE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;IAEjD,IAAI,eAAe,CAAC,MAAM,EAAE,CAAC;QAC3B,MAAM,cAAc,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QACrE,OAAO,2BAA2B,CAAC,cAAc,EAAE,OAAO,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IACzE,CAAC;IAED,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;AAC3B,CAAC,CAAC;AAEF,kBAAe,2BAA2B,CAAC"}
@@ -1,25 +0,0 @@
1
- import { Model } from 'sequelize-typescript';
2
- import { CustomFieldDefinitionType } from '../utils/constants';
3
- import { CustomFieldValue } from '.';
4
- declare class CustomFieldDefinition extends Model {
5
- id: string;
6
- name: string;
7
- displayName?: string;
8
- fieldType: CustomFieldDefinitionType;
9
- validation?: any;
10
- entityId: string; /** Client association entity id */
11
- entityType: string; /** Client association entity type (demand source / fleet / etc.) */
12
- modelType: string; /** Model type. e.g. Vehicle / StopPoint / etc. */
13
- description?: string;
14
- required?: boolean;
15
- disabled?: boolean;
16
- defaultValue?: any;
17
- createdAt?: Date;
18
- updatedAt?: Date;
19
- deletedAt?: Date;
20
- blockEditingFromUI: boolean;
21
- values: CustomFieldValue[];
22
- static displayNameDefaultValue(instance: CustomFieldDefinition): void;
23
- static afterSaveHandler(instance: CustomFieldDefinition, options: any): void;
24
- }
25
- export default CustomFieldDefinition;
@@ -1,15 +0,0 @@
1
- import { Model } from 'sequelize-typescript';
2
- declare class CustomFieldEntries extends Model {
3
- /** The ID of the model of which this row hold the custom field entries of, e.g. vehicleId / stopPointId / etc. */
4
- modelId: string;
5
- /** The ID of the entity of which this row hold the custom field entries of, e.g. fleetId / etc. */
6
- entityId: string;
7
- /** A dictionary of customFields and values with the following structure: `{ customFieldName: 'CustomFieldValue' }` */
8
- customFields: Record<string, any>;
9
- /** The type of model which this custom field entry represents. e.g. Vehicle / StopPoint / etc. */
10
- modelType: string;
11
- createdAt?: Date;
12
- updatedAt?: Date;
13
- static afterSaveHandler(instance: CustomFieldEntries, options: any): void;
14
- }
15
- export default CustomFieldEntries;
@@ -1,16 +0,0 @@
1
- import { Model } from 'sequelize-typescript';
2
- import { CustomFieldDefinition } from '.';
3
- declare class CustomFieldValue extends Model {
4
- modelId: string;
5
- customFieldDefinitionId: string;
6
- value: any;
7
- createdAt?: Date;
8
- updatedAt?: Date;
9
- deletedAt?: Date;
10
- customFieldDefinition: CustomFieldDefinition;
11
- private static validateValueAgainstDefinition;
12
- static validateCustomFieldValues(instances: CustomFieldValue[]): Promise<void>;
13
- static validateCustomFieldValue(instance: CustomFieldValue): Promise<void>;
14
- static afterSaveHandler(instance: CustomFieldValue, options: any): void;
15
- }
16
- export default CustomFieldValue;
@@ -1,17 +0,0 @@
1
- import { Model } from 'sequelize-typescript';
2
- declare class CustomValidator extends Model {
3
- id: string;
4
- /** The ID of the entity for which this validator is defined, e.g. fleetId / etc. */
5
- entityId: string;
6
- /** The type of entity (fleet, businessModel, etc). */
7
- entityType: string;
8
- /** The type of model this validator applies to. e.g. Vehicle / StopPoint / etc. */
9
- modelType: string;
10
- /** JSON Schema to validate models against */
11
- schema: Record<string, unknown>;
12
- disabled: boolean;
13
- createdAt?: Date;
14
- updatedAt?: Date;
15
- static afterSaveHandler(instance: CustomValidator, options: any): void;
16
- }
17
- export default CustomValidator;
@@ -1,18 +0,0 @@
1
- import type { Sequelize } from 'sequelize-typescript';
2
- import CustomFieldDefinition from './CustomFieldDefinition';
3
- import CustomFieldValue from './CustomFieldValue';
4
- import TestModel from './tests/TestModel';
5
- import ContextAwareTestModel from './tests/contextAwareModels/ContextAwareTestModel';
6
- import ContextTestModel from './tests/contextAwareModels/ContextTestModel';
7
- import AssociatedTestModel from './tests/AssociatedTestModel';
8
- import type { CustomFieldOptions } from '../types';
9
- import CustomFieldEntries from './CustomFieldEntries';
10
- import CustomValidator from './CustomValidator';
11
- interface InitTablesOptions {
12
- schemaPrefix?: string;
13
- schemaVersion?: string;
14
- useCustomFieldsEntries?: boolean;
15
- }
16
- declare const initTables: (sequelize: Sequelize, getUser: CustomFieldOptions['getUser'], { schemaPrefix, schemaVersion, useCustomFieldsEntries, }?: InitTablesOptions) => Promise<void>;
17
- declare const initTestModels: (sequelize: Sequelize) => Promise<void>;
18
- export { CustomFieldValue, CustomFieldDefinition, CustomFieldEntries, CustomValidator, TestModel, AssociatedTestModel, ContextAwareTestModel, ContextTestModel, initTables, initTestModels, };
@@ -1,12 +0,0 @@
1
- import { Model } from 'sequelize-typescript';
2
- import TestModel from './TestModel';
3
- declare class AssociatedTestModel extends Model {
4
- id: string;
5
- testModelId: string;
6
- fleetId: string;
7
- businessModelId: string;
8
- demandSourceId: string;
9
- anotherAttribute?: boolean;
10
- testModel: TestModel;
11
- }
12
- export default AssociatedTestModel;
@@ -1,12 +0,0 @@
1
- import { Model } from 'sequelize-typescript';
2
- import AssociatedTestModel from './AssociatedTestModel';
3
- declare class TestModel extends Model {
4
- id: string;
5
- fleetId: string;
6
- businessModelId: string;
7
- demandSourceId: string;
8
- coolAttribute?: boolean;
9
- associatedModels: AssociatedTestModel[];
10
- customFields?: any;
11
- }
12
- export default TestModel;
@@ -1,10 +0,0 @@
1
- import { Model } from 'sequelize-typescript';
2
- import ContextTestModel from './ContextTestModel';
3
- declare class ContextAwareTestModel extends Model {
4
- id: string;
5
- contextId: string;
6
- coolAttribute?: boolean;
7
- customFields?: any;
8
- context: ContextTestModel;
9
- }
10
- export default ContextAwareTestModel;
@@ -1,13 +0,0 @@
1
- import { Model } from 'sequelize-typescript';
2
- declare enum EEntityTypes {
3
- BUSINESS_MODEL = "businessModel",
4
- CONTEXT = "context",
5
- DEMAND_SOURCE = "demandSource",
6
- FLEET = "fleet"
7
- }
8
- declare class ContextTestModel extends Model {
9
- id: string;
10
- entityId: string;
11
- entityType: EEntityTypes;
12
- }
13
- export default ContextTestModel;
@@ -1,37 +0,0 @@
1
- import { type Includeable, type Transaction, type FindOptions, type WhereOptions } from 'sequelize';
2
- import { CustomFieldDefinition, type CustomFieldEntries } from '../models';
3
- import type { CreateCustomFieldDefinition, UpdateCustomFieldDefinition } from '../types/definition';
4
- import type { ModelOptions } from '../types';
5
- export declare const create: (data: CreateCustomFieldDefinition) => Promise<CustomFieldDefinition>;
6
- interface SadotFindOptions {
7
- withDisabled?: boolean;
8
- transaction?: Transaction;
9
- include?: Includeable | Includeable[];
10
- }
11
- type SadotGetDefinitionsByEntityIdsOptions = FindOptions & {
12
- modelOptions?: ModelOptions;
13
- findAll?: typeof findAll;
14
- } & Pick<SadotFindOptions, 'withDisabled'>;
15
- export declare const findAll: (where: WhereOptions, options?: SadotFindOptions) => Promise<CustomFieldDefinition[]>;
16
- export declare const findByIds: (ids: string[], options?: SadotFindOptions) => Promise<CustomFieldDefinition[]>;
17
- export declare const findById: (id: string, options?: Pick<SadotFindOptions, 'withDisabled'>) => Promise<CustomFieldDefinition | null>;
18
- export declare const findByEntityIds: (modelType: string, entityIds: string[], options?: FindOptions & {
19
- modelOptions?: ModelOptions;
20
- }) => Promise<CustomFieldDefinition[]>;
21
- export declare const findByWhere: (where: any) => Promise<CustomFieldDefinition | null>;
22
- export declare const findDefinitionsByModels: (modelTypes: string[], options?: any) => Promise<CustomFieldDefinition[]>;
23
- export declare const update: (id: string, data: UpdateCustomFieldDefinition) => Promise<CustomFieldDefinition>;
24
- export declare const disable: (id: string) => Promise<[affectedCount: number]>;
25
- export declare const destroy: (id: string) => Promise<number>;
26
- /**
27
- * Return the names of the required fields for a given model
28
- */
29
- export declare const getRequiredFields: (modelType: string, modelId: string | string[], entityId: string | string[], modelOptions?: ModelOptions) => Promise<string[]>;
30
- /**
31
- * @returns A promise resolving with a dictionary of custom field definitions by name.
32
- * @throws A {@link MissingDefinitionError} if any of the custom fields doesn't have a definition.
33
- */
34
- export declare const getCustomFieldDefinitionsDictionary: (instances: CustomFieldEntries[], { findAll: _findAll, modelOptions, withDisabled, ...options }?: SadotGetDefinitionsByEntityIdsOptions) => Promise<{
35
- [definitionName: string]: CustomFieldDefinition;
36
- }>;
37
- export {};
@@ -1,13 +0,0 @@
1
- import type { FindOptions, Includeable, Transaction } from 'sequelize';
2
- import { CustomFieldEntries } from '../models';
3
- import type { ModelOptions } from '../types';
4
- type CustomFieldEntriesModelOptions = ModelOptions & {
5
- include?: Includeable;
6
- transaction?: Transaction;
7
- };
8
- export declare const findEntriesByModelId: (modelId: string, options?: CustomFieldEntriesModelOptions) => Promise<CustomFieldEntries>;
9
- export declare const findEntriesByModelIds: (modelIds: string[], options?: CustomFieldEntriesModelOptions) => Promise<CustomFieldEntries[]>;
10
- export declare const updateEntries: (modelId: string, modelType: string, customFields: Record<string, any>, identifiers: string[], options?: FindOptions & {
11
- modelOptions?: ModelOptions;
12
- }) => Promise<[CustomFieldEntries, boolean]>;
13
- export {};
@@ -1,3 +0,0 @@
1
- export declare const formatFunctions: {
2
- date: (value: any) => string;
3
- };
@@ -1,28 +0,0 @@
1
- import type { FindOptions, IncludeOptions, Transactionable } from 'sequelize';
2
- import { CustomValidator } from '../models';
3
- import type { ModelOptions } from '../types';
4
- export interface FindValidatorOptions extends Transactionable {
5
- withDisabled?: boolean;
6
- attributes?: string[];
7
- raw?: boolean;
8
- include?: IncludeOptions[];
9
- }
10
- export interface ValidatorAttributes {
11
- entityId: string;
12
- entityType: string;
13
- modelType: string;
14
- schema: CustomValidator['schema'];
15
- disabled?: boolean;
16
- [key: string]: unknown;
17
- }
18
- export declare const create: (validatorAttributes: ValidatorAttributes, options?: Transactionable) => Promise<CustomValidator>;
19
- export declare const findAll: (where?: {}, options?: FindOptions & {
20
- modelOptions?: ModelOptions;
21
- withDisabled?: boolean;
22
- }) => Promise<CustomValidator[]>;
23
- export declare const findAllByModelType: (modelType: string, entityId: string, options?: FindOptions & {
24
- modelOptions?: ModelOptions;
25
- withDisabled?: boolean;
26
- }) => Promise<CustomValidator[]>;
27
- export declare const update: (id: string, updates: Partial<ValidatorAttributes>, options?: Transactionable) => Promise<[number, CustomValidator[]]>;
28
- export declare const disable: (id: string, options?: Transactionable) => Promise<[number, CustomValidator[]]>;
@@ -1,28 +0,0 @@
1
- import type { FindOptions } from 'sequelize';
2
- import { CustomFieldValue } from '../models';
3
- import type { CreateCustomFieldValue, ValuesToUpdate } from '../types/value';
4
- import type { ModelOptions } from '../types';
5
- export declare const findByModelIdAndDefinition: (modelId: string, customFieldDefinitionId: string) => Promise<CustomFieldValue[]>;
6
- export declare const create: (data: CreateCustomFieldValue, withAssociations?: boolean) => Promise<CustomFieldValue>;
7
- export declare const findAllValues: () => Promise<CustomFieldValue[]>;
8
- /**
9
- * Get all values for model instance id (with their definitions)
10
- * @param modelId
11
- * @returns CustomFieldValue[]
12
- */
13
- export declare const findValuesByModelId: (modelId: string) => Promise<CustomFieldValue[]>;
14
- /**
15
- * Retrieves custom field values for given model IDs
16
- * @param modelIds - An array of model IDs to query custom field values for.
17
- * @param options - Optional configuration object.
18
- */
19
- export declare const findValuesByModelIds: (modelIds: string[], options?: any) => Promise<CustomFieldValue[]>;
20
- /**
21
- * Try to update custom field values for a model instance.
22
- * Create new value record if not exists, but fails if value's definition not exist.
23
- * Return the updated values
24
- */
25
- export declare const updateValues: (modelType: string, modelId: string, identifiers: string[], valuesToUpdate: ValuesToUpdate, options?: FindOptions & {
26
- modelOptions?: ModelOptions;
27
- }) => Promise<CustomFieldValue[]>;
28
- export declare const deleteValue: (id: string, options?: any) => Promise<any>;
@@ -1,2 +0,0 @@
1
- import { customFieldsFilterScope } from './filter';
2
- export { customFieldsFilterScope, };
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/scopes/index.ts"],"names":[],"mappings":";;;AAAA,iDAAiD;AACjD,qCAAmD;AAGjD,wGAHO,gCAAuB,OAGP"}