@autofleet/sadot 0.0.1-beta.1 → 0.0.1-beta.11
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/api/v1/definition/index.js +3 -2
- package/dist/api/v1/definition/index.js.map +1 -1
- package/dist/api/v1/definition/validations.js +2 -2
- package/dist/api/v1/definition/validations.js.map +1 -1
- package/dist/hooks/create.js +3 -3
- package/dist/hooks/create.js.map +1 -1
- package/dist/hooks/find.js +48 -7
- package/dist/hooks/find.js.map +1 -1
- package/dist/hooks/index.js +4 -3
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/update.js +3 -3
- package/dist/hooks/update.js.map +1 -1
- package/dist/hooks/workaround.js +2 -2
- package/dist/hooks/workaround.js.map +1 -1
- package/dist/index.js +6 -10
- package/dist/index.js.map +1 -1
- package/dist/models/CustomFieldDefinition.js +7 -1
- package/dist/models/CustomFieldDefinition.js.map +1 -1
- package/dist/models/CustomFieldValue.js +5 -3
- package/dist/models/CustomFieldValue.js.map +1 -1
- package/dist/models/index.js +18 -5
- package/dist/models/index.js.map +1 -1
- package/dist/repository/definition.js +8 -14
- package/dist/repository/definition.js.map +1 -1
- package/dist/repository/value.js +8 -9
- package/dist/repository/value.js.map +1 -1
- package/dist/tests/helpers/database-config.js +17 -0
- package/dist/tests/helpers/database-config.js.map +1 -0
- package/dist/tests/mocks/events.mock.js +20 -0
- package/dist/tests/mocks/events.mock.js.map +1 -0
- package/dist/tests/mocks/index.js +2 -1
- package/dist/tests/mocks/index.js.map +1 -1
- package/dist/tests/mocks/testModel.js +7 -5
- package/dist/tests/mocks/testModel.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -3
- package/src/api/v1/definition/index.ts +9 -9
- package/src/api/v1/definition/validations.ts +2 -2
- package/src/hooks/create.ts +6 -4
- package/src/hooks/find.ts +49 -9
- package/src/hooks/index.ts +3 -2
- package/src/hooks/update.ts +11 -4
- package/src/hooks/workaround.ts +2 -2
- package/src/index.ts +14 -10
- package/src/models/CustomFieldDefinition.ts +8 -2
- package/src/models/CustomFieldValue.ts +7 -5
- package/src/models/index.ts +21 -7
- package/src/models/tests/AssociatedTestModel.ts +0 -1
- package/src/models/tests/TestModel.ts +0 -1
- package/src/repository/definition.ts +8 -15
- package/src/repository/value.ts +8 -9
- package/src/tests/helpers/database-config.ts +14 -0
- package/src/tests/mocks/events.mock.ts +1 -1
- package/src/tests/mocks/index.ts +3 -2
- package/src/tests/mocks/testModel.ts +12 -7
- package/src/types/index.ts +1 -3
- package/tsconfig.json +0 -1
|
@@ -43,7 +43,7 @@ const validations_1 = require("./validations");
|
|
|
43
43
|
const logger_1 = __importDefault(require("../../../utils/logger"));
|
|
44
44
|
const router = (0, express_1.Router)({ mergeParams: true });
|
|
45
45
|
const ENTITY = 'CustomFieldDefinition';
|
|
46
|
-
const toPascalCase = (str) => str.replace(/(^\w|-\w)/g, subStr => subStr.replace(/-/, '').toUpperCase());
|
|
46
|
+
const toPascalCase = (str) => str.replace(/(^\w|-\w)/g, (subStr) => subStr.replace(/-/, '').toUpperCase());
|
|
47
47
|
/**
|
|
48
48
|
* Create
|
|
49
49
|
*/
|
|
@@ -86,7 +86,7 @@ router.get('/', (req, res) => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
86
86
|
try {
|
|
87
87
|
const customFieldDefinitions = yield DefinitionRepo.findAll({
|
|
88
88
|
modelType,
|
|
89
|
-
});
|
|
89
|
+
}, { withDisabled: true });
|
|
90
90
|
return res.json(customFieldDefinitions);
|
|
91
91
|
}
|
|
92
92
|
catch (err) {
|
|
@@ -101,6 +101,7 @@ router.patch('/:customFieldDefinitionId', (req, res) => __awaiter(void 0, void 0
|
|
|
101
101
|
const { customFieldDefinitionId, modelName } = req.params;
|
|
102
102
|
const modelType = toPascalCase(modelName);
|
|
103
103
|
try {
|
|
104
|
+
// eslint-disable-next-line max-len
|
|
104
105
|
const validatedPayload = yield (0, validations_1.validateCustomFieldDefinitionUpdate)(req.body);
|
|
105
106
|
const customFieldDefinition = yield DefinitionRepo.findByWhere({
|
|
106
107
|
id: customFieldDefinitionId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/v1/definition/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAA0D;AAC1D,qCAAiC;AAEjC,uDAAoC;AACpC,+EAAiE;AAEjE,+CAA2G;AAC3G,mEAA2C;AAE3C,MAAM,MAAM,GAAG,IAAA,gBAAM,EAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;AAC7C,MAAM,MAAM,GAAG,uBAAuB,CAAC;AAEvC,MAAM,YAAY,GAAG,CAAC,GAAW,EAAU,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/v1/definition/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,8 +29,8 @@ const CustomFieldDefinitionUpdateSchema = joi_1.default.object({
|
|
|
29
29
|
required: joi_1.default.boolean(),
|
|
30
30
|
disabled: joi_1.default.boolean(),
|
|
31
31
|
});
|
|
32
|
-
const validateCustomFieldDefinitionCreation = payload => CustomFieldDefinitionCreationSchema.validateAsync(payload, { abortEarly: false });
|
|
32
|
+
const validateCustomFieldDefinitionCreation = (payload) => CustomFieldDefinitionCreationSchema.validateAsync(payload, { abortEarly: false });
|
|
33
33
|
exports.validateCustomFieldDefinitionCreation = validateCustomFieldDefinitionCreation;
|
|
34
|
-
const validateCustomFieldDefinitionUpdate = payload => CustomFieldDefinitionUpdateSchema.validateAsync(payload, { abortEarly: false });
|
|
34
|
+
const validateCustomFieldDefinitionUpdate = (payload) => CustomFieldDefinitionUpdateSchema.validateAsync(payload, { abortEarly: false });
|
|
35
35
|
exports.validateCustomFieldDefinitionUpdate = validateCustomFieldDefinitionUpdate;
|
|
36
36
|
//# sourceMappingURL=validations.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validations.js","sourceRoot":"","sources":["../../../../src/api/v1/definition/validations.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA4B;AAC5B,iFAAkF;AAElF,MAAM,mCAAmC,GAAG,aAAG,CAAC,MAAM,CAAC;IACrD,IAAI,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,WAAW,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,UAAU,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,SAAS,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAC3B,iDAAyB,CAAC,OAAO,EACjC,iDAAyB,CAAC,MAAM,EAChC,iDAAyB,CAAC,IAAI,EAC9B,iDAAyB,CAAC,QAAQ,EAClC,iDAAyB,CAAC,IAAI,EAC9B,iDAAyB,CAAC,KAAK,EAC/B,iDAAyB,CAAC,IAAI,CAC/B,CAAC,QAAQ,EAAE;IACZ,QAAQ,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IACxC,UAAU,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,SAAS,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,WAAW,EAAE,aAAG,CAAC,MAAM,EAAE;IACzB,QAAQ,EAAE,aAAG,CAAC,OAAO,EAAE;IACvB,QAAQ,EAAE,aAAG,CAAC,OAAO,EAAE;CACxB,CAAC,CAAC;AAEH,MAAM,iCAAiC,GAAG,aAAG,CAAC,MAAM,CAAC;IACnD,WAAW,EAAE,aAAG,CAAC,MAAM,EAAE;IACzB,UAAU,EAAE,aAAG,CAAC,MAAM,EAAE;IACxB,SAAS,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAC3B,iDAAyB,CAAC,OAAO,EACjC,iDAAyB,CAAC,MAAM,EAChC,iDAAyB,CAAC,IAAI,EAC9B,iDAAyB,CAAC,QAAQ,EAClC,iDAAyB,CAAC,IAAI,EAC9B,iDAAyB,CAAC,KAAK,EAC/B,iDAAyB,CAAC,IAAI,CAC/B;IACD,QAAQ,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IAC7B,UAAU,EAAE,aAAG,CAAC,MAAM,EAAE;IACxB,SAAS,EAAE,aAAG,CAAC,MAAM,EAAE;IACvB,WAAW,EAAE,aAAG,CAAC,MAAM,EAAE;IACzB,QAAQ,EAAE,aAAG,CAAC,OAAO,EAAE;IACvB,QAAQ,EAAE,aAAG,CAAC,OAAO,EAAE;CACxB,CAAC,CAAC;AAEI,MAAM,qCAAqC,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"validations.js","sourceRoot":"","sources":["../../../../src/api/v1/definition/validations.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA4B;AAC5B,iFAAkF;AAElF,MAAM,mCAAmC,GAAG,aAAG,CAAC,MAAM,CAAC;IACrD,IAAI,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,WAAW,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,UAAU,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,SAAS,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAC3B,iDAAyB,CAAC,OAAO,EACjC,iDAAyB,CAAC,MAAM,EAChC,iDAAyB,CAAC,IAAI,EAC9B,iDAAyB,CAAC,QAAQ,EAClC,iDAAyB,CAAC,IAAI,EAC9B,iDAAyB,CAAC,KAAK,EAC/B,iDAAyB,CAAC,IAAI,CAC/B,CAAC,QAAQ,EAAE;IACZ,QAAQ,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IACxC,UAAU,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,SAAS,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,WAAW,EAAE,aAAG,CAAC,MAAM,EAAE;IACzB,QAAQ,EAAE,aAAG,CAAC,OAAO,EAAE;IACvB,QAAQ,EAAE,aAAG,CAAC,OAAO,EAAE;CACxB,CAAC,CAAC;AAEH,MAAM,iCAAiC,GAAG,aAAG,CAAC,MAAM,CAAC;IACnD,WAAW,EAAE,aAAG,CAAC,MAAM,EAAE;IACzB,UAAU,EAAE,aAAG,CAAC,MAAM,EAAE;IACxB,SAAS,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAC3B,iDAAyB,CAAC,OAAO,EACjC,iDAAyB,CAAC,MAAM,EAChC,iDAAyB,CAAC,IAAI,EAC9B,iDAAyB,CAAC,QAAQ,EAClC,iDAAyB,CAAC,IAAI,EAC9B,iDAAyB,CAAC,KAAK,EAC/B,iDAAyB,CAAC,IAAI,CAC/B;IACD,QAAQ,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IAC7B,UAAU,EAAE,aAAG,CAAC,MAAM,EAAE;IACxB,SAAS,EAAE,aAAG,CAAC,MAAM,EAAE;IACvB,WAAW,EAAE,aAAG,CAAC,MAAM,EAAE;IACzB,QAAQ,EAAE,aAAG,CAAC,OAAO,EAAE;IACvB,QAAQ,EAAE,aAAG,CAAC,OAAO,EAAE;CACxB,CAAC,CAAC;AAEI,MAAM,qCAAqC,GAAG,CAAC,OAAO,EAAE,EAAE,CAC/D,mCAAmC,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;AADvE,QAAA,qCAAqC,yCACkC;AAE7E,MAAM,mCAAmC,GAAG,CAAC,OAAO,EAAE,EAAE,CAC7D,iCAAiC,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;AADrE,QAAA,mCAAmC,uCACkC"}
|
package/dist/hooks/create.js
CHANGED
|
@@ -51,17 +51,17 @@ exports.beforeBulkCreate = beforeBulkCreate;
|
|
|
51
51
|
const beforeCreate = (scopeAttributes) => (instance, options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
52
52
|
const { fields } = options;
|
|
53
53
|
const modelType = instance.constructor.name;
|
|
54
|
-
const identifiers = scopeAttributes.map(attribute => instance[attribute]);
|
|
54
|
+
const identifiers = scopeAttributes.map((attribute) => instance[attribute]);
|
|
55
55
|
// get all model's required definitions
|
|
56
56
|
const requiredFieldsNames = yield DefinitionRepo.getRequiredFields(modelType, instance.id, identifiers);
|
|
57
57
|
const customFieldsIdx = fields.indexOf('customFields');
|
|
58
58
|
const { customFields } = instance;
|
|
59
59
|
if (customFieldsIdx > -1 && customFields) {
|
|
60
60
|
const fieldsNames = Object.keys(customFields);
|
|
61
|
-
if (requiredFieldsNames.some(name => !fieldsNames.includes(name))) {
|
|
61
|
+
if (requiredFieldsNames.some((name) => !fieldsNames.includes(name))) {
|
|
62
62
|
throw new Error('some fields are required');
|
|
63
63
|
}
|
|
64
|
-
yield ValueRepo.updateValues(modelType, instance.id, customFields, { transaction: options.transaction });
|
|
64
|
+
yield ValueRepo.updateValues(modelType, instance.id, identifiers, customFields, { transaction: options.transaction });
|
|
65
65
|
// eslint-disable-next-line no-param-reassign
|
|
66
66
|
fields.splice(customFieldsIdx, 1);
|
|
67
67
|
}
|
package/dist/hooks/create.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/hooks/create.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+DAAiD;AACjD,yEAA2D;AAE3D;;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;AACF;;;GAGG;AACI,MAAM,YAAY,GAAG,CAAC,eAAyB,EAAE,EAAE,CAAC,CACzD,QAAQ,EACR,OAAO,EACQ,EAAE;IACjB,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAC3B,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC;IAC5C,MAAM,WAAW,GAAG,eAAe,CAAC,GAAG,CAAC,SAAS,
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/hooks/create.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+DAAiD;AACjD,yEAA2D;AAE3D;;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;AACF;;;GAGG;AACI,MAAM,YAAY,GAAG,CAAC,eAAyB,EAAE,EAAE,CAAC,CACzD,QAAQ,EACR,OAAO,EACQ,EAAE;IACjB,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAC3B,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC;IAC5C,MAAM,WAAW,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;IAC5E,uCAAuC;IACvC,MAAM,mBAAmB,GAAG,MAAM,cAAc,CAAC,iBAAiB,CAAC,SAAS,EAC1E,QAAQ,CAAC,EAAE,EACX,WAAW,CAAC,CAAC;IACf,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACvD,MAAM,EAAE,YAAY,EAAE,GAAG,QAAQ,CAAC;IAClC,IAAI,eAAe,GAAG,CAAC,CAAC,IAAI,YAAY,EAAE;QACxC,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC9C,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE;YACnE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;SAC7C;QAED,MAAM,SAAS,CAAC,YAAY,CAC1B,SAAS,EACT,QAAQ,CAAC,EAAE,EACX,WAAW,EACX,YAAY,EACZ,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CACrC,CAAC;QACF,6CAA6C;QAC7C,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;KACnC;SAAM,IAAI,CAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,MAAM,IAAG,CAAC,EAAE;QAC1C,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;KAC7C;AACH,CAAC,CAAA,CAAC;AA/BW,QAAA,YAAY,gBA+BvB"}
|
package/dist/hooks/find.js
CHANGED
|
@@ -31,9 +31,15 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
31
31
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
32
|
});
|
|
33
33
|
};
|
|
34
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
35
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
36
|
+
};
|
|
34
37
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
38
|
+
exports.enrichResults = exports.beforeFind = void 0;
|
|
39
|
+
/* eslint-disable no-param-reassign */
|
|
35
40
|
const ValueRepo = __importStar(require("../repository/value"));
|
|
36
41
|
const DefinitionRepo = __importStar(require("../repository/definition"));
|
|
42
|
+
const logger_1 = __importDefault(require("../utils/logger"));
|
|
37
43
|
/**
|
|
38
44
|
* Serialize custom fields value into the format of {[name] -> [fieldData]}
|
|
39
45
|
*/
|
|
@@ -41,23 +47,51 @@ const serializeCustomFields = (customFieldValues) => {
|
|
|
41
47
|
const customFields = customFieldValues.reduce((acc, cfv) => (Object.assign(Object.assign({}, acc), { [cfv.customFieldDefinition.name]: cfv.value })), {});
|
|
42
48
|
return customFields;
|
|
43
49
|
};
|
|
50
|
+
const doScopeAttributesMissing = (scopeAttributes, queryAttributes) => {
|
|
51
|
+
var _a;
|
|
52
|
+
const attributes = scopeAttributes
|
|
53
|
+
.filter((attribute) => !queryAttributes.includes(attribute));
|
|
54
|
+
if (!((_a = queryAttributes.includes) === null || _a === void 0 ? void 0 : _a.call(queryAttributes, 'id'))) {
|
|
55
|
+
attributes.push('id');
|
|
56
|
+
}
|
|
57
|
+
return attributes;
|
|
58
|
+
};
|
|
59
|
+
const beforeFind = (scopeAttributes) => (options) => {
|
|
60
|
+
const { attributes: queryAttributes } = options;
|
|
61
|
+
if (queryAttributes === null || queryAttributes === void 0 ? void 0 : queryAttributes.includes('customFields')) {
|
|
62
|
+
const missingScopeAttributes = doScopeAttributesMissing(scopeAttributes, queryAttributes);
|
|
63
|
+
if ((missingScopeAttributes === null || missingScopeAttributes === void 0 ? void 0 : missingScopeAttributes.length) > 0) {
|
|
64
|
+
queryAttributes.push(...missingScopeAttributes);
|
|
65
|
+
options.attributesToRemove = missingScopeAttributes;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
exports.beforeFind = beforeFind;
|
|
44
70
|
/**
|
|
45
71
|
* A hook to attach the custom fields when fetching a model instances.
|
|
46
72
|
*/
|
|
47
|
-
const
|
|
73
|
+
const enrichResults = (scopeAttributes) => (instancesOrInstance, options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
74
|
+
var _a, _b, _c;
|
|
75
|
+
if (((_a = options.originalAttributes) === null || _a === void 0 ? void 0 : _a.length) > 0
|
|
76
|
+
&& !((_c = (_b = options.originalAttributes) === null || _b === void 0 ? void 0 : _b.includes) === null || _c === void 0 ? void 0 : _c.call(_b, 'customFields'))) {
|
|
77
|
+
logger_1.default.info('No custom fields needed, returning', { options });
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
48
80
|
const primaryKey = 'id';
|
|
49
|
-
|
|
81
|
+
let instances = Array.isArray(instancesOrInstance)
|
|
50
82
|
? instancesOrInstance
|
|
51
83
|
: [instancesOrInstance];
|
|
52
|
-
|
|
53
|
-
const
|
|
84
|
+
instances = instances.filter((instance) => !!instance);
|
|
85
|
+
const identifiers = instances.map((instance) => scopeAttributes
|
|
86
|
+
.map((attr) => instance[attr])).flat();
|
|
87
|
+
const uniqueIdentifiers = [...new Set(identifiers)].filter((identifier) => !!identifier);
|
|
54
88
|
const identifierCustomFieldDefinitionsMapping = {};
|
|
55
89
|
yield Promise.all(uniqueIdentifiers.map((identifier) => __awaiter(void 0, void 0, void 0, function* () {
|
|
56
90
|
const customFieldDefinitions = yield DefinitionRepo.findByEntityId(identifier, options.transaction);
|
|
57
91
|
identifierCustomFieldDefinitionsMapping[identifier] = customFieldDefinitions;
|
|
58
92
|
})));
|
|
59
93
|
// Get the values per instates ids:
|
|
60
|
-
const instancesIds = instances.map(i => i[primaryKey]);
|
|
94
|
+
const instancesIds = instances.map((i) => i[primaryKey]);
|
|
61
95
|
const customFieldValues = yield ValueRepo.findValuesByModelIds(instancesIds, { transaction: options.transaction });
|
|
62
96
|
// Group fields by modelId
|
|
63
97
|
const valuesGroupByInstance = customFieldValues.reduce((acc, v) => {
|
|
@@ -70,6 +104,7 @@ const afterFind = (scopeAttributes) => (instancesOrInstance, options) => __await
|
|
|
70
104
|
}, {});
|
|
71
105
|
// Attach custom fields to the instances
|
|
72
106
|
instances.forEach((instance) => {
|
|
107
|
+
var _a, _b;
|
|
73
108
|
const customFields = {};
|
|
74
109
|
const { id } = instance;
|
|
75
110
|
const instanceValues = valuesGroupByInstance[id];
|
|
@@ -88,8 +123,14 @@ const afterFind = (scopeAttributes) => (instancesOrInstance, options) => __await
|
|
|
88
123
|
});
|
|
89
124
|
}
|
|
90
125
|
});
|
|
91
|
-
instance.
|
|
126
|
+
instance.customFields = customFields;
|
|
127
|
+
(_b = (_a = options.attributesToRemove) === null || _a === void 0 ? void 0 : _a.forEach) === null || _b === void 0 ? void 0 : _b.call(_a, (attribute) => {
|
|
128
|
+
var _a;
|
|
129
|
+
(_a = instance.dataValues) === null || _a === void 0 ? true : delete _a[attribute];
|
|
130
|
+
// if raw:
|
|
131
|
+
instance === null || instance === void 0 ? true : delete instance[attribute];
|
|
132
|
+
});
|
|
92
133
|
});
|
|
93
134
|
});
|
|
94
|
-
exports.
|
|
135
|
+
exports.enrichResults = enrichResults;
|
|
95
136
|
//# sourceMappingURL=find.js.map
|
package/dist/hooks/find.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find.js","sourceRoot":"","sources":["../../src/hooks/find.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"find.js","sourceRoot":"","sources":["../../src/hooks/find.ts"],"names":[],"mappings":"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"}
|
package/dist/hooks/index.js
CHANGED
|
@@ -3,9 +3,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.workaround = exports.beforeCreate = exports.beforeBulkCreate = exports.beforeUpdate = exports.beforeBulkUpdate = exports.
|
|
7
|
-
const find_1 =
|
|
8
|
-
exports
|
|
6
|
+
exports.workaround = exports.beforeCreate = exports.beforeBulkCreate = exports.beforeUpdate = exports.beforeBulkUpdate = exports.beforeFind = exports.enrichResults = void 0;
|
|
7
|
+
const find_1 = require("./find");
|
|
8
|
+
Object.defineProperty(exports, "enrichResults", { enumerable: true, get: function () { return find_1.enrichResults; } });
|
|
9
|
+
Object.defineProperty(exports, "beforeFind", { enumerable: true, get: function () { return find_1.beforeFind; } });
|
|
9
10
|
const update_1 = require("./update");
|
|
10
11
|
Object.defineProperty(exports, "beforeBulkUpdate", { enumerable: true, get: function () { return update_1.beforeBulkUpdate; } });
|
|
11
12
|
Object.defineProperty(exports, "beforeUpdate", { enumerable: true, get: function () { return update_1.beforeUpdate; } });
|
package/dist/hooks/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":";;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":";;;;;;AAAA,iCAAmD;AAMjD,8FANO,oBAAa,OAMP;AACb,2FAPsB,iBAAU,OAOtB;AANZ,qCAA0D;AAOxD,iGAPO,yBAAgB,OAOP;AAChB,6FARyB,qBAAY,OAQzB;AAPd,qCAA0D;AAQxD,iGARO,yBAAgB,OAQP;AAChB,6FATyB,qBAAY,OASzB;AARd,8DAAsC;AASpC,qBATK,oBAAU,CASL"}
|
package/dist/hooks/update.js
CHANGED
|
@@ -51,17 +51,17 @@ exports.beforeBulkUpdate = beforeBulkUpdate;
|
|
|
51
51
|
const beforeUpdate = (scopeAttributes) => (instance, options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
52
52
|
const { fields } = options;
|
|
53
53
|
const modelType = instance.constructor.name;
|
|
54
|
-
const identifiers = scopeAttributes.map(attribute => instance[attribute]);
|
|
54
|
+
const identifiers = scopeAttributes.map((attribute) => instance[attribute]);
|
|
55
55
|
// get all model's required definitions
|
|
56
56
|
const requiredNullFieldsNames = yield DefinitionRepo.getRequiredFields(modelType, instance.id, identifiers, true);
|
|
57
57
|
const customFieldsIdx = fields.indexOf('customFields');
|
|
58
58
|
if (customFieldsIdx > -1) {
|
|
59
59
|
const { customFields } = instance;
|
|
60
60
|
const fieldsNames = Object.keys(customFields);
|
|
61
|
-
if (requiredNullFieldsNames.some(name => !fieldsNames.includes(name))) {
|
|
61
|
+
if (requiredNullFieldsNames.some((name) => !fieldsNames.includes(name))) {
|
|
62
62
|
throw new Error('some fields are required');
|
|
63
63
|
}
|
|
64
|
-
yield ValueRepo.updateValues(modelType, instance.id, customFields, { transaction: options.transaction });
|
|
64
|
+
yield ValueRepo.updateValues(modelType, instance.id, identifiers, customFields, { transaction: options.transaction });
|
|
65
65
|
// eslint-disable-next-line no-param-reassign
|
|
66
66
|
fields.splice(customFieldsIdx, 1);
|
|
67
67
|
}
|
package/dist/hooks/update.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/hooks/update.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+DAAiD;AACjD,yEAA2D;AAE3D;;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;
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/hooks/update.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+DAAiD;AACjD,yEAA2D;AAE3D;;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,CAAC,eAAyB,EAAE,EAAE,CAAC,CACzD,QAAQ,EACR,OAAO,EACQ,EAAE;IACjB,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAC3B,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC;IAC5C,MAAM,WAAW,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;IAE5E,uCAAuC;IACvC,MAAM,uBAAuB,GAAG,MAAM,cAAc,CAAC,iBAAiB,CACpE,SAAS,EACT,QAAQ,CAAC,EAAE,EACX,WAAW,EACX,IAAI,CACL,CAAC;IAEF,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACvD,IAAI,eAAe,GAAG,CAAC,CAAC,EAAE;QACxB,MAAM,EAAE,YAAY,EAAE,GAAG,QAAQ,CAAC;QAClC,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC9C,IAAI,uBAAuB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE;YACvE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;SAC7C;QACD,MAAM,SAAS,CAAC,YAAY,CAC1B,SAAS,EACT,QAAQ,CAAC,EAAE,EACX,WAAW,EACX,YAAY,EACZ,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CACrC,CAAC;QACF,6CAA6C;QAC7C,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;KACnC;SAAM,IAAI,CAAA,uBAAuB,aAAvB,uBAAuB,uBAAvB,uBAAuB,CAAE,MAAM,IAAG,CAAC,EAAE;QAC9C,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;KAC7C;AACH,CAAC,CAAA,CAAC;AAnCW,QAAA,YAAY,gBAmCvB"}
|
package/dist/hooks/workaround.js
CHANGED
|
@@ -36,9 +36,9 @@ const handleChildrenAfterFindHook = (instances, options, level = 0) => __awaiter
|
|
|
36
36
|
yield constructor.runHooks('afterFind', instance, options);
|
|
37
37
|
}
|
|
38
38
|
const { associations } = constructor;
|
|
39
|
-
const associatedNames = Object.keys(instance).filter(attribute => Object.keys(associations).includes(attribute));
|
|
39
|
+
const associatedNames = Object.keys(instance).filter((attribute) => Object.keys(associations).includes(attribute));
|
|
40
40
|
if (associatedNames.length) {
|
|
41
|
-
const childInstances = associatedNames.map(name => instance[name]);
|
|
41
|
+
const childInstances = associatedNames.map((name) => instance[name]);
|
|
42
42
|
return handleChildrenAfterFindHook(childInstances, options, level + 1);
|
|
43
43
|
}
|
|
44
44
|
return Promise.resolve();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workaround.js","sourceRoot":"","sources":["../../src/hooks/workaround.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;;;;;;;;;AAEH,MAAM,2BAA2B,GAAG,CAAO,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;QAC5B,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;KACL;IAED,MAAM,QAAQ,GAAG,SAAS,CAAC;IAC3B,MAAM,EAAE,WAAW,EAAE,GAAG,QAAQ,CAAC;IAEjC;;;WAGO;IACP,IAAI,KAAK,IAAI,CAAC,EAAE;QACd,MAAM,WAAW,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;KAC5D;IAED,MAAM,EAAE,YAAY,EAAE,GAAG,WAAW,CAAC;IACrC,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,SAAS,
|
|
1
|
+
{"version":3,"file":"workaround.js","sourceRoot":"","sources":["../../src/hooks/workaround.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;;;;;;;;;AAEH,MAAM,2BAA2B,GAAG,CAAO,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;QAC5B,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;KACL;IAED,MAAM,QAAQ,GAAG,SAAS,CAAC;IAC3B,MAAM,EAAE,WAAW,EAAE,GAAG,QAAQ,CAAC;IAEjC;;;WAGO;IACP,IAAI,KAAK,IAAI,CAAC,EAAE;QACd,MAAM,WAAW,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;KAC5D;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;QAC1B,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;KACxE;IAED,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;AAC3B,CAAC,CAAA,CAAC;AAEF,kBAAe,2BAA2B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -45,12 +45,13 @@ const addHooks = (models, getModel) => {
|
|
|
45
45
|
model.refreshAttributes();
|
|
46
46
|
// TODO: Uncomment after tests are passed
|
|
47
47
|
// model.addHook('afterFind', workaround);
|
|
48
|
-
model.addHook('
|
|
48
|
+
model.addHook('beforeFind', (0, hooks_1.beforeFind)(scopeAttributes));
|
|
49
49
|
model.addHook('beforeBulkCreate', hooks_1.beforeBulkCreate);
|
|
50
|
-
model.addHook('afterFind', (0, hooks_1.afterFind)(scopeAttributes));
|
|
51
50
|
model.addHook('beforeBulkUpdate', hooks_1.beforeBulkUpdate);
|
|
52
51
|
model.addHook('beforeCreate', (0, hooks_1.beforeCreate)(scopeAttributes));
|
|
53
52
|
model.addHook('beforeUpdate', (0, hooks_1.beforeUpdate)(scopeAttributes));
|
|
53
|
+
model.addHook('afterFind', (0, hooks_1.enrichResults)(scopeAttributes));
|
|
54
|
+
model.addHook('afterUpdate', (0, hooks_1.enrichResults)(scopeAttributes));
|
|
54
55
|
}
|
|
55
56
|
catch (e) {
|
|
56
57
|
logger_1.default.error(`Could not add custom fields hook to model ${name}. `, e);
|
|
@@ -62,18 +63,13 @@ const addHooks = (models, getModel) => {
|
|
|
62
63
|
* @see {@link 'custom-fields/config'} for configurations
|
|
63
64
|
*/
|
|
64
65
|
const useCustomFields = (app, getModel, options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
65
|
-
const {
|
|
66
|
+
const { models } = options;
|
|
66
67
|
// deepAfterFindWorkAround(sequelize);
|
|
67
68
|
if (app) {
|
|
68
69
|
app.use('/api', api_1.default);
|
|
69
70
|
}
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
yield (0, models_1.initTables)(moreInnerSequelize);
|
|
73
|
-
}
|
|
74
|
-
else {
|
|
75
|
-
yield (0, models_1.initTables)(innerSequelize);
|
|
76
|
-
}
|
|
71
|
+
const sequelize = (0, db_1.default)(options.databaseConfig);
|
|
72
|
+
yield (0, models_1.initTables)(sequelize, options.getUser);
|
|
77
73
|
addHooks(models, getModel);
|
|
78
74
|
});
|
|
79
75
|
exports.default = useCustomFields;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,yCAAsC;AACtC,qCAAsC;AACtC,gDAAwB;AACxB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,yCAAsC;AACtC,qCAAsC;AACtC,gDAAwB;AACxB,mCAOiB;AACjB,oDAAgC;AAChC,4DAAoC;AAGpC,oEAAkD;AAElD,MAAM,QAAQ,GAAG,CAAC,MAAsB,EAAE,QAAsB,EAAE,EAAE;IAClE,MAAM,CAAC,OAAO,CAAC,CAAO,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE;QACjD,IAAI;YACF,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC7B,IAAI,CAAC,KAAK;gBAAE,OAAO;YACnB,KAAK,CAAC,aAAa,CAAC,YAAY,GAAG;gBACjC,IAAI,EAAE,qBAAS,CAAC,OAAO;aACxB,CAAC;YACF,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC1B,yCAAyC;YACzC,0CAA0C;YAC1C,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,IAAA,kBAAU,EAAC,eAAe,CAAC,CAAC,CAAC;YACzD,KAAK,CAAC,OAAO,CAAC,kBAAkB,EAAE,wBAAgB,CAAC,CAAC;YACpD,KAAK,CAAC,OAAO,CAAC,kBAAkB,EAAE,wBAAgB,CAAC,CAAC;YACpD,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,IAAA,oBAAY,EAAC,eAAe,CAAC,CAAC,CAAC;YAC7D,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,IAAA,oBAAY,EAAC,eAAe,CAAC,CAAC,CAAC;YAC7D,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,IAAA,qBAAa,EAAC,eAAe,CAAC,CAAC,CAAC;YAC3D,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,IAAA,qBAAa,EAAC,eAAe,CAAC,CAAC,CAAC;SAC9D;QAAC,OAAO,CAAC,EAAE;YACV,gBAAM,CAAC,KAAK,CAAC,6CAA6C,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;SACxE;IACH,CAAC,CAAA,CAAC,CAAC;AACL,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,eAAe,GAAG,CACtB,GAAuB,EACvB,QAAsB,EACtB,OAA2B,EACZ,EAAE;IACjB,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAC3B,sCAAsC;IACtC,IAAI,GAAG,EAAE;QACP,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,aAAG,CAAC,CAAC;KACtB;IACD,MAAM,SAAS,GAAG,IAAA,YAAM,EAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACjD,MAAM,IAAA,mBAAU,EAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7C,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAC7B,CAAC,CAAA,CAAC;AAEF,kBAAe,eAAe,CAAC"}
|
|
@@ -11,12 +11,14 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.CustomFieldDefinitionType = void 0;
|
|
13
13
|
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
14
|
+
/* eslint-disable indent */
|
|
14
15
|
const sequelize_typescript_1 = require("sequelize-typescript");
|
|
15
16
|
const _1 = require(".");
|
|
16
17
|
const events_1 = require("../events");
|
|
17
18
|
/**
|
|
18
19
|
* Supported custom field types
|
|
19
20
|
*/
|
|
21
|
+
// eslint-disable-next-line no-shadow
|
|
20
22
|
var CustomFieldDefinitionType;
|
|
21
23
|
(function (CustomFieldDefinitionType) {
|
|
22
24
|
CustomFieldDefinitionType["NUMBER"] = "number";
|
|
@@ -151,7 +153,11 @@ CustomFieldDefinition = __decorate([
|
|
|
151
153
|
(0, sequelize_typescript_1.DefaultScope)(() => ({ where: { disabled: false } })),
|
|
152
154
|
(0, sequelize_typescript_1.Table)({
|
|
153
155
|
indexes: [
|
|
154
|
-
{
|
|
156
|
+
{
|
|
157
|
+
name: 'unique_name_model_type',
|
|
158
|
+
fields: ['name', 'model_type', 'entity_id'],
|
|
159
|
+
unique: true,
|
|
160
|
+
},
|
|
155
161
|
],
|
|
156
162
|
timestamps: true,
|
|
157
163
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomFieldDefinition.js","sourceRoot":"","sources":["../../src/models/CustomFieldDefinition.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sDAAsD;AACtD,+DAU8B;AAC9B,wBAAqC;AACrC,sCAAyC;AAEzC;;GAEG;AACH,IAAY,yBAQX;AARD,WAAY,yBAAyB;IACnC,8CAAiB,CAAA;IACjB,gDAAmB,CAAA;IACnB,0CAAa,CAAA;IACb,kDAAqB,CAAA;IACrB,0CAAa,CAAA;IACb,4CAAe,CAAA;IACf,0CAAa,CAAA;AACf,CAAC,EARW,yBAAyB,GAAzB,iCAAyB,KAAzB,iCAAyB,QAQpC;
|
|
1
|
+
{"version":3,"file":"CustomFieldDefinition.js","sourceRoot":"","sources":["../../src/models/CustomFieldDefinition.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,6 +45,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
45
45
|
};
|
|
46
46
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
47
47
|
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
48
|
+
/* eslint-disable indent */
|
|
48
49
|
const sequelize_typescript_1 = require("sequelize-typescript");
|
|
49
50
|
const events_1 = require("../events");
|
|
50
51
|
const _1 = require(".");
|
|
@@ -55,7 +56,7 @@ let CustomFieldValue = class CustomFieldValue extends sequelize_typescript_1.Mod
|
|
|
55
56
|
static validateValues(instances) {
|
|
56
57
|
return __awaiter(this, void 0, void 0, function* () {
|
|
57
58
|
logger_1.default.info('CustomFieldValue BeforeBulkCreate/BeforeBulkUpdate', { instances });
|
|
58
|
-
const ids = instances.map(instance => instance.customFieldDefinitionId);
|
|
59
|
+
const ids = instances.map((instance) => instance.customFieldDefinitionId);
|
|
59
60
|
const uniqueIds = [...new Set(ids)];
|
|
60
61
|
const definitions = yield CustomFieldDefinitionRepo.findByIds(uniqueIds, { withDisabled: true });
|
|
61
62
|
if (!definitions || definitions.length !== uniqueIds.length) {
|
|
@@ -63,7 +64,7 @@ let CustomFieldValue = class CustomFieldValue extends sequelize_typescript_1.Mod
|
|
|
63
64
|
}
|
|
64
65
|
instances.forEach((instance) => {
|
|
65
66
|
const { validation, fieldType, } = definitions
|
|
66
|
-
.find(definition => definition.id === instance.customFieldDefinitionId);
|
|
67
|
+
.find((definition) => definition.id === instance.customFieldDefinitionId);
|
|
67
68
|
const isValid = (0, validations_1.default)(instance.value, fieldType, validation);
|
|
68
69
|
if (!isValid) {
|
|
69
70
|
throw new Error('Invalid value');
|
|
@@ -75,6 +76,7 @@ let CustomFieldValue = class CustomFieldValue extends sequelize_typescript_1.Mod
|
|
|
75
76
|
return __awaiter(this, void 0, void 0, function* () {
|
|
76
77
|
logger_1.default.info('CustomFieldValue BeforeCreate/BeforeUpdate', { instance });
|
|
77
78
|
const { customFieldDefinitionId } = instance;
|
|
79
|
+
// eslint-disable-next-line max-len
|
|
78
80
|
const cfd = yield CustomFieldDefinitionRepo.findById(customFieldDefinitionId, { withDisabled: true });
|
|
79
81
|
const { validation, fieldType } = cfd;
|
|
80
82
|
const isValid = (0, validations_1.default)(instance.value, fieldType, validation);
|
|
@@ -113,7 +115,7 @@ __decorate([
|
|
|
113
115
|
__decorate([
|
|
114
116
|
(0, sequelize_typescript_1.Column)({
|
|
115
117
|
type: sequelize_typescript_1.DataType.JSONB,
|
|
116
|
-
allowNull:
|
|
118
|
+
allowNull: true,
|
|
117
119
|
}),
|
|
118
120
|
__metadata("design:type", Object)
|
|
119
121
|
], CustomFieldValue.prototype, "value", void 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomFieldValue.js","sourceRoot":"","sources":["../../src/models/CustomFieldValue.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sDAAsD;AACtD,+
|
|
1
|
+
{"version":3,"file":"CustomFieldValue.js","sourceRoot":"","sources":["../../src/models/CustomFieldValue.ts"],"names":[],"mappings":"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"}
|
package/dist/models/index.js
CHANGED
|
@@ -14,7 +14,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.initTables = exports.AssociatedTestModel = exports.TestModel = exports.CustomFieldDefinition = exports.CustomFieldValue = void 0;
|
|
16
16
|
const logger_1 = __importDefault(require("../utils/logger"));
|
|
17
|
-
// import addPermanentHooks from '../hooks/permanent-hooks';
|
|
18
17
|
const CustomFieldDefinition_1 = __importDefault(require("./CustomFieldDefinition"));
|
|
19
18
|
exports.CustomFieldDefinition = CustomFieldDefinition_1.default;
|
|
20
19
|
const CustomFieldValue_1 = __importDefault(require("./CustomFieldValue"));
|
|
@@ -23,18 +22,17 @@ const TestModel_1 = __importDefault(require("./tests/TestModel"));
|
|
|
23
22
|
exports.TestModel = TestModel_1.default;
|
|
24
23
|
const AssociatedTestModel_1 = __importDefault(require("./tests/AssociatedTestModel"));
|
|
25
24
|
exports.AssociatedTestModel = AssociatedTestModel_1.default;
|
|
26
|
-
// export const CustomFieldDefinition = CustomFieldDefinitionModel;
|
|
27
|
-
// export { default as CustomFieldDefinition } from './custom-field-definition.model';
|
|
28
25
|
const productionModels = [CustomFieldDefinition_1.default, CustomFieldValue_1.default];
|
|
29
26
|
const testModels = [...productionModels, TestModel_1.default, AssociatedTestModel_1.default];
|
|
30
|
-
const initTables = (sequelize) => __awaiter(void 0, void 0, void 0, function* () {
|
|
27
|
+
const initTables = (sequelize, getUser) => __awaiter(void 0, void 0, void 0, function* () {
|
|
31
28
|
logger_1.default.info('custom-fields: initialize custom-fields tables');
|
|
32
29
|
// Detect models and import them to the orm
|
|
33
30
|
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
|
|
34
31
|
if (!sequelize.addModels) {
|
|
35
32
|
throw new Error('sequelize instance must have addModels function');
|
|
36
33
|
}
|
|
37
|
-
|
|
34
|
+
const models = process.env.NODE_ENV === 'test' ? testModels : productionModels;
|
|
35
|
+
sequelize.addModels(models);
|
|
38
36
|
yield sequelize.dropSchema('custom-fields', { logging: false });
|
|
39
37
|
yield sequelize.createSchema('custom-fields', { logging: false });
|
|
40
38
|
logger_1.default.info('custom-fields: models added');
|
|
@@ -45,6 +43,21 @@ const initTables = (sequelize) => __awaiter(void 0, void 0, void 0, function* ()
|
|
|
45
43
|
yield AssociatedTestModel_1.default.sync({ alter: true });
|
|
46
44
|
}
|
|
47
45
|
logger_1.default.info('custom-fields: models synced');
|
|
46
|
+
CustomFieldDefinition_1.default.addScope('userScope', () => {
|
|
47
|
+
const user = getUser();
|
|
48
|
+
if (user === null || user === void 0 ? void 0 : user.permissions) {
|
|
49
|
+
return {
|
|
50
|
+
where: {
|
|
51
|
+
entityId: [
|
|
52
|
+
...Object.keys(user.permissions.fleets),
|
|
53
|
+
...Object.keys(user.permissions.businessModels),
|
|
54
|
+
...Object.keys(user.permissions.demandSources),
|
|
55
|
+
],
|
|
56
|
+
},
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
return {};
|
|
60
|
+
});
|
|
48
61
|
});
|
|
49
62
|
exports.initTables = initTables;
|
|
50
63
|
//# sourceMappingURL=index.js.map
|
package/dist/models/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,6DAAqC;AACrC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,6DAAqC;AACrC,oFAA4D;AAmD1D,gCAnDK,+BAAqB,CAmDL;AAlDvB,0EAAkD;AAiDhD,2BAjDK,0BAAgB,CAiDL;AAhDlB,kEAA0C;AAkDxC,oBAlDK,mBAAS,CAkDL;AAjDX,sFAA8D;AAkD5D,8BAlDK,6BAAmB,CAkDL;AAhDrB,MAAM,gBAAgB,GAAG,CAAC,+BAAqB,EAAE,0BAAgB,CAAC,CAAC;AACnE,MAAM,UAAU,GAAG,CAAC,GAAG,gBAAgB,EAAE,mBAAS,EAAE,6BAAmB,CAAC,CAAC;AAEzE,MAAM,UAAU,GAAG,CAAO,SAAoB,EAAE,OAAO,EAAiB,EAAE;IACxE,gBAAM,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;IAC9D,2CAA2C;IAC3C,4EAA4E;IAC5E,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE;QACxB,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;KACpE;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC;IAE/E,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC5B,MAAM,SAAS,CAAC,UAAU,CAAC,eAAe,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IAChE,MAAM,SAAS,CAAC,YAAY,CAAC,eAAe,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IAElE,gBAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IAC3C,MAAM,+BAAqB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAClD,MAAM,0BAAgB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAE7C,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,EAAE;QACnC,MAAM,mBAAS,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACtC,MAAM,6BAAmB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;KACjD;IACD,gBAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;IAE5C,+BAAqB,CAAC,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;QAC/C,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;QACvB,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,WAAW,EAAE;YACrB,OAAO;gBACL,KAAK,EAAE;oBACL,QAAQ,EAAE;wBACR,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;wBACvC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC;wBAC/C,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;qBAC/C;iBACF;aACF,CAAC;SACH;QACD,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;AACL,CAAC,CAAA,CAAC;AAOA,gCAAU"}
|
|
@@ -14,17 +14,11 @@ const sequelize_1 = require("sequelize");
|
|
|
14
14
|
const models_1 = require("../models");
|
|
15
15
|
const create = (data) => models_1.CustomFieldDefinition.create(data);
|
|
16
16
|
exports.create = create;
|
|
17
|
-
const findAll = (
|
|
17
|
+
const findAll = (where, options = { withDisabled: false }) => {
|
|
18
18
|
if (options.withDisabled) {
|
|
19
|
-
return models_1.CustomFieldDefinition.unscoped().findAll({
|
|
20
|
-
where: query,
|
|
21
|
-
include: [models_1.CustomFieldValue],
|
|
22
|
-
});
|
|
19
|
+
return models_1.CustomFieldDefinition.unscoped().scope('userScope').findAll({ where });
|
|
23
20
|
}
|
|
24
|
-
return models_1.CustomFieldDefinition.findAll({
|
|
25
|
-
where: query,
|
|
26
|
-
include: [models_1.CustomFieldValue],
|
|
27
|
-
});
|
|
21
|
+
return models_1.CustomFieldDefinition.scope('userScope').findAll({ where });
|
|
28
22
|
};
|
|
29
23
|
exports.findAll = findAll;
|
|
30
24
|
const findByIds = (ids, options = { withDisabled: false }) => (0, exports.findAll)({ id: { [sequelize_1.Op.in]: ids } }, options);
|
|
@@ -32,11 +26,11 @@ exports.findByIds = findByIds;
|
|
|
32
26
|
const findById = (id, options = { withDisabled: false }) => {
|
|
33
27
|
const { withDisabled } = options;
|
|
34
28
|
if (withDisabled) {
|
|
35
|
-
return models_1.CustomFieldDefinition.unscoped().findByPk(id, {
|
|
29
|
+
return models_1.CustomFieldDefinition.unscoped().scope('userScope').findByPk(id, {
|
|
36
30
|
include: [models_1.CustomFieldValue],
|
|
37
31
|
});
|
|
38
32
|
}
|
|
39
|
-
return models_1.CustomFieldDefinition.findByPk(id, {
|
|
33
|
+
return models_1.CustomFieldDefinition.scope('userScope').findByPk(id, {
|
|
40
34
|
include: [models_1.CustomFieldValue],
|
|
41
35
|
});
|
|
42
36
|
};
|
|
@@ -48,7 +42,7 @@ const findByEntityId = (entityId, options = {}) => __awaiter(void 0, void 0, voi
|
|
|
48
42
|
});
|
|
49
43
|
});
|
|
50
44
|
exports.findByEntityId = findByEntityId;
|
|
51
|
-
const findByWhere = (where) => models_1.CustomFieldDefinition.findOne({
|
|
45
|
+
const findByWhere = (where) => models_1.CustomFieldDefinition.scope('userScope').findOne({
|
|
52
46
|
where,
|
|
53
47
|
include: [models_1.CustomFieldValue],
|
|
54
48
|
});
|
|
@@ -63,7 +57,7 @@ const findDefinitionsByModels = (modelTypes, options) => __awaiter(void 0, void
|
|
|
63
57
|
});
|
|
64
58
|
exports.findDefinitionsByModels = findDefinitionsByModels;
|
|
65
59
|
const update = (id, data) => __awaiter(void 0, void 0, void 0, function* () {
|
|
66
|
-
const updatedDefinition = (yield models_1.CustomFieldDefinition.update(data, {
|
|
60
|
+
const updatedDefinition = (yield models_1.CustomFieldDefinition.scope('userScope').update(data, {
|
|
67
61
|
where: { id },
|
|
68
62
|
returning: true,
|
|
69
63
|
individualHooks: true,
|
|
@@ -100,7 +94,7 @@ const getRequiredFields = (modelType, modelId, entityId, onlyNull = false) => __
|
|
|
100
94
|
},
|
|
101
95
|
logging: true,
|
|
102
96
|
});
|
|
103
|
-
const requiredFieldsNames = requiredFields.map(definition => definition.name);
|
|
97
|
+
const requiredFieldsNames = requiredFields.map((definition) => definition.name);
|
|
104
98
|
return [...new Set(requiredFieldsNames)];
|
|
105
99
|
});
|
|
106
100
|
exports.getRequiredFields = getRequiredFields;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition.js","sourceRoot":"","sources":["../../src/repository/definition.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yCAA6C;AAC7C,sCAAoE;AAG7D,MAAM,MAAM,GAAG,CAAC,IAAiC,EAAkC,EAAE,CAC1F,8BAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AADxB,QAAA,MAAM,UACkB;AAE9B,MAAM,OAAO,GAAG,CACrB,KAAU,EACV,UAAe,EAAE,YAAY,EAAE,KAAK,EAAE,EACJ,EAAE;IACpC,IAAI,OAAO,CAAC,YAAY,EAAE;QACxB,OAAO,8BAAqB,CAAC,QAAQ,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"definition.js","sourceRoot":"","sources":["../../src/repository/definition.ts"],"names":[],"mappings":"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"}
|