@autofleet/sadot 0.0.2-beta → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. package/dist/{src/api → api}/index.js +1 -0
  2. package/dist/api/index.js.map +1 -0
  3. package/dist/{src/api → api}/v1/definition/index.js +27 -23
  4. package/dist/api/v1/definition/index.js.map +1 -0
  5. package/dist/{src/api → api}/v1/definition/validations.js +5 -7
  6. package/dist/api/v1/definition/validations.js.map +1 -0
  7. package/dist/{src/api → api}/v1/errors.js +1 -0
  8. package/dist/api/v1/errors.js.map +1 -0
  9. package/dist/{src/api → api}/v1/index.js +1 -0
  10. package/dist/api/v1/index.js.map +1 -0
  11. package/dist/{src/errors → errors}/index.js +1 -0
  12. package/dist/errors/index.js.map +1 -0
  13. package/dist/{src/events → events}/index.js +2 -21
  14. package/dist/events/index.js.map +1 -0
  15. package/dist/{src/hooks → hooks}/create.js +15 -10
  16. package/dist/hooks/create.js.map +1 -0
  17. package/dist/{src/hooks → hooks}/enrich.js +34 -42
  18. package/dist/hooks/enrich.js.map +1 -0
  19. package/dist/{src/hooks → hooks}/find.js +6 -9
  20. package/dist/hooks/find.js.map +1 -0
  21. package/dist/{src/hooks → hooks}/index.js +1 -0
  22. package/dist/hooks/index.js.map +1 -0
  23. package/dist/{src/hooks → hooks}/update.js +12 -7
  24. package/dist/hooks/update.js.map +1 -0
  25. package/dist/{src/hooks → hooks}/workaround.js +13 -3
  26. package/dist/hooks/workaround.js.map +1 -0
  27. package/dist/{src/index.js → index.js} +20 -21
  28. package/dist/index.js.map +1 -0
  29. package/dist/{src/models → models}/CustomFieldDefinition.js +3 -2
  30. package/dist/models/CustomFieldDefinition.js.map +1 -0
  31. package/dist/{src/models → models}/CustomFieldValue.js +34 -20
  32. package/dist/models/CustomFieldValue.js.map +1 -0
  33. package/dist/models/index.js +63 -0
  34. package/dist/models/index.js.map +1 -0
  35. package/dist/{src/models → models}/tests/AssociatedTestModel.js +1 -0
  36. package/dist/models/tests/AssociatedTestModel.js.map +1 -0
  37. package/dist/{src/models → models}/tests/TestModel.js +1 -0
  38. package/dist/models/tests/TestModel.js.map +1 -0
  39. package/dist/repository/definition.js +97 -0
  40. package/dist/repository/definition.js.map +1 -0
  41. package/dist/{src/repository → repository}/value.js +29 -20
  42. package/dist/repository/value.js.map +1 -0
  43. package/dist/{src/tests → tests}/api/test-api.js +22 -12
  44. package/dist/tests/api/test-api.js.map +1 -0
  45. package/dist/{src/tests → tests}/helpers/database-config.js +1 -0
  46. package/dist/tests/helpers/database-config.js.map +1 -0
  47. package/dist/tests/helpers/index.js +28 -0
  48. package/dist/tests/helpers/index.js.map +1 -0
  49. package/dist/{src/tests → tests}/mocks/definition.mock.js +13 -18
  50. package/dist/tests/mocks/definition.mock.js.map +1 -0
  51. package/dist/{src/tests → tests}/mocks/events.mock.js +1 -0
  52. package/dist/tests/mocks/events.mock.js.map +1 -0
  53. package/dist/{src/tests → tests}/mocks/testModel.js +14 -4
  54. package/dist/tests/mocks/testModel.js.map +1 -0
  55. package/dist/tsconfig.tsbuildinfo +1 -0
  56. package/dist/{src/types → types}/definition/index.js +1 -0
  57. package/dist/types/definition/index.js.map +1 -0
  58. package/dist/{src/types → types}/index.js +1 -0
  59. package/dist/types/index.js.map +1 -0
  60. package/dist/{src/types → types}/value/index.js +1 -0
  61. package/dist/types/value/index.js.map +1 -0
  62. package/dist/{src/utils → utils}/db/index.js +1 -8
  63. package/dist/utils/db/index.js.map +1 -0
  64. package/dist/{src/utils → utils}/logger/index.js +2 -2
  65. package/dist/utils/logger/index.js.map +1 -0
  66. package/dist/{src/utils → utils}/validations/custom-fields.js +1 -0
  67. package/dist/utils/validations/custom-fields.js.map +1 -0
  68. package/dist/{src/utils → utils}/validations/custom.js +2 -1
  69. package/dist/utils/validations/custom.js.map +1 -0
  70. package/dist/{src/utils → utils}/validations/index.js +1 -0
  71. package/dist/utils/validations/index.js.map +1 -0
  72. package/dist/{src/utils → utils}/validations/type.js +2 -2
  73. package/dist/utils/validations/type.js.map +1 -0
  74. package/dist/{src/utils → utils}/validations/validators.js +1 -0
  75. package/dist/utils/validations/validators.js.map +1 -0
  76. package/package.json +1 -3
  77. package/src/api/v1/definition/index.ts +3 -10
  78. package/src/api/v1/definition/validations.ts +4 -8
  79. package/src/events/index.ts +1 -23
  80. package/src/hooks/create.ts +0 -2
  81. package/src/hooks/enrich.ts +18 -41
  82. package/src/hooks/find.ts +0 -2
  83. package/src/hooks/update.ts +0 -2
  84. package/src/index.ts +6 -19
  85. package/src/models/CustomFieldDefinition.ts +1 -1
  86. package/src/models/index.ts +17 -59
  87. package/src/repository/definition.ts +25 -22
  88. package/src/repository/value.ts +1 -2
  89. package/src/types/index.ts +4 -4
  90. package/src/utils/db/index.ts +0 -7
  91. package/src/utils/logger/index.ts +1 -3
  92. package/src/utils/validations/type.ts +1 -2
  93. package/tsconfig.json +25 -9
  94. package/dist/jest.config.d.ts +0 -12
  95. package/dist/src/api/index.d.ts +0 -2
  96. package/dist/src/api/v1/definition/index.d.ts +0 -2
  97. package/dist/src/api/v1/definition/validations.d.ts +0 -2
  98. package/dist/src/api/v1/errors.d.ts +0 -2
  99. package/dist/src/api/v1/index.d.ts +0 -2
  100. package/dist/src/errors/index.d.ts +0 -16
  101. package/dist/src/events/index.d.ts +0 -4
  102. package/dist/src/hooks/create.d.ts +0 -9
  103. package/dist/src/hooks/enrich.d.ts +0 -5
  104. package/dist/src/hooks/find.d.ts +0 -1
  105. package/dist/src/hooks/index.d.ts +0 -6
  106. package/dist/src/hooks/update.d.ts +0 -9
  107. package/dist/src/hooks/workaround.d.ts +0 -10
  108. package/dist/src/index.d.ts +0 -11
  109. package/dist/src/models/CustomFieldDefinition.d.ts +0 -23
  110. package/dist/src/models/CustomFieldValue.d.ts +0 -15
  111. package/dist/src/models/index.d.ts +0 -8
  112. package/dist/src/models/index.js +0 -87
  113. package/dist/src/models/tests/AssociatedTestModel.d.ts +0 -12
  114. package/dist/src/models/tests/TestModel.d.ts +0 -11
  115. package/dist/src/repository/definition.d.ts +0 -17
  116. package/dist/src/repository/definition.js +0 -80
  117. package/dist/src/repository/value.d.ts +0 -24
  118. package/dist/src/tests/api/test-api.d.ts +0 -2
  119. package/dist/src/tests/helpers/database-config.d.ts +0 -15
  120. package/dist/src/tests/helpers/index.d.ts +0 -2
  121. package/dist/src/tests/helpers/index.js +0 -18
  122. package/dist/src/tests/mocks/definition.mock.d.ts +0 -37
  123. package/dist/src/tests/mocks/events.mock.d.ts +0 -3
  124. package/dist/src/tests/mocks/testModel.d.ts +0 -12
  125. package/dist/src/types/definition/index.d.ts +0 -23
  126. package/dist/src/types/index.d.ts +0 -13
  127. package/dist/src/types/value/index.d.ts +0 -15
  128. package/dist/src/utils/constants/index.d.ts +0 -1
  129. package/dist/src/utils/constants/index.js +0 -5
  130. package/dist/src/utils/db/index.d.ts +0 -4
  131. package/dist/src/utils/logger/index.d.ts +0 -2
  132. package/dist/src/utils/validations/custom-fields.d.ts +0 -2
  133. package/dist/src/utils/validations/custom.d.ts +0 -15
  134. package/dist/src/utils/validations/index.d.ts +0 -2
  135. package/dist/src/utils/validations/type.d.ts +0 -18
  136. package/dist/src/utils/validations/validators.d.ts +0 -12
  137. 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(async ({ name, scopeAttributes }) => {
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)(name, scopeAttributes));
51
- model.addHook('afterUpdate', 'sadot-afterUpdate', (0, hooks_1.enrichResults)(name, scopeAttributes));
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 = async (app, getModel, options) => {
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
- if (process.env.NODE_ENV === 'test') {
70
- await (0, models_1.initTestModels)(sequelize);
71
- }
72
+ yield (0, models_1.initTables)(sequelize, options.getUser);
72
73
  addHooks(models, getModel);
73
- await (0, models_1.initTables)(sequelize, options.getUser);
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(async ({ name }) => {
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?.displayName) {
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: ['model_type', 'entity_id', 'name'],
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 async validateValues(instances) {
48
- const ids = instances.map((instance) => instance.customFieldDefinitionId);
49
- const uniqueIds = [...new Set(ids)];
50
- const definitions = await CustomFieldDefinitionRepo.findByIds(uniqueIds, { withDisabled: true });
51
- if (!definitions || definitions.length !== uniqueIds.length) {
52
- throw new Error('Definitions not found');
53
- }
54
- instances.forEach((instance) => {
55
- const { validation, fieldType, } = definitions
56
- .find((definition) => definition.id === instance.customFieldDefinitionId);
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"}
@@ -69,3 +69,4 @@ AssociatedTestModel = __decorate([
69
69
  (0, sequelize_typescript_1.Table)({ schema: 'custom-fields', createdAt: false, updatedAt: false })
70
70
  ], AssociatedTestModel);
71
71
  exports.default = AssociatedTestModel;
72
+ //# sourceMappingURL=AssociatedTestModel.js.map
@@ -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"}
@@ -61,3 +61,4 @@ TestModel = __decorate([
61
61
  (0, sequelize_typescript_1.Table)({ schema: 'custom-fields', createdAt: false, updatedAt: false })
62
62
  ], TestModel);
63
63
  exports.default = TestModel;
64
+ //# sourceMappingURL=TestModel.js.map
@@ -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 = async (modelId, customFieldDefinitionId) => models_1.CustomFieldValue.findAll({ where: { modelId, customFieldDefinitionId }, include: [models_1.CustomFieldDefinition] });
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 = async (data, withAssociations = false) => {
38
- const created = await models_1.CustomFieldValue.create(data);
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 = await (0, exports.findByModelIdAndDefinition)(created.modelId, created.customFieldDefinitionId);
41
- return createdWithAssociations?.[0];
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 = async () => models_1.CustomFieldValue.findAll({ include: [models_1.CustomFieldDefinition] });
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 = async (modelId) => models_1.CustomFieldValue.findAll({ where: { modelId }, include: [models_1.CustomFieldDefinition] });
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 = async (modelIds, options) => {
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 = async (modelType, modelId, identifiers, valuesToUpdate, options = {}) => {
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 = await DefinitionRepo.findAll({ modelType, name: names, entityId: identifiers }, { withDisabled: true, transaction: options.transaction }) || [];
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?.map((def) => def.name) || [];
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?.length > 0) {
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(async (value) => {
96
- const [cfv] = await models_1.CustomFieldValue.upsert(value, {
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', async (req, res) => {
32
- const testModels = await models_1.TestModel.findAll();
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', async (req, res) => {
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 = await models_1.TestModel.findByPk(testModelId);
46
+ const testModel = yield models_1.TestModel.findByPk(testModelId);
38
47
  return res.json(testModel);
39
- });
40
- api.post('/v1/test-models', async (req, res) => {
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 = await models_1.TestModel.create(body);
51
+ const testModel = yield models_1.TestModel.create(body);
43
52
  return res.json(testModel);
44
- });
45
- api.patch('/v1/test-models/:testModelId', async (req, res) => {
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 = await models_1.TestModel.update(body, {
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"}
@@ -14,3 +14,4 @@ exports.default = {
14
14
  logging: false,
15
15
  },
16
16
  };
17
+ //# sourceMappingURL=database-config.js.map
@@ -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"}