@autofleet/sadot 0.0.2-beta → 0.1.1
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/{src/api → api}/index.js +1 -0
- package/dist/api/index.js.map +1 -0
- package/dist/{src/api → api}/v1/definition/index.js +27 -23
- package/dist/api/v1/definition/index.js.map +1 -0
- package/dist/{src/api → api}/v1/definition/validations.js +1 -0
- package/dist/api/v1/definition/validations.js.map +1 -0
- package/dist/{src/api → api}/v1/errors.js +1 -0
- package/dist/api/v1/errors.js.map +1 -0
- package/dist/{src/api → api}/v1/index.js +1 -0
- package/dist/api/v1/index.js.map +1 -0
- package/dist/{src/errors → errors}/index.js +1 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/{src/events → events}/index.js +2 -21
- package/dist/events/index.js.map +1 -0
- package/dist/{src/hooks → hooks}/create.js +15 -10
- package/dist/hooks/create.js.map +1 -0
- package/dist/{src/hooks → hooks}/enrich.js +34 -42
- package/dist/hooks/enrich.js.map +1 -0
- package/dist/{src/hooks → hooks}/find.js +6 -9
- package/dist/hooks/find.js.map +1 -0
- package/dist/{src/hooks → hooks}/index.js +1 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/{src/hooks → hooks}/update.js +12 -7
- package/dist/hooks/update.js.map +1 -0
- package/dist/{src/hooks → hooks}/workaround.js +13 -3
- package/dist/hooks/workaround.js.map +1 -0
- package/dist/{src/index.js → index.js} +20 -21
- package/dist/index.js.map +1 -0
- package/dist/{src/models → models}/CustomFieldDefinition.js +3 -2
- package/dist/models/CustomFieldDefinition.js.map +1 -0
- package/dist/{src/models → models}/CustomFieldValue.js +34 -20
- package/dist/models/CustomFieldValue.js.map +1 -0
- package/dist/models/index.js +63 -0
- package/dist/models/index.js.map +1 -0
- package/dist/{src/models → models}/tests/AssociatedTestModel.js +1 -0
- package/dist/models/tests/AssociatedTestModel.js.map +1 -0
- package/dist/{src/models → models}/tests/TestModel.js +1 -0
- package/dist/models/tests/TestModel.js.map +1 -0
- package/dist/repository/definition.js +97 -0
- package/dist/repository/definition.js.map +1 -0
- package/dist/{src/repository → repository}/value.js +29 -20
- package/dist/repository/value.js.map +1 -0
- package/dist/{src/tests → tests}/api/test-api.js +22 -12
- package/dist/tests/api/test-api.js.map +1 -0
- package/dist/{src/tests → tests}/helpers/database-config.js +1 -0
- package/dist/tests/helpers/database-config.js.map +1 -0
- package/dist/tests/helpers/index.js +28 -0
- package/dist/tests/helpers/index.js.map +1 -0
- package/dist/{src/tests → tests}/mocks/definition.mock.js +13 -18
- package/dist/tests/mocks/definition.mock.js.map +1 -0
- package/dist/{src/tests → tests}/mocks/events.mock.js +1 -0
- package/dist/tests/mocks/events.mock.js.map +1 -0
- package/dist/{src/tests → tests}/mocks/testModel.js +14 -4
- package/dist/tests/mocks/testModel.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/{src/types → types}/definition/index.js +1 -0
- package/dist/types/definition/index.js.map +1 -0
- package/dist/{src/types → types}/index.js +1 -0
- package/dist/types/index.js.map +1 -0
- package/dist/{src/types → types}/value/index.js +1 -0
- package/dist/types/value/index.js.map +1 -0
- package/dist/{src/utils → utils}/db/index.js +1 -8
- package/dist/utils/db/index.js.map +1 -0
- package/dist/{src/utils → utils}/logger/index.js +2 -2
- package/dist/utils/logger/index.js.map +1 -0
- package/dist/{src/utils → utils}/validations/custom-fields.js +1 -0
- package/dist/utils/validations/custom-fields.js.map +1 -0
- package/dist/{src/utils → utils}/validations/custom.js +2 -1
- package/dist/utils/validations/custom.js.map +1 -0
- package/dist/{src/utils → utils}/validations/index.js +1 -0
- package/dist/utils/validations/index.js.map +1 -0
- package/dist/{src/utils → utils}/validations/type.js +2 -2
- package/dist/utils/validations/type.js.map +1 -0
- package/dist/{src/utils → utils}/validations/validators.js +1 -0
- package/dist/utils/validations/validators.js.map +1 -0
- package/package.json +1 -3
- package/src/api/v1/definition/index.ts +3 -10
- package/src/events/index.ts +1 -23
- package/src/hooks/create.ts +0 -2
- package/src/hooks/enrich.ts +18 -41
- package/src/hooks/find.ts +0 -2
- package/src/hooks/update.ts +0 -2
- package/src/index.ts +6 -19
- package/src/models/CustomFieldDefinition.ts +1 -1
- package/src/models/index.ts +17 -59
- package/src/repository/definition.ts +25 -22
- package/src/repository/value.ts +1 -2
- package/src/types/index.ts +4 -4
- package/src/utils/db/index.ts +0 -7
- package/src/utils/logger/index.ts +1 -3
- package/src/utils/validations/type.ts +1 -2
- package/tsconfig.json +25 -9
- package/dist/jest.config.d.ts +0 -12
- package/dist/src/api/index.d.ts +0 -2
- package/dist/src/api/v1/definition/index.d.ts +0 -2
- package/dist/src/api/v1/definition/validations.d.ts +0 -2
- package/dist/src/api/v1/errors.d.ts +0 -2
- package/dist/src/api/v1/index.d.ts +0 -2
- package/dist/src/errors/index.d.ts +0 -16
- package/dist/src/events/index.d.ts +0 -4
- package/dist/src/hooks/create.d.ts +0 -9
- package/dist/src/hooks/enrich.d.ts +0 -5
- package/dist/src/hooks/find.d.ts +0 -1
- package/dist/src/hooks/index.d.ts +0 -6
- package/dist/src/hooks/update.d.ts +0 -9
- package/dist/src/hooks/workaround.d.ts +0 -10
- package/dist/src/index.d.ts +0 -11
- package/dist/src/models/CustomFieldDefinition.d.ts +0 -23
- package/dist/src/models/CustomFieldValue.d.ts +0 -15
- package/dist/src/models/index.d.ts +0 -8
- package/dist/src/models/index.js +0 -87
- package/dist/src/models/tests/AssociatedTestModel.d.ts +0 -12
- package/dist/src/models/tests/TestModel.d.ts +0 -11
- package/dist/src/repository/definition.d.ts +0 -17
- package/dist/src/repository/definition.js +0 -80
- package/dist/src/repository/value.d.ts +0 -24
- package/dist/src/tests/api/test-api.d.ts +0 -2
- package/dist/src/tests/helpers/database-config.d.ts +0 -15
- package/dist/src/tests/helpers/index.d.ts +0 -2
- package/dist/src/tests/helpers/index.js +0 -18
- package/dist/src/tests/mocks/definition.mock.d.ts +0 -37
- package/dist/src/tests/mocks/events.mock.d.ts +0 -3
- package/dist/src/tests/mocks/testModel.d.ts +0 -12
- package/dist/src/types/definition/index.d.ts +0 -23
- package/dist/src/types/index.d.ts +0 -13
- package/dist/src/types/value/index.d.ts +0 -15
- package/dist/src/utils/constants/index.d.ts +0 -1
- package/dist/src/utils/constants/index.js +0 -5
- package/dist/src/utils/db/index.d.ts +0 -4
- package/dist/src/utils/logger/index.d.ts +0 -2
- package/dist/src/utils/validations/custom-fields.d.ts +0 -2
- package/dist/src/utils/validations/custom.d.ts +0 -15
- package/dist/src/utils/validations/index.d.ts +0 -2
- package/dist/src/utils/validations/type.d.ts +0 -18
- package/dist/src/utils/validations/validators.d.ts +0 -12
- package/src/utils/constants/index.ts +0 -2
|
@@ -13,6 +13,15 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
|
|
|
13
13
|
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
17
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
18
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
19
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
20
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
21
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
22
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
23
|
+
});
|
|
24
|
+
};
|
|
16
25
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
17
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
27
|
};
|
|
@@ -26,16 +35,11 @@ const db_1 = __importDefault(require("./utils/db"));
|
|
|
26
35
|
const logger_1 = __importDefault(require("./utils/logger"));
|
|
27
36
|
__exportStar(require("./utils/validations/custom-fields"), exports);
|
|
28
37
|
const addHooks = (models, getModel) => {
|
|
29
|
-
models.forEach(
|
|
38
|
+
models.forEach(({ name, scopeAttributes }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
30
39
|
try {
|
|
31
40
|
const model = getModel(name);
|
|
32
|
-
if (!model)
|
|
33
|
-
logger_1.default.warn('sadot - tried to addHooks to a model that does not exist yet', {
|
|
34
|
-
name,
|
|
35
|
-
scopeAttributes,
|
|
36
|
-
});
|
|
41
|
+
if (!model)
|
|
37
42
|
return;
|
|
38
|
-
}
|
|
39
43
|
model.rawAttributes.customFields = {
|
|
40
44
|
type: sequelize_1.DataTypes.VIRTUAL,
|
|
41
45
|
};
|
|
@@ -47,36 +51,30 @@ const addHooks = (models, getModel) => {
|
|
|
47
51
|
model.addHook('beforeBulkUpdate', 'sadot-beforeBulkUpdate', hooks_1.beforeBulkUpdate);
|
|
48
52
|
model.addHook('beforeCreate', 'sadot-beforeCreate', (0, hooks_1.beforeCreate)(scopeAttributes));
|
|
49
53
|
model.addHook('beforeUpdate', 'sadot-beforeUpdate', (0, hooks_1.beforeUpdate)(scopeAttributes));
|
|
50
|
-
model.addHook('afterFind', 'sadot-afterFind', (0, hooks_1.enrichResults)(
|
|
51
|
-
model.addHook('afterUpdate', 'sadot-afterUpdate', (0, hooks_1.enrichResults)(
|
|
52
|
-
model.addHook('afterCreate', 'sadot-afterCreate', (0, hooks_1.enrichResults)(name, scopeAttributes));
|
|
54
|
+
model.addHook('afterFind', 'sadot-afterFind', (0, hooks_1.enrichResults)(scopeAttributes));
|
|
55
|
+
model.addHook('afterUpdate', 'sadot-afterUpdate', (0, hooks_1.enrichResults)(scopeAttributes));
|
|
53
56
|
}
|
|
54
57
|
catch (e) {
|
|
55
58
|
logger_1.default.error(`Could not add custom fields hook to model ${name}. `, e);
|
|
56
59
|
}
|
|
57
|
-
});
|
|
60
|
+
}));
|
|
58
61
|
};
|
|
59
62
|
/**
|
|
60
63
|
* Adding custom fields enrichment to the models inside the MODELS_FILE_NAME json file
|
|
61
64
|
* @see {@link 'custom-fields/config'} for configurations
|
|
62
65
|
*/
|
|
63
|
-
const useCustomFields =
|
|
66
|
+
const useCustomFields = (app, getModel, options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
64
67
|
const { models } = options;
|
|
65
68
|
if (app) {
|
|
66
69
|
app.use('/api', api_1.default);
|
|
67
70
|
}
|
|
68
71
|
const sequelize = (0, db_1.default)(options.databaseConfig);
|
|
69
|
-
|
|
70
|
-
await (0, models_1.initTestModels)(sequelize);
|
|
71
|
-
}
|
|
72
|
+
yield (0, models_1.initTables)(sequelize, options.getUser);
|
|
72
73
|
addHooks(models, getModel);
|
|
73
|
-
|
|
74
|
-
logger_1.default.debug('sadot - custom fields finished initializing with models', models);
|
|
75
|
-
return sequelize;
|
|
76
|
-
};
|
|
74
|
+
});
|
|
77
75
|
exports.default = useCustomFields;
|
|
78
76
|
const removeHooks = (models, getModel) => {
|
|
79
|
-
models.forEach(
|
|
77
|
+
models.forEach(({ name }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
80
78
|
try {
|
|
81
79
|
const model = getModel(name);
|
|
82
80
|
if (!model)
|
|
@@ -97,9 +95,10 @@ const removeHooks = (models, getModel) => {
|
|
|
97
95
|
catch (e) {
|
|
98
96
|
logger_1.default.error(`Could not add custom fields hook to model ${name}. `, e);
|
|
99
97
|
}
|
|
100
|
-
});
|
|
98
|
+
}));
|
|
101
99
|
};
|
|
102
100
|
const disableCustomFields = (models, getModel) => {
|
|
103
101
|
removeHooks(models, getModel);
|
|
104
102
|
};
|
|
105
103
|
exports.disableCustomFields = disableCustomFields;
|
|
104
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,7 +19,7 @@ const events_1 = require("../events");
|
|
|
19
19
|
const errors_1 = require("../errors");
|
|
20
20
|
let CustomFieldDefinition = class CustomFieldDefinition extends sequelize_typescript_1.Model {
|
|
21
21
|
static displayNameDefaultValue(instance) {
|
|
22
|
-
if (!instance
|
|
22
|
+
if (!(instance === null || instance === void 0 ? void 0 : instance.displayName)) {
|
|
23
23
|
// eslint-disable-next-line no-param-reassign
|
|
24
24
|
instance.displayName = instance.name;
|
|
25
25
|
}
|
|
@@ -148,7 +148,7 @@ CustomFieldDefinition = __decorate([
|
|
|
148
148
|
indexes: [
|
|
149
149
|
{
|
|
150
150
|
name: 'unique_name_model_type',
|
|
151
|
-
fields: ['
|
|
151
|
+
fields: ['name', 'model_type', 'entity_id'],
|
|
152
152
|
unique: true,
|
|
153
153
|
},
|
|
154
154
|
],
|
|
@@ -163,3 +163,4 @@ CustomFieldDefinition = __decorate([
|
|
|
163
163
|
})
|
|
164
164
|
], CustomFieldDefinition);
|
|
165
165
|
exports.default = CustomFieldDefinition;
|
|
166
|
+
//# sourceMappingURL=CustomFieldDefinition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CustomFieldDefinition.js","sourceRoot":"","sources":["../../src/models/CustomFieldDefinition.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,6 +31,15 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
31
31
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
32
32
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
33
33
|
};
|
|
34
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
35
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
36
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
37
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
38
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
39
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
40
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
41
|
+
});
|
|
42
|
+
};
|
|
34
43
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
35
44
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
36
45
|
};
|
|
@@ -44,32 +53,36 @@ const validations_1 = __importDefault(require("../utils/validations"));
|
|
|
44
53
|
const CustomFieldDefinitionRepo = __importStar(require("../repository/definition"));
|
|
45
54
|
const errors_1 = require("../errors");
|
|
46
55
|
let CustomFieldValue = class CustomFieldValue extends sequelize_typescript_1.Model {
|
|
47
|
-
static
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
56
|
+
static validateValues(instances) {
|
|
57
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
58
|
+
const ids = instances.map((instance) => instance.customFieldDefinitionId);
|
|
59
|
+
const uniqueIds = [...new Set(ids)];
|
|
60
|
+
const definitions = yield CustomFieldDefinitionRepo.findByIds(uniqueIds, { withDisabled: true });
|
|
61
|
+
if (!definitions || definitions.length !== uniqueIds.length) {
|
|
62
|
+
throw new Error('Definitions not found');
|
|
63
|
+
}
|
|
64
|
+
instances.forEach((instance) => {
|
|
65
|
+
const { validation, fieldType, } = definitions
|
|
66
|
+
.find((definition) => definition.id === instance.customFieldDefinitionId);
|
|
67
|
+
const isValid = (0, validations_1.default)(instance.value, fieldType, validation);
|
|
68
|
+
if (!isValid) {
|
|
69
|
+
throw new errors_1.InvalidValueError(instance.value, fieldType);
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
static validateValue(instance) {
|
|
75
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
76
|
+
const { customFieldDefinitionId } = instance;
|
|
77
|
+
// eslint-disable-next-line max-len
|
|
78
|
+
const cfd = yield CustomFieldDefinitionRepo.findById(customFieldDefinitionId, { withDisabled: true });
|
|
79
|
+
const { validation, fieldType } = cfd;
|
|
57
80
|
const isValid = (0, validations_1.default)(instance.value, fieldType, validation);
|
|
58
81
|
if (!isValid) {
|
|
59
82
|
throw new errors_1.InvalidValueError(instance.value, fieldType);
|
|
60
83
|
}
|
|
61
84
|
});
|
|
62
85
|
}
|
|
63
|
-
static async validateValue(instance) {
|
|
64
|
-
const { customFieldDefinitionId } = instance;
|
|
65
|
-
// eslint-disable-next-line max-len
|
|
66
|
-
const cfd = await CustomFieldDefinitionRepo.findById(customFieldDefinitionId, { withDisabled: true });
|
|
67
|
-
const { validation, fieldType } = cfd;
|
|
68
|
-
const isValid = (0, validations_1.default)(instance.value, fieldType, validation);
|
|
69
|
-
if (!isValid) {
|
|
70
|
-
throw new errors_1.InvalidValueError(instance.value, fieldType);
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
86
|
static afterSaveHandler(instance, options) {
|
|
74
87
|
if (options.transaction) {
|
|
75
88
|
options.transaction.afterCommit(() => (0, events_1.sendDimEvent)(instance[0]));
|
|
@@ -146,3 +159,4 @@ CustomFieldValue = __decorate([
|
|
|
146
159
|
})
|
|
147
160
|
], CustomFieldValue);
|
|
148
161
|
exports.default = CustomFieldValue;
|
|
162
|
+
//# sourceMappingURL=CustomFieldValue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CustomFieldValue.js","sourceRoot":"","sources":["../../src/models/CustomFieldValue.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.initTables = exports.AssociatedTestModel = exports.TestModel = exports.CustomFieldDefinition = exports.CustomFieldValue = void 0;
|
|
16
|
+
const logger_1 = __importDefault(require("../utils/logger"));
|
|
17
|
+
const CustomFieldDefinition_1 = __importDefault(require("./CustomFieldDefinition"));
|
|
18
|
+
exports.CustomFieldDefinition = CustomFieldDefinition_1.default;
|
|
19
|
+
const CustomFieldValue_1 = __importDefault(require("./CustomFieldValue"));
|
|
20
|
+
exports.CustomFieldValue = CustomFieldValue_1.default;
|
|
21
|
+
const TestModel_1 = __importDefault(require("./tests/TestModel"));
|
|
22
|
+
exports.TestModel = TestModel_1.default;
|
|
23
|
+
const AssociatedTestModel_1 = __importDefault(require("./tests/AssociatedTestModel"));
|
|
24
|
+
exports.AssociatedTestModel = AssociatedTestModel_1.default;
|
|
25
|
+
const productionModels = [CustomFieldDefinition_1.default, CustomFieldValue_1.default];
|
|
26
|
+
const testModels = [...productionModels, TestModel_1.default, AssociatedTestModel_1.default];
|
|
27
|
+
const initTables = (sequelize, getUser) => __awaiter(void 0, void 0, void 0, function* () {
|
|
28
|
+
logger_1.default.info('custom-fields: initialize custom-fields tables');
|
|
29
|
+
// Detect models and import them to the orm
|
|
30
|
+
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
|
|
31
|
+
if (!sequelize.addModels) {
|
|
32
|
+
throw new Error('sequelize instance must have addModels function');
|
|
33
|
+
}
|
|
34
|
+
const models = process.env.NODE_ENV === 'test' ? testModels : productionModels;
|
|
35
|
+
sequelize.addModels(models);
|
|
36
|
+
yield sequelize.dropSchema('custom-fields', { logging: false });
|
|
37
|
+
yield sequelize.createSchema('custom-fields', { logging: false });
|
|
38
|
+
logger_1.default.info('custom-fields: models added');
|
|
39
|
+
yield CustomFieldDefinition_1.default.sync({ alter: true });
|
|
40
|
+
yield CustomFieldValue_1.default.sync({ alter: true });
|
|
41
|
+
if (process.env.NODE_ENV === 'test') {
|
|
42
|
+
yield TestModel_1.default.sync({ alter: true });
|
|
43
|
+
yield AssociatedTestModel_1.default.sync({ alter: true });
|
|
44
|
+
}
|
|
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
|
+
});
|
|
61
|
+
});
|
|
62
|
+
exports.initTables = initTables;
|
|
63
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AssociatedTestModel.js","sourceRoot":"","sources":["../../../src/models/tests/AssociatedTestModel.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,sDAAsD;AACtD,+DAQ8B;AAC9B,4DAAoC;AAGpC,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,4BAAK;CAyCtC,CAAA;AAxCC;IAAC,iCAAU;IACV,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI;QACnB,YAAY,EAAE,+BAAQ,CAAC,MAAM;QAC7B,SAAS,EAAE,KAAK;KACjB,CAAC;;+CACU;AAEZ;IAAC,IAAA,iCAAU,EAAC,GAAG,EAAE,CAAC,mBAAS,CAAC;IAC3B,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI;QACnB,SAAS,EAAE,KAAK;KACjB,CAAC;;wDACmB;AAErB;IAAC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI;QACnB,SAAS,EAAE,KAAK;KACjB,CAAC;;oDACc;AAEhB;IAAC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI;QACnB,SAAS,EAAE,IAAI;KAChB,CAAC;;4DACsB;AAExB;IAAC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI;QACnB,SAAS,EAAE,IAAI;KAChB,CAAC;;2DACqB;AAEvB;IAAC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,OAAO;KACvB,CAAC;;6DACyB;AAE3B;IAAC,IAAA,gCAAS,EAAC,GAAG,EAAE,CAAC,mBAAS,CAAC;8BAChB,mBAAS;sDAAC;AAxCjB,mBAAmB;IADxB,IAAA,4BAAK,EAAC,EAAE,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;GACjE,mBAAmB,CAyCxB;AAED,kBAAe,mBAAmB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TestModel.js","sourceRoot":"","sources":["../../../src/models/tests/TestModel.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,sDAAsD;AACtD,+DAO8B;AAC9B,gFAAwD;AAGxD,IAAM,SAAS,GAAf,MAAM,SAAU,SAAQ,4BAAK;CAkC5B,CAAA;AAjCC;IAAC,iCAAU;IACV,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI;QACnB,YAAY,EAAE,+BAAQ,CAAC,MAAM;QAC7B,SAAS,EAAE,KAAK;KACjB,CAAC;;qCACU;AAEZ;IAAC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI;QACnB,SAAS,EAAE,KAAK;KACjB,CAAC;;0CACc;AAEhB;IAAC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI;QACnB,SAAS,EAAE,IAAI;KAChB,CAAC;;kDACsB;AAExB;IAAC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI;QACnB,SAAS,EAAE,IAAI;KAChB,CAAC;;iDACqB;AAEvB;IAAC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,OAAO;KACvB,CAAC;;gDACsB;AAExB;IAAC,IAAA,8BAAO,EAAC,GAAG,EAAE,CAAC,6BAAmB,CAAC;;mDACK;AAjCpC,SAAS;IADd,IAAA,4BAAK,EAAC,EAAE,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;GACjE,SAAS,CAkCd;AAED,kBAAe,SAAS,CAAC"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.getRequiredFields = exports.destroy = exports.disable = exports.update = exports.findDefinitionsByModels = exports.findByWhere = exports.findByEntityId = exports.findById = exports.findByIds = exports.findAll = exports.create = void 0;
|
|
13
|
+
const sequelize_1 = require("sequelize");
|
|
14
|
+
const models_1 = require("../models");
|
|
15
|
+
const create = (data) => models_1.CustomFieldDefinition.create(data);
|
|
16
|
+
exports.create = create;
|
|
17
|
+
const findAll = (where, options = { withDisabled: false }) => {
|
|
18
|
+
if (options.withDisabled) {
|
|
19
|
+
return models_1.CustomFieldDefinition.unscoped().scope('userScope').findAll({ where });
|
|
20
|
+
}
|
|
21
|
+
return models_1.CustomFieldDefinition.scope('userScope').findAll({ where });
|
|
22
|
+
};
|
|
23
|
+
exports.findAll = findAll;
|
|
24
|
+
const findByIds = (ids, options = { withDisabled: false }) => (0, exports.findAll)({ id: { [sequelize_1.Op.in]: ids } }, options);
|
|
25
|
+
exports.findByIds = findByIds;
|
|
26
|
+
const findById = (id, options = { withDisabled: false }) => {
|
|
27
|
+
const { withDisabled } = options;
|
|
28
|
+
if (withDisabled) {
|
|
29
|
+
return models_1.CustomFieldDefinition.unscoped().scope('userScope').findByPk(id);
|
|
30
|
+
}
|
|
31
|
+
return models_1.CustomFieldDefinition.scope('userScope').findByPk(id);
|
|
32
|
+
};
|
|
33
|
+
exports.findById = findById;
|
|
34
|
+
const findByEntityId = (entityId, options = {}) => __awaiter(void 0, void 0, void 0, function* () {
|
|
35
|
+
return models_1.CustomFieldDefinition.findAll({
|
|
36
|
+
where: { entityId },
|
|
37
|
+
transaction: options.transaction,
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
exports.findByEntityId = findByEntityId;
|
|
41
|
+
const findByWhere = (where) => models_1.CustomFieldDefinition.scope('userScope').findOne({
|
|
42
|
+
where,
|
|
43
|
+
include: [models_1.CustomFieldValue],
|
|
44
|
+
});
|
|
45
|
+
exports.findByWhere = findByWhere;
|
|
46
|
+
const findDefinitionsByModels = (modelTypes, options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
47
|
+
const query = { modelType: { [sequelize_1.Op.in]: modelTypes } };
|
|
48
|
+
return models_1.CustomFieldDefinition.findAll({
|
|
49
|
+
where: query,
|
|
50
|
+
include: [models_1.CustomFieldValue],
|
|
51
|
+
transaction: options === null || options === void 0 ? void 0 : options.transaction,
|
|
52
|
+
});
|
|
53
|
+
});
|
|
54
|
+
exports.findDefinitionsByModels = findDefinitionsByModels;
|
|
55
|
+
const update = (id, data) => __awaiter(void 0, void 0, void 0, function* () {
|
|
56
|
+
const updatedDefinition = (yield models_1.CustomFieldDefinition.scope('userScope').update(data, {
|
|
57
|
+
where: { id },
|
|
58
|
+
returning: true,
|
|
59
|
+
individualHooks: true,
|
|
60
|
+
}))[1][0];
|
|
61
|
+
return updatedDefinition;
|
|
62
|
+
});
|
|
63
|
+
exports.update = update;
|
|
64
|
+
const disable = (id) => models_1.CustomFieldDefinition.update({ disabled: true }, { where: { id } });
|
|
65
|
+
exports.disable = disable;
|
|
66
|
+
const destroy = (id) => models_1.CustomFieldDefinition.destroy({ where: { id } });
|
|
67
|
+
exports.destroy = destroy;
|
|
68
|
+
/**
|
|
69
|
+
* Return the names of the required fields for a given model
|
|
70
|
+
*/
|
|
71
|
+
const getRequiredFields = (modelType, modelId, entityId, onlyNull = false) => __awaiter(void 0, void 0, void 0, function* () {
|
|
72
|
+
const entityIds = Array.isArray(entityId) ? entityId : [entityId];
|
|
73
|
+
const modelIds = Array.isArray(modelId) ? modelId : [modelId];
|
|
74
|
+
// const valueQuery = Object.assign(
|
|
75
|
+
// {
|
|
76
|
+
// modelId: { [Op.in]: modelIds },
|
|
77
|
+
// },
|
|
78
|
+
// onlyNull ? { value: { [Op.eq]: null } } : null,
|
|
79
|
+
// );
|
|
80
|
+
const valueQuery = onlyNull ? {
|
|
81
|
+
modelId: { [sequelize_1.Op.in]: modelIds },
|
|
82
|
+
value: { [sequelize_1.Op.eq]: null },
|
|
83
|
+
} : {};
|
|
84
|
+
const requiredFields = yield models_1.CustomFieldDefinition.findAll({
|
|
85
|
+
where: { required: true, modelType, entityId: { [sequelize_1.Op.in]: entityIds } },
|
|
86
|
+
include: {
|
|
87
|
+
model: models_1.CustomFieldValue,
|
|
88
|
+
where: Object.assign({}, valueQuery),
|
|
89
|
+
required: false,
|
|
90
|
+
},
|
|
91
|
+
logging: true,
|
|
92
|
+
});
|
|
93
|
+
const requiredFieldsNames = requiredFields.map((definition) => definition.name);
|
|
94
|
+
return [...new Set(requiredFieldsNames)];
|
|
95
|
+
});
|
|
96
|
+
exports.getRequiredFields = getRequiredFields;
|
|
97
|
+
//# sourceMappingURL=definition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"definition.js","sourceRoot":"","sources":["../../src/repository/definition.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,6 +22,15 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
22
22
|
__setModuleDefault(result, mod);
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
28
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
29
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
30
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
31
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
|
+
});
|
|
33
|
+
};
|
|
25
34
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
35
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
36
|
};
|
|
@@ -32,58 +41,57 @@ const models_1 = require("../models");
|
|
|
32
41
|
const DefinitionRepo = __importStar(require("./definition"));
|
|
33
42
|
const logger_1 = __importDefault(require("../utils/logger"));
|
|
34
43
|
const errors_1 = require("../errors");
|
|
35
|
-
const findByModelIdAndDefinition =
|
|
44
|
+
const findByModelIdAndDefinition = (modelId, customFieldDefinitionId) => __awaiter(void 0, void 0, void 0, function* () { return models_1.CustomFieldValue.findAll({ where: { modelId, customFieldDefinitionId }, include: [models_1.CustomFieldDefinition] }); });
|
|
36
45
|
exports.findByModelIdAndDefinition = findByModelIdAndDefinition;
|
|
37
|
-
const create =
|
|
38
|
-
const created =
|
|
46
|
+
const create = (data, withAssociations = false) => __awaiter(void 0, void 0, void 0, function* () {
|
|
47
|
+
const created = yield models_1.CustomFieldValue.create(data);
|
|
39
48
|
if (withAssociations) {
|
|
40
|
-
const createdWithAssociations =
|
|
41
|
-
return createdWithAssociations
|
|
49
|
+
const createdWithAssociations = yield (0, exports.findByModelIdAndDefinition)(created.modelId, created.customFieldDefinitionId);
|
|
50
|
+
return createdWithAssociations === null || createdWithAssociations === void 0 ? void 0 : createdWithAssociations[0];
|
|
42
51
|
}
|
|
43
52
|
return created;
|
|
44
|
-
};
|
|
53
|
+
});
|
|
45
54
|
exports.create = create;
|
|
46
|
-
const findAllValues =
|
|
55
|
+
const findAllValues = () => __awaiter(void 0, void 0, void 0, function* () { return models_1.CustomFieldValue.findAll({ include: [models_1.CustomFieldDefinition] }); });
|
|
47
56
|
exports.findAllValues = findAllValues;
|
|
48
57
|
/**
|
|
49
58
|
* Get all values for model instance id (with their definitions)
|
|
50
59
|
* @param modelId
|
|
51
60
|
* @returns CustomFieldValue[]
|
|
52
61
|
*/
|
|
53
|
-
const findValuesByModelId =
|
|
62
|
+
const findValuesByModelId = (modelId) => __awaiter(void 0, void 0, void 0, function* () { return models_1.CustomFieldValue.findAll({ where: { modelId }, include: [models_1.CustomFieldDefinition] }); });
|
|
54
63
|
exports.findValuesByModelId = findValuesByModelId;
|
|
55
64
|
/**
|
|
56
65
|
* Retrieves custom field values for given model IDs
|
|
57
66
|
* @param modelIds - An array of model IDs to query custom field values for.
|
|
58
67
|
* @param options - Optional configuration object.
|
|
59
68
|
*/
|
|
60
|
-
const findValuesByModelIds =
|
|
69
|
+
const findValuesByModelIds = (modelIds, options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
61
70
|
const { transaction } = options;
|
|
62
71
|
return models_1.CustomFieldValue.findAll({
|
|
63
72
|
where: { modelId: modelIds },
|
|
73
|
+
include: [models_1.CustomFieldDefinition],
|
|
64
74
|
transaction,
|
|
65
|
-
raw: true,
|
|
66
|
-
nest: true,
|
|
67
75
|
});
|
|
68
|
-
};
|
|
76
|
+
});
|
|
69
77
|
exports.findValuesByModelIds = findValuesByModelIds;
|
|
70
78
|
/**
|
|
71
79
|
* Try to update custom field values for a model instance.
|
|
72
80
|
* Create new value record if not exists, but fails if value's definition not exist.
|
|
73
81
|
* Return the updated values
|
|
74
82
|
*/
|
|
75
|
-
const updateValues =
|
|
83
|
+
const updateValues = (modelType, modelId, identifiers, valuesToUpdate, options = {}) => __awaiter(void 0, void 0, void 0, function* () {
|
|
76
84
|
logger_1.default.info(`custom-fields: updating values for ${modelType} ${modelId}`, { valuesToUpdate });
|
|
77
85
|
const names = Object.keys(valuesToUpdate);
|
|
78
|
-
const fieldDefinitions =
|
|
86
|
+
const fieldDefinitions = (yield DefinitionRepo.findAll({ modelType, name: names, entityId: identifiers }, { withDisabled: true, transaction: options.transaction })) || [];
|
|
79
87
|
const disabledDefinitions = fieldDefinitions.filter((def) => def.disabled);
|
|
80
88
|
if (fieldDefinitions.length !== names.length) {
|
|
81
89
|
const missingDefinitions = names.filter((name) => !fieldDefinitions.some((def) => def.name === name));
|
|
82
90
|
throw new errors_1.MissingDefinitionError(missingDefinitions);
|
|
83
91
|
}
|
|
84
|
-
const disabledNames = disabledDefinitions
|
|
92
|
+
const disabledNames = (disabledDefinitions === null || disabledDefinitions === void 0 ? void 0 : disabledDefinitions.map((def) => def.name)) || [];
|
|
85
93
|
const valuesWithDisabledDefinitions = names.filter((name) => disabledNames.includes(name));
|
|
86
|
-
if (valuesWithDisabledDefinitions
|
|
94
|
+
if ((valuesWithDisabledDefinitions === null || valuesWithDisabledDefinitions === void 0 ? void 0 : valuesWithDisabledDefinitions.length) > 0) {
|
|
87
95
|
logger_1.default.warn(`custom-fields: trying to update disabled values: ${valuesWithDisabledDefinitions.join(', ')}`);
|
|
88
96
|
}
|
|
89
97
|
const values = names.map((name) => ({
|
|
@@ -92,16 +100,17 @@ const updateValues = async (modelType, modelId, identifiers, valuesToUpdate, opt
|
|
|
92
100
|
updatedAt: new Date(),
|
|
93
101
|
customFieldDefinitionId: fieldDefinitions.find((def) => def.name === name).id,
|
|
94
102
|
}));
|
|
95
|
-
return Promise.all(values.map(
|
|
96
|
-
const [cfv] =
|
|
103
|
+
return Promise.all(values.map((value) => __awaiter(void 0, void 0, void 0, function* () {
|
|
104
|
+
const [cfv] = yield models_1.CustomFieldValue.upsert(value, {
|
|
97
105
|
transaction: options.transaction,
|
|
98
106
|
});
|
|
99
107
|
return cfv;
|
|
100
|
-
}));
|
|
101
|
-
};
|
|
108
|
+
})));
|
|
109
|
+
});
|
|
102
110
|
exports.updateValues = updateValues;
|
|
103
111
|
const deleteValue = (id, options = {}) => models_1.CustomFieldValue.update({ deletedAt: new Date() }, {
|
|
104
112
|
where: { id },
|
|
105
113
|
transaction: options.transaction,
|
|
106
114
|
});
|
|
107
115
|
exports.deleteValue = deleteValue;
|
|
116
|
+
//# sourceMappingURL=value.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"value.js","sourceRoot":"","sources":["../../src/repository/value.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,35 +22,45 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
22
22
|
__setModuleDefault(result, mod);
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
28
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
29
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
30
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
31
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
|
+
});
|
|
33
|
+
};
|
|
25
34
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
35
|
const express_1 = __importStar(require("express"));
|
|
27
36
|
const models_1 = require("../../models");
|
|
28
37
|
const app = (0, express_1.default)();
|
|
29
38
|
app.use(express_1.default.json());
|
|
30
39
|
const api = (0, express_1.Router)();
|
|
31
|
-
api.get('/v1/test-models',
|
|
32
|
-
const testModels =
|
|
40
|
+
api.get('/v1/test-models', (req, res) => __awaiter(void 0, void 0, void 0, function* () {
|
|
41
|
+
const testModels = yield models_1.TestModel.findAll();
|
|
33
42
|
return res.json(testModels);
|
|
34
|
-
});
|
|
35
|
-
api.get('/v1/test-models/:testModelId',
|
|
43
|
+
}));
|
|
44
|
+
api.get('/v1/test-models/:testModelId', (req, res) => __awaiter(void 0, void 0, void 0, function* () {
|
|
36
45
|
const { params: { testModelId } } = req;
|
|
37
|
-
const testModel =
|
|
46
|
+
const testModel = yield models_1.TestModel.findByPk(testModelId);
|
|
38
47
|
return res.json(testModel);
|
|
39
|
-
});
|
|
40
|
-
api.post('/v1/test-models',
|
|
48
|
+
}));
|
|
49
|
+
api.post('/v1/test-models', (req, res) => __awaiter(void 0, void 0, void 0, function* () {
|
|
41
50
|
const { body } = req;
|
|
42
|
-
const testModel =
|
|
51
|
+
const testModel = yield models_1.TestModel.create(body);
|
|
43
52
|
return res.json(testModel);
|
|
44
|
-
});
|
|
45
|
-
api.patch('/v1/test-models/:testModelId',
|
|
53
|
+
}));
|
|
54
|
+
api.patch('/v1/test-models/:testModelId', (req, res) => __awaiter(void 0, void 0, void 0, function* () {
|
|
46
55
|
const { body, params: { testModelId } } = req;
|
|
47
|
-
const testModel =
|
|
56
|
+
const testModel = yield models_1.TestModel.update(body, {
|
|
48
57
|
where: {
|
|
49
58
|
id: testModelId,
|
|
50
59
|
},
|
|
51
60
|
returning: true,
|
|
52
61
|
});
|
|
53
62
|
return res.json(testModel[1][0]);
|
|
54
|
-
});
|
|
63
|
+
}));
|
|
55
64
|
app.use('/api', api);
|
|
56
65
|
exports.default = app;
|
|
66
|
+
//# sourceMappingURL=test-api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-api.js","sourceRoot":"","sources":["../../../src/tests/api/test-api.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAA0C;AAC1C,yCAAyC;AAEzC,MAAM,GAAG,GAAG,IAAA,iBAAO,GAAE,CAAC;AACtB,GAAG,CAAC,GAAG,CAAC,iBAAO,CAAC,IAAI,EAAE,CAAC,CAAC;AACxB,MAAM,GAAG,GAAG,IAAA,gBAAM,GAAE,CAAC;AAErB,GAAG,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAO,GAAG,EAAE,GAAG,EAAE,EAAE;IAC5C,MAAM,UAAU,GAAG,MAAM,kBAAS,CAAC,OAAO,EAAE,CAAC;IAC7C,OAAO,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC9B,CAAC,CAAA,CAAC,CAAC;AAEH,GAAG,CAAC,GAAG,CAAC,8BAA8B,EAAE,CAAO,GAAG,EAAE,GAAG,EAAE,EAAE;IACzD,MAAM,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,EAAE,GAAG,GAAG,CAAC;IACxC,MAAM,SAAS,GAAG,MAAM,kBAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACxD,OAAO,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC7B,CAAC,CAAA,CAAC,CAAC;AAEH,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAO,GAAG,EAAE,GAAG,EAAE,EAAE;IAC7C,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;IACrB,MAAM,SAAS,GAAG,MAAM,kBAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC/C,OAAO,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC7B,CAAC,CAAA,CAAC,CAAC;AAEH,GAAG,CAAC,KAAK,CAAC,8BAA8B,EAAE,CAAO,GAAG,EAAE,GAAG,EAAE,EAAE;IAC3D,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,EAAE,GAAG,GAAG,CAAC;IAC9C,MAAM,SAAS,GAAG,MAAM,kBAAS,CAAC,MAAM,CAAC,IAAI,EAAE;QAC7C,KAAK,EAAE;YACL,EAAE,EAAE,WAAW;SAChB;QACD,SAAS,EAAE,IAAI;KAChB,CAAC,CAAC;IACH,OAAO,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC,CAAA,CAAC,CAAC;AAEH,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAErB,kBAAe,GAAG,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"database-config.js","sourceRoot":"","sources":["../../../src/tests/helpers/database-config.ts"],"names":[],"mappings":";;AAAA,kBAAe;IACb,IAAI,EAAE;QACJ,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE;QACvC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,IAAI;QACzC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,oBAAoB;QACrD,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,WAAW;QACxC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,UAAU;QAC1C,MAAM,EAAE;YACN,WAAW,EAAE,IAAI;YACjB,cAAc,EAAE,IAAI;SACrB;QACD,OAAO,EAAE,KAAK;KACf;CACF,CAAC"}
|