@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.
- package/dist/_virtual/_@oxc-project_runtime@0.89.0/helpers/decorate.cjs +1 -0
- package/dist/_virtual/_@oxc-project_runtime@0.89.0/helpers/decorate.js +1 -0
- package/dist/_virtual/_@oxc-project_runtime@0.89.0/helpers/decorateMetadata.cjs +1 -0
- package/dist/_virtual/_@oxc-project_runtime@0.89.0/helpers/decorateMetadata.js +1 -0
- package/dist/_virtual/rolldown_runtime.cjs +1 -0
- package/dist/api/index.cjs +2 -0
- package/dist/api/index.cjs.map +1 -0
- package/dist/api/index.js +1 -12
- package/dist/api/index.js.map +1 -1
- package/dist/api/v1/definition/index.cjs +2 -0
- package/dist/api/v1/definition/index.cjs.map +1 -0
- package/dist/api/v1/definition/index.js +1 -116
- package/dist/api/v1/definition/index.js.map +1 -1
- package/dist/api/v1/definition/validations.cjs +2 -0
- package/dist/api/v1/definition/validations.cjs.map +1 -0
- package/dist/api/v1/definition/validations.js +1 -77
- package/dist/api/v1/definition/validations.js.map +1 -1
- package/dist/api/v1/errors.cjs +2 -0
- package/dist/api/v1/errors.cjs.map +1 -0
- package/dist/api/v1/errors.js +1 -12
- package/dist/api/v1/errors.js.map +1 -1
- package/dist/api/v1/index.cjs +2 -0
- package/dist/api/v1/index.cjs.map +1 -0
- package/dist/api/v1/index.js +1 -13
- package/dist/api/v1/index.js.map +1 -1
- package/dist/api/v1/validator/index.cjs +2 -0
- package/dist/api/v1/validator/index.cjs.map +1 -0
- package/dist/api/v1/validator/index.js +1 -143
- package/dist/api/v1/validator/index.js.map +1 -1
- package/dist/api/v1/validator/validations.cjs +2 -0
- package/dist/api/v1/validator/validations.cjs.map +1 -0
- package/dist/api/v1/validator/validations.js +1 -38
- package/dist/api/v1/validator/validations.js.map +1 -1
- package/dist/errors/index.cjs +3 -0
- package/dist/errors/index.cjs.map +1 -0
- package/dist/errors/index.js +2 -66
- package/dist/errors/index.js.map +1 -1
- package/dist/events/index.cjs +2 -0
- package/dist/events/index.cjs.map +1 -0
- package/dist/events/index.js +1 -54
- package/dist/events/index.js.map +1 -1
- package/dist/hooks/enrich.cjs +2 -0
- package/dist/hooks/enrich.cjs.map +1 -0
- package/dist/hooks/enrich.js +1 -197
- package/dist/hooks/enrich.js.map +1 -1
- package/dist/hooks/find.cjs +2 -0
- package/dist/hooks/find.cjs.map +1 -0
- package/dist/hooks/find.js +1 -29
- package/dist/hooks/find.js.map +1 -1
- package/dist/hooks/hooks.cjs +2 -0
- package/dist/hooks/hooks.cjs.map +1 -0
- package/dist/hooks/hooks.js +1 -387
- package/dist/hooks/hooks.js.map +1 -1
- package/dist/hooks/index.cjs +1 -0
- package/dist/hooks/index.js +1 -18
- package/dist/hooks/utils/updateInstanceValues.cjs +2 -0
- package/dist/hooks/utils/updateInstanceValues.cjs.map +1 -0
- package/dist/hooks/utils/updateInstanceValues.js +1 -50
- package/dist/hooks/utils/updateInstanceValues.js.map +1 -1
- package/dist/index.cjs +2 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +19 -0
- package/dist/index.d.ts +18 -12
- package/dist/index.js +1 -67
- package/dist/index.js.map +1 -1
- package/dist/models/CustomFieldDefinition.cjs +2 -0
- package/dist/models/CustomFieldDefinition.cjs.map +1 -0
- package/dist/models/CustomFieldDefinition.js +1 -201
- package/dist/models/CustomFieldDefinition.js.map +1 -1
- package/dist/models/CustomFieldEntries.cjs +2 -0
- package/dist/models/CustomFieldEntries.cjs.map +1 -0
- package/dist/models/CustomFieldEntries.js +1 -129
- package/dist/models/CustomFieldEntries.js.map +1 -1
- package/dist/models/CustomFieldValue.cjs +2 -0
- package/dist/models/CustomFieldValue.cjs.map +1 -0
- package/dist/models/CustomFieldValue.js +1 -160
- package/dist/models/CustomFieldValue.js.map +1 -1
- package/dist/models/CustomValidator.cjs +2 -0
- package/dist/models/CustomValidator.cjs.map +1 -0
- package/dist/models/CustomValidator.js +1 -104
- package/dist/models/CustomValidator.js.map +1 -1
- package/dist/models/index.cjs +2 -0
- package/dist/models/index.cjs.map +1 -0
- package/dist/models/index.js +1 -131
- package/dist/models/index.js.map +1 -1
- package/dist/models/tests/AssociatedTestModel.cjs +2 -0
- package/dist/models/tests/AssociatedTestModel.cjs.map +1 -0
- package/dist/models/tests/AssociatedTestModel.js +1 -73
- package/dist/models/tests/AssociatedTestModel.js.map +1 -1
- package/dist/models/tests/TestModel.cjs +2 -0
- package/dist/models/tests/TestModel.cjs.map +1 -0
- package/dist/models/tests/TestModel.js +1 -71
- package/dist/models/tests/TestModel.js.map +1 -1
- package/dist/models/tests/contextAwareModels/ContextAwareTestModel.cjs +2 -0
- package/dist/models/tests/contextAwareModels/ContextAwareTestModel.cjs.map +1 -0
- package/dist/models/tests/contextAwareModels/ContextAwareTestModel.js +1 -53
- package/dist/models/tests/contextAwareModels/ContextAwareTestModel.js.map +1 -1
- package/dist/models/tests/contextAwareModels/ContextTestModel.cjs +2 -0
- package/dist/models/tests/contextAwareModels/ContextTestModel.cjs.map +1 -0
- package/dist/models/tests/contextAwareModels/ContextTestModel.js +1 -47
- package/dist/models/tests/contextAwareModels/ContextTestModel.js.map +1 -1
- package/dist/repository/definition.cjs +2 -0
- package/dist/repository/definition.cjs.map +1 -0
- package/dist/repository/definition.js +1 -123
- package/dist/repository/definition.js.map +1 -1
- package/dist/repository/entries.cjs +2 -0
- package/dist/repository/entries.cjs.map +1 -0
- package/dist/repository/entries.js +1 -92
- package/dist/repository/entries.js.map +1 -1
- package/dist/repository/utils/formatValues.cjs +2 -0
- package/dist/repository/utils/formatValues.cjs.map +1 -0
- package/dist/repository/utils/formatValues.js +1 -16
- package/dist/repository/utils/formatValues.js.map +1 -1
- package/dist/repository/validator.cjs +2 -0
- package/dist/repository/validator.cjs.map +1 -0
- package/dist/repository/validator.js +1 -69
- package/dist/repository/validator.js.map +1 -1
- package/dist/repository/value.cjs +2 -0
- package/dist/repository/value.cjs.map +1 -0
- package/dist/repository/value.js +1 -124
- package/dist/repository/value.js.map +1 -1
- package/dist/scopes/filter.cjs +2 -0
- package/dist/scopes/filter.cjs.map +1 -0
- package/dist/scopes/filter.d.cts +23 -0
- package/dist/scopes/filter.d.ts +22 -29
- package/dist/scopes/filter.js +1 -75
- package/dist/scopes/filter.js.map +1 -1
- package/dist/scopes/helpers/filter.helpers.cjs +46 -0
- package/dist/scopes/helpers/filter.helpers.cjs.map +1 -0
- package/dist/scopes/helpers/filter.helpers.d.cts +17 -0
- package/dist/scopes/helpers/filter.helpers.d.ts +15 -40
- package/dist/scopes/helpers/filter.helpers.js +24 -183
- package/dist/scopes/helpers/filter.helpers.js.map +1 -1
- package/dist/scopes/index.cjs +1 -0
- package/dist/scopes/index.js +1 -7
- package/dist/types/index.d.cts +44 -0
- package/dist/types/index.d.ts +41 -44
- package/dist/utils/constants/index.cjs +2 -0
- package/dist/utils/constants/index.cjs.map +1 -0
- package/dist/utils/constants/index.d.cts +22 -0
- package/dist/utils/constants/index.d.ts +20 -17
- package/dist/utils/constants/index.js +1 -22
- package/dist/utils/constants/index.js.map +1 -1
- package/dist/utils/db/index.cjs +2 -0
- package/dist/utils/db/index.cjs.map +1 -0
- package/dist/utils/db/index.js +1 -24
- package/dist/utils/db/index.js.map +1 -1
- package/dist/utils/helpers/index.cjs +2 -0
- package/dist/utils/helpers/index.cjs.map +1 -0
- package/dist/utils/helpers/index.d.cts +31 -0
- package/dist/utils/helpers/index.d.ts +28 -23
- package/dist/utils/helpers/index.js +1 -40
- package/dist/utils/helpers/index.js.map +1 -1
- package/dist/utils/init.cjs +2 -0
- package/dist/utils/init.cjs.map +1 -0
- package/dist/utils/init.js +1 -112
- package/dist/utils/init.js.map +1 -1
- package/dist/utils/logger/index.cjs +2 -0
- package/dist/utils/logger/index.cjs.map +1 -0
- package/dist/utils/logger/index.js +1 -42
- package/dist/utils/logger/index.js.map +1 -1
- package/dist/utils/scopeAttributes.cjs +2 -0
- package/dist/utils/scopeAttributes.cjs.map +1 -0
- package/dist/utils/scopeAttributes.js +1 -11
- package/dist/utils/scopeAttributes.js.map +1 -1
- package/dist/utils/validations/index.cjs +2 -0
- package/dist/utils/validations/index.cjs.map +1 -0
- package/dist/utils/validations/index.js +1 -41
- package/dist/utils/validations/index.js.map +1 -1
- package/dist/utils/validations/schema/custom-fields.cjs +2 -0
- package/dist/utils/validations/schema/custom-fields.cjs.map +1 -0
- package/dist/utils/validations/schema/custom-fields.d.cts +7 -0
- package/dist/utils/validations/schema/custom-fields.d.ts +6 -2
- package/dist/utils/validations/schema/custom-fields.js +1 -9
- package/dist/utils/validations/schema/custom-fields.js.map +1 -1
- package/dist/utils/validations/schema/validator-schema.cjs +2 -0
- package/dist/utils/validations/schema/validator-schema.cjs.map +1 -0
- package/dist/utils/validations/schema/validator-schema.js +1 -95
- package/dist/utils/validations/schema/validator-schema.js.map +1 -1
- package/dist/utils/validations/validators/index.cjs +2 -0
- package/dist/utils/validations/validators/index.cjs.map +1 -0
- package/dist/utils/validations/validators/index.js +1 -40
- package/dist/utils/validations/validators/index.js.map +1 -1
- package/dist/utils/validations/validators/select.validator.cjs +2 -0
- package/dist/utils/validations/validators/select.validator.cjs.map +1 -0
- package/dist/utils/validations/validators/select.validator.js +1 -12
- package/dist/utils/validations/validators/select.validator.js.map +1 -1
- package/dist/utils/validations/validators/status.validator.cjs +2 -0
- package/dist/utils/validations/validators/status.validator.cjs.map +1 -0
- package/dist/utils/validations/validators/status.validator.js +1 -15
- package/dist/utils/validations/validators/status.validator.js.map +1 -1
- package/package.json +20 -4
- package/dist/api/index.d.ts +0 -3
- package/dist/api/v1/definition/index.d.ts +0 -3
- package/dist/api/v1/definition/validations.d.ts +0 -2
- package/dist/api/v1/errors.d.ts +0 -4
- package/dist/api/v1/index.d.ts +0 -3
- package/dist/api/v1/validator/index.d.ts +0 -3
- package/dist/api/v1/validator/validations.d.ts +0 -6
- package/dist/errors/index.d.ts +0 -24
- package/dist/events/index.d.ts +0 -5
- package/dist/hooks/create.d.ts +0 -10
- package/dist/hooks/create.js +0 -96
- package/dist/hooks/create.js.map +0 -1
- package/dist/hooks/enrich.d.ts +0 -25
- package/dist/hooks/find.d.ts +0 -1
- package/dist/hooks/hooks.d.ts +0 -17
- package/dist/hooks/index.d.ts +0 -5
- package/dist/hooks/index.js.map +0 -1
- package/dist/hooks/update.d.ts +0 -10
- package/dist/hooks/update.js +0 -50
- package/dist/hooks/update.js.map +0 -1
- package/dist/hooks/utils/updateInstanceValues.d.ts +0 -15
- package/dist/hooks/workaround.d.ts +0 -10
- package/dist/hooks/workaround.js +0 -38
- package/dist/hooks/workaround.js.map +0 -1
- package/dist/models/CustomFieldDefinition.d.ts +0 -25
- package/dist/models/CustomFieldEntries.d.ts +0 -15
- package/dist/models/CustomFieldValue.d.ts +0 -16
- package/dist/models/CustomValidator.d.ts +0 -17
- package/dist/models/index.d.ts +0 -18
- package/dist/models/tests/AssociatedTestModel.d.ts +0 -12
- package/dist/models/tests/TestModel.d.ts +0 -12
- package/dist/models/tests/contextAwareModels/ContextAwareTestModel.d.ts +0 -10
- package/dist/models/tests/contextAwareModels/ContextTestModel.d.ts +0 -13
- package/dist/repository/definition.d.ts +0 -37
- package/dist/repository/entries.d.ts +0 -13
- package/dist/repository/utils/formatValues.d.ts +0 -3
- package/dist/repository/validator.d.ts +0 -28
- package/dist/repository/value.d.ts +0 -28
- package/dist/scopes/index.d.ts +0 -2
- package/dist/scopes/index.js.map +0 -1
- package/dist/types/definition/index.d.ts +0 -25
- package/dist/types/definition/index.js +0 -3
- package/dist/types/definition/index.js.map +0 -1
- package/dist/types/entries/index.d.ts +0 -25
- package/dist/types/entries/index.js +0 -3
- package/dist/types/entries/index.js.map +0 -1
- package/dist/types/index.js +0 -3
- package/dist/types/index.js.map +0 -1
- package/dist/types/value/index.d.ts +0 -15
- package/dist/types/value/index.js +0 -3
- package/dist/types/value/index.js.map +0 -1
- package/dist/utils/db/index.d.ts +0 -4
- package/dist/utils/init.d.ts +0 -7
- package/dist/utils/logger/index.d.ts +0 -3
- package/dist/utils/scopeAttributes.d.ts +0 -2
- package/dist/utils/validations/index.d.ts +0 -8
- package/dist/utils/validations/schema/validator-schema.d.ts +0 -9
- package/dist/utils/validations/type.d.ts +0 -15
- package/dist/utils/validations/type.js +0 -3
- package/dist/utils/validations/type.js.map +0 -1
- package/dist/utils/validations/validators/index.d.ts +0 -14
- package/dist/utils/validations/validators/select.validator.d.ts +0 -5
- package/dist/utils/validations/validators/status.validator.d.ts +0 -12
package/dist/errors/index.d.ts
DELETED
|
@@ -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
|
-
}
|
package/dist/events/index.d.ts
DELETED
|
@@ -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;
|
package/dist/hooks/create.d.ts
DELETED
|
@@ -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>;
|
package/dist/hooks/create.js
DELETED
|
@@ -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
|
package/dist/hooks/create.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/hooks/create.ts"],"names":[],"mappings":"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"}
|
package/dist/hooks/enrich.d.ts
DELETED
|
@@ -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;
|
package/dist/hooks/find.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const beforeFind: (scopeAttributes: string[]) => (options: any) => void;
|
package/dist/hooks/hooks.d.ts
DELETED
|
@@ -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;
|
package/dist/hooks/index.d.ts
DELETED
|
@@ -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, };
|
package/dist/hooks/index.js.map
DELETED
|
@@ -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"}
|
package/dist/hooks/update.d.ts
DELETED
|
@@ -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>;
|
package/dist/hooks/update.js
DELETED
|
@@ -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
|
package/dist/hooks/update.js.map
DELETED
|
@@ -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;
|
package/dist/hooks/workaround.js
DELETED
|
@@ -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;
|
package/dist/models/index.d.ts
DELETED
|
@@ -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,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>;
|
package/dist/scopes/index.d.ts
DELETED
package/dist/scopes/index.js.map
DELETED
|
@@ -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"}
|