@autofleet/sadot 1.6.18-beta.2 → 1.6.18-beta.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_virtual/_@oxc-project_runtime@0.103.0/helpers/decorate.cjs +11 -0
- package/dist/_virtual/_@oxc-project_runtime@0.103.0/helpers/decorate.js +10 -0
- package/dist/_virtual/_@oxc-project_runtime@0.103.0/helpers/decorateMetadata.cjs +8 -0
- package/dist/_virtual/_@oxc-project_runtime@0.103.0/helpers/decorateMetadata.js +7 -0
- package/dist/_virtual/rolldown_runtime.cjs +43 -0
- package/dist/{chunk-DJulfCLt.js → _virtual/rolldown_runtime.js} +1 -2
- package/dist/api/index.cjs +12 -0
- package/dist/api/index.js +11 -0
- package/dist/api/v1/definition/index.cjs +113 -0
- package/dist/api/v1/definition/index.js +112 -0
- package/dist/api/v1/definition/validations.cjs +128 -0
- package/dist/api/v1/definition/validations.js +125 -0
- package/dist/api/v1/errors.cjs +14 -0
- package/dist/api/v1/errors.js +13 -0
- package/dist/api/v1/field-policies/index.cjs +104 -0
- package/dist/api/v1/field-policies/index.js +103 -0
- package/dist/api/v1/index.cjs +16 -0
- package/dist/api/v1/index.js +15 -0
- package/dist/api/v1/validator/index.cjs +132 -0
- package/dist/api/v1/validator/index.js +131 -0
- package/dist/api/v1/validator/validations.cjs +40 -0
- package/dist/api/v1/validator/validations.d.cts +22 -0
- package/dist/api/v1/validator/validations.d.ts +22 -0
- package/dist/api/v1/validator/validations.js +38 -0
- package/dist/errors/index.cjs +62 -0
- package/dist/errors/index.js +55 -0
- package/dist/events/index.cjs +52 -0
- package/dist/events/index.js +50 -0
- package/dist/hooks/enrich.cjs +175 -0
- package/dist/hooks/enrich.js +175 -0
- package/dist/hooks/find.cjs +22 -0
- package/dist/hooks/find.js +22 -0
- package/dist/hooks/hooks.cjs +310 -0
- package/dist/hooks/hooks.js +302 -0
- package/dist/hooks/index.cjs +3 -0
- package/dist/hooks/index.js +5 -0
- package/dist/hooks/utils/updateInstanceValues.cjs +27 -0
- package/dist/hooks/utils/updateInstanceValues.js +27 -0
- package/dist/index.cjs +48 -33508
- package/dist/index.d.cts +13 -396
- package/dist/index.d.ts +14 -394
- package/dist/index.js +21 -33435
- package/dist/init-state.cjs +56 -0
- package/dist/init-state.d.cts +35 -0
- package/dist/init-state.d.ts +35 -0
- package/dist/init-state.js +55 -0
- package/dist/mat-path-state.cjs +10 -0
- package/dist/mat-path-state.js +9 -0
- package/dist/migrations/001-create-core-tables.cjs +70 -0
- package/dist/migrations/001-create-core-tables.js +68 -0
- package/dist/migrations/002-create-custom-field-entries.cjs +27 -0
- package/dist/migrations/002-create-custom-field-entries.js +25 -0
- package/dist/migrations/003-create-custom-field-model-type-map.cjs +35 -0
- package/dist/migrations/003-create-custom-field-model-type-map.js +33 -0
- package/dist/migrations/004-create-field-policy-tables.cjs +29 -0
- package/dist/migrations/004-create-field-policy-tables.js +27 -0
- package/dist/migrations/005-add-entity-type-to-field-policies.cjs +20 -0
- package/dist/migrations/005-add-entity-type-to-field-policies.js +18 -0
- package/dist/migrations/index.cjs +94 -0
- package/dist/migrations/index.js +95 -0
- package/dist/models/CustomFieldDefinition.cjs +147 -0
- package/dist/models/CustomFieldDefinition.d.cts +40 -0
- package/dist/models/CustomFieldDefinition.d.ts +40 -0
- package/dist/models/CustomFieldDefinition.js +146 -0
- package/dist/models/CustomFieldEntries.cjs +71 -0
- package/dist/models/CustomFieldEntries.d.cts +15 -0
- package/dist/models/CustomFieldEntries.d.ts +15 -0
- package/dist/models/CustomFieldEntries.js +70 -0
- package/dist/models/CustomFieldModelTypeMap.cjs +62 -0
- package/dist/models/CustomFieldModelTypeMap.d.cts +14 -0
- package/dist/models/CustomFieldModelTypeMap.d.ts +14 -0
- package/dist/models/CustomFieldModelTypeMap.js +61 -0
- package/dist/models/CustomFieldValue.cjs +109 -0
- package/dist/models/CustomFieldValue.d.cts +20 -0
- package/dist/models/CustomFieldValue.d.ts +20 -0
- package/dist/models/CustomFieldValue.js +108 -0
- package/dist/models/CustomValidator.cjs +68 -0
- package/dist/models/CustomValidator.d.cts +18 -0
- package/dist/models/CustomValidator.d.ts +18 -0
- package/dist/models/CustomValidator.js +67 -0
- package/dist/models/FieldPolicy.cjs +54 -0
- package/dist/models/FieldPolicy.d.cts +25 -0
- package/dist/models/FieldPolicy.d.ts +25 -0
- package/dist/models/FieldPolicy.js +53 -0
- package/dist/models/index.cjs +163 -0
- package/dist/models/index.d.ts +11 -0
- package/dist/models/index.js +161 -0
- package/dist/models/tests/AssociatedTestModel.cjs +51 -0
- package/dist/models/tests/AssociatedTestModel.d.ts +2 -0
- package/dist/models/tests/AssociatedTestModel.js +50 -0
- package/dist/models/tests/TestModel.cjs +43 -0
- package/dist/models/tests/TestModel.d.ts +2 -0
- package/dist/models/tests/TestModel.js +42 -0
- package/dist/models/tests/contextAwareModels/ContextAwareTestModel.cjs +35 -0
- package/dist/models/tests/contextAwareModels/ContextAwareTestModel.d.ts +2 -0
- package/dist/models/tests/contextAwareModels/ContextAwareTestModel.js +34 -0
- package/dist/models/tests/contextAwareModels/ContextTestModel.cjs +33 -0
- package/dist/models/tests/contextAwareModels/ContextTestModel.d.ts +1 -0
- package/dist/models/tests/contextAwareModels/ContextTestModel.js +32 -0
- package/dist/repository/definition.cjs +221 -0
- package/dist/repository/definition.js +212 -0
- package/dist/repository/entries.cjs +69 -0
- package/dist/repository/entries.js +67 -0
- package/dist/repository/field-policy.cjs +69 -0
- package/dist/repository/field-policy.d.cts +35 -0
- package/dist/repository/field-policy.d.ts +35 -0
- package/dist/repository/field-policy.js +59 -0
- package/dist/repository/utils/formatValues.cjs +14 -0
- package/dist/repository/utils/formatValues.js +14 -0
- package/dist/repository/validator.cjs +85 -0
- package/dist/repository/validator.js +78 -0
- package/dist/repository/value.cjs +77 -0
- package/dist/repository/value.js +76 -0
- package/dist/scopes/filter.cjs +56 -0
- package/dist/scopes/filter.d.cts +22 -0
- package/dist/scopes/filter.d.ts +22 -0
- package/dist/scopes/filter.js +54 -0
- package/dist/scopes/helpers/filter.helpers.cjs +152 -0
- package/dist/scopes/helpers/filter.helpers.d.cts +16 -0
- package/dist/scopes/helpers/filter.helpers.d.ts +16 -0
- package/dist/scopes/helpers/filter.helpers.js +147 -0
- package/dist/scopes/index.cjs +1 -0
- package/dist/scopes/index.js +3 -0
- package/dist/types/index.d.cts +75 -0
- package/dist/types/index.d.ts +76 -0
- package/dist/utils/constants/index.cjs +32 -0
- package/dist/utils/constants/index.d.cts +23 -0
- package/dist/utils/constants/index.d.ts +23 -0
- package/dist/utils/constants/index.js +29 -0
- package/dist/utils/db/index.cjs +15 -0
- package/dist/utils/db/index.js +14 -0
- package/dist/utils/helpers/index.cjs +23 -0
- package/dist/utils/helpers/index.d.cts +30 -0
- package/dist/utils/helpers/index.d.ts +30 -0
- package/dist/utils/helpers/index.js +21 -0
- package/dist/utils/init.cjs +115 -0
- package/dist/utils/init.js +111 -0
- package/dist/utils/logger/index.cjs +15 -0
- package/dist/utils/logger/index.js +12 -0
- package/dist/utils/scopeAttributes.cjs +12 -0
- package/dist/utils/scopeAttributes.js +11 -0
- package/dist/utils/validations/index.cjs +34 -0
- package/dist/utils/validations/index.js +32 -0
- package/dist/utils/validations/schema/custom-fields.cjs +9 -0
- package/dist/utils/validations/schema/custom-fields.d.cts +6 -0
- package/dist/utils/validations/schema/custom-fields.d.ts +6 -0
- package/dist/utils/validations/schema/custom-fields.js +7 -0
- package/dist/utils/validations/schema/validator-schema.cjs +102 -0
- package/dist/utils/validations/schema/validator-schema.js +99 -0
- package/dist/utils/validations/validators/index.cjs +45 -0
- package/dist/utils/validations/validators/index.js +42 -0
- package/dist/utils/validations/validators/multi-select-dropdown.validator.cjs +7 -0
- package/dist/utils/validations/validators/multi-select-dropdown.validator.js +7 -0
- package/dist/utils/validations/validators/multi-select-status.validator.cjs +10 -0
- package/dist/utils/validations/validators/multi-select-status.validator.js +10 -0
- package/dist/utils/validations/validators/multi-select.helpers.cjs +12 -0
- package/dist/utils/validations/validators/multi-select.helpers.js +10 -0
- package/dist/utils/validations/validators/select.validator.cjs +12 -0
- package/dist/utils/validations/validators/select.validator.js +10 -0
- package/dist/utils/validations/validators/status.validator.cjs +12 -0
- package/dist/utils/validations/validators/status.validator.js +10 -0
- package/package.json +4 -4
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Model } from "sequelize-typescript";
|
|
2
|
+
|
|
3
|
+
//#region src/models/FieldPolicy.d.ts
|
|
4
|
+
type EntityType = "vehicle" | "driver";
|
|
5
|
+
type ModelMode = "full" | "partial";
|
|
6
|
+
type ModelInclusion = {
|
|
7
|
+
name: string;
|
|
8
|
+
mode: "full";
|
|
9
|
+
} | {
|
|
10
|
+
name: string;
|
|
11
|
+
mode: "partial";
|
|
12
|
+
fields: string[];
|
|
13
|
+
};
|
|
14
|
+
declare class FieldPolicy extends Model {
|
|
15
|
+
id: string;
|
|
16
|
+
contextId: string;
|
|
17
|
+
entityType: EntityType | null;
|
|
18
|
+
name: string;
|
|
19
|
+
/** Base-level field names to include */
|
|
20
|
+
fields: string[];
|
|
21
|
+
/** Model inclusions; full = all fields, partial = only listed fields */
|
|
22
|
+
models: ModelInclusion[];
|
|
23
|
+
}
|
|
24
|
+
//#endregion
|
|
25
|
+
export { EntityType, FieldPolicy, ModelInclusion, ModelMode };
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Model } from "sequelize-typescript";
|
|
2
|
+
|
|
3
|
+
//#region src/models/FieldPolicy.d.ts
|
|
4
|
+
type EntityType = "vehicle" | "driver";
|
|
5
|
+
type ModelMode = "full" | "partial";
|
|
6
|
+
type ModelInclusion = {
|
|
7
|
+
name: string;
|
|
8
|
+
mode: "full";
|
|
9
|
+
} | {
|
|
10
|
+
name: string;
|
|
11
|
+
mode: "partial";
|
|
12
|
+
fields: string[];
|
|
13
|
+
};
|
|
14
|
+
declare class FieldPolicy extends Model {
|
|
15
|
+
id: string;
|
|
16
|
+
contextId: string;
|
|
17
|
+
entityType: EntityType | null;
|
|
18
|
+
name: string;
|
|
19
|
+
/** Base-level field names to include */
|
|
20
|
+
fields: string[];
|
|
21
|
+
/** Model inclusions; full = all fields, partial = only listed fields */
|
|
22
|
+
models: ModelInclusion[];
|
|
23
|
+
}
|
|
24
|
+
//#endregion
|
|
25
|
+
export { EntityType, FieldPolicy, ModelInclusion, ModelMode };
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { __decorateMetadata } from "../_virtual/_@oxc-project_runtime@0.103.0/helpers/decorateMetadata.js";
|
|
2
|
+
import { __decorate } from "../_virtual/_@oxc-project_runtime@0.103.0/helpers/decorate.js";
|
|
3
|
+
import { Column, DataType, Default, Model, PrimaryKey, Table } from "sequelize-typescript";
|
|
4
|
+
import { randomUUID } from "node:crypto";
|
|
5
|
+
|
|
6
|
+
//#region src/models/FieldPolicy.ts
|
|
7
|
+
let FieldPolicy = class FieldPolicy$1 extends Model {};
|
|
8
|
+
__decorate([
|
|
9
|
+
PrimaryKey,
|
|
10
|
+
Default(() => randomUUID()),
|
|
11
|
+
Column({
|
|
12
|
+
type: DataType.UUID,
|
|
13
|
+
allowNull: false
|
|
14
|
+
}),
|
|
15
|
+
__decorateMetadata("design:type", String)
|
|
16
|
+
], FieldPolicy.prototype, "id", void 0);
|
|
17
|
+
__decorate([Column({
|
|
18
|
+
type: DataType.UUID,
|
|
19
|
+
allowNull: false
|
|
20
|
+
}), __decorateMetadata("design:type", String)], FieldPolicy.prototype, "contextId", void 0);
|
|
21
|
+
__decorate([Column({
|
|
22
|
+
type: DataType.STRING,
|
|
23
|
+
allowNull: true
|
|
24
|
+
}), __decorateMetadata("design:type", Object)], FieldPolicy.prototype, "entityType", void 0);
|
|
25
|
+
__decorate([Column({
|
|
26
|
+
type: DataType.STRING,
|
|
27
|
+
allowNull: false
|
|
28
|
+
}), __decorateMetadata("design:type", String)], FieldPolicy.prototype, "name", void 0);
|
|
29
|
+
__decorate([Column({
|
|
30
|
+
type: DataType.JSONB,
|
|
31
|
+
allowNull: false,
|
|
32
|
+
defaultValue: []
|
|
33
|
+
}), __decorateMetadata("design:type", Array)], FieldPolicy.prototype, "fields", void 0);
|
|
34
|
+
__decorate([Column({
|
|
35
|
+
type: DataType.JSONB,
|
|
36
|
+
allowNull: false,
|
|
37
|
+
defaultValue: []
|
|
38
|
+
}), __decorateMetadata("design:type", Array)], FieldPolicy.prototype, "models", void 0);
|
|
39
|
+
FieldPolicy = __decorate([Table({
|
|
40
|
+
tableName: "field_policies",
|
|
41
|
+
modelName: "FieldPolicy",
|
|
42
|
+
timestamps: true,
|
|
43
|
+
underscored: true,
|
|
44
|
+
indexes: [{
|
|
45
|
+
name: "unique_context_policy",
|
|
46
|
+
fields: ["context_id", "name"],
|
|
47
|
+
unique: true
|
|
48
|
+
}]
|
|
49
|
+
})], FieldPolicy);
|
|
50
|
+
var FieldPolicy_default = FieldPolicy;
|
|
51
|
+
|
|
52
|
+
//#endregion
|
|
53
|
+
export { FieldPolicy_default as default };
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
|
|
2
|
+
const require_index = require('../utils/logger/index.cjs');
|
|
3
|
+
const require_CustomFieldValue = require('./CustomFieldValue.cjs');
|
|
4
|
+
const require_CustomFieldDefinition = require('./CustomFieldDefinition.cjs');
|
|
5
|
+
const require_AssociatedTestModel = require('./tests/AssociatedTestModel.cjs');
|
|
6
|
+
const require_TestModel = require('./tests/TestModel.cjs');
|
|
7
|
+
const require_ContextTestModel = require('./tests/contextAwareModels/ContextTestModel.cjs');
|
|
8
|
+
const require_ContextAwareTestModel = require('./tests/contextAwareModels/ContextAwareTestModel.cjs');
|
|
9
|
+
const require_CustomFieldEntries = require('./CustomFieldEntries.cjs');
|
|
10
|
+
const require_CustomValidator = require('./CustomValidator.cjs');
|
|
11
|
+
const require_CustomFieldModelTypeMap = require('./CustomFieldModelTypeMap.cjs');
|
|
12
|
+
const require_index$1 = require('../migrations/index.cjs');
|
|
13
|
+
let sequelize = require("sequelize");
|
|
14
|
+
|
|
15
|
+
//#region src/models/index.ts
|
|
16
|
+
const testModels = [
|
|
17
|
+
require_TestModel.default,
|
|
18
|
+
require_AssociatedTestModel.default,
|
|
19
|
+
require_ContextAwareTestModel.default,
|
|
20
|
+
require_ContextTestModel.default
|
|
21
|
+
];
|
|
22
|
+
const SADOT_MIGRATION_PREFIX = "sadot-migration";
|
|
23
|
+
const SCHEMA_VERSION = "5f8e4a7c-9b2d-4e1f-8c3a-b6d9e2f7a4c1";
|
|
24
|
+
/**
|
|
25
|
+
* Legacy migration approach using sequelize.sync({ alter: true }).
|
|
26
|
+
* TODO: Remove this function once all consumers have migrated to umzug.
|
|
27
|
+
*/
|
|
28
|
+
const legacySyncMigrations = async (sequelize$1, { schemaPrefix, schemaVersion, useCustomFieldsEntries, useModelTypeMapping }) => {
|
|
29
|
+
const SequelizeMeta = sequelize$1.define("SequelizeMeta", { name: {
|
|
30
|
+
type: sequelize.DataTypes.STRING,
|
|
31
|
+
allowNull: false,
|
|
32
|
+
unique: true,
|
|
33
|
+
primaryKey: true,
|
|
34
|
+
autoIncrement: false
|
|
35
|
+
} }, {
|
|
36
|
+
tableName: "SequelizeMeta",
|
|
37
|
+
timestamps: false,
|
|
38
|
+
schema: "public"
|
|
39
|
+
});
|
|
40
|
+
require_index.default.info("custom-fields: starting migrations");
|
|
41
|
+
const migrations = await SequelizeMeta.findAll({
|
|
42
|
+
where: { name: { [sequelize.Op.like]: `${schemaPrefix}%` } },
|
|
43
|
+
raw: true
|
|
44
|
+
});
|
|
45
|
+
const currentSadotSchemaVersion = migrations.at(-1);
|
|
46
|
+
const expectedSchemaVersionIndex = migrations.findIndex((m) => m.name === schemaVersion);
|
|
47
|
+
require_index.default.info("custom-fields: migrations", {
|
|
48
|
+
currentMigrations: migrations,
|
|
49
|
+
currentSadotSchemaVersion,
|
|
50
|
+
newSadotSchemaVersion: schemaVersion,
|
|
51
|
+
expectedSchemaVersionIndex
|
|
52
|
+
});
|
|
53
|
+
if (!currentSadotSchemaVersion || currentSadotSchemaVersion.name !== schemaVersion) {
|
|
54
|
+
require_index.default.info("custom-fields: syncing models");
|
|
55
|
+
try {
|
|
56
|
+
await require_CustomFieldDefinition.default.sync({ alter: true });
|
|
57
|
+
require_index.default.info("custom-fields: CustomFieldDefinition synced successfully");
|
|
58
|
+
await require_CustomFieldValue.default.sync({ alter: true });
|
|
59
|
+
require_index.default.info("custom-fields: CustomFieldValue synced successfully");
|
|
60
|
+
await require_CustomValidator.default.sync({ alter: true });
|
|
61
|
+
require_index.default.info("custom-fields: CustomValidator synced successfully");
|
|
62
|
+
if (useCustomFieldsEntries) {
|
|
63
|
+
await require_CustomFieldEntries.default.sync({ alter: true });
|
|
64
|
+
require_index.default.info("custom-fields: CustomFieldEntries synced successfully");
|
|
65
|
+
}
|
|
66
|
+
if (useModelTypeMapping) {
|
|
67
|
+
await require_CustomFieldModelTypeMap.default.sync({ alter: true });
|
|
68
|
+
require_index.default.info("custom-fields: CustomFieldModelTypeMap synced successfully");
|
|
69
|
+
}
|
|
70
|
+
if (expectedSchemaVersionIndex === -1) {
|
|
71
|
+
await SequelizeMeta.create({ name: schemaVersion });
|
|
72
|
+
require_index.default.info("custom-fields: SequelizeMeta entry created successfully");
|
|
73
|
+
}
|
|
74
|
+
require_index.default.info("custom-fields: models synced");
|
|
75
|
+
if (migrations.length && expectedSchemaVersionIndex !== -1 && expectedSchemaVersionIndex < migrations.length - 1) {
|
|
76
|
+
const migrationsToDelete = migrations.slice(expectedSchemaVersionIndex + 1);
|
|
77
|
+
require_index.default.info("custom-fields: deleting newer migrations during down migration", { count: migrationsToDelete.length });
|
|
78
|
+
await SequelizeMeta.destroy({ where: { name: { [sequelize.Op.in]: migrationsToDelete.map((m) => m.name) } } });
|
|
79
|
+
require_index.default.info("custom-fields: newer migrations deleted successfully");
|
|
80
|
+
}
|
|
81
|
+
} catch (error) {
|
|
82
|
+
require_index.default.error("custom-fields: failed to sync models", { error });
|
|
83
|
+
throw error;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
const initTables = async (sequelize$1, getUser, { schemaPrefix = SADOT_MIGRATION_PREFIX, schemaVersion = SCHEMA_VERSION, useCustomFieldsEntries = false, useModelTypeMapping = false, runLegacyMigrations = false, isMatPathEnabled } = {}) => {
|
|
88
|
+
const CUSTOM_FIELDS_SCHEMA_VERSION = `${schemaPrefix}_${schemaVersion}${useCustomFieldsEntries ? "_withEntries" : ""}${useModelTypeMapping ? "_withTypeMapping" : ""}`;
|
|
89
|
+
require_index.default.info("custom-fields: initialize custom-fields tables");
|
|
90
|
+
if (!sequelize$1.addModels) throw new Error("sequelize instance must have addModels function");
|
|
91
|
+
const productionModels = [
|
|
92
|
+
require_CustomFieldDefinition.default,
|
|
93
|
+
require_CustomFieldValue.default,
|
|
94
|
+
require_CustomValidator.default,
|
|
95
|
+
...useCustomFieldsEntries ? [require_CustomFieldEntries.default] : [],
|
|
96
|
+
...useModelTypeMapping ? [require_CustomFieldModelTypeMap.default] : []
|
|
97
|
+
];
|
|
98
|
+
sequelize$1.addModels(productionModels);
|
|
99
|
+
if (useModelTypeMapping) {
|
|
100
|
+
require_CustomFieldDefinition.default.hasMany(require_CustomFieldModelTypeMap.default, {
|
|
101
|
+
foreignKey: "customFieldDefinitionId",
|
|
102
|
+
as: "modelTypeMappings"
|
|
103
|
+
});
|
|
104
|
+
require_CustomFieldModelTypeMap.default.belongsTo(require_CustomFieldDefinition.default, {
|
|
105
|
+
foreignKey: "customFieldDefinitionId",
|
|
106
|
+
as: "customFieldDefinition"
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
require_CustomFieldDefinition.default.addScope("userScope", () => {
|
|
110
|
+
if (isMatPathEnabled?.()) return {};
|
|
111
|
+
const user = getUser();
|
|
112
|
+
if (!user?.permissions) return {};
|
|
113
|
+
return { where: { entityId: [
|
|
114
|
+
...Object.keys(user.permissions.fleets),
|
|
115
|
+
...Object.keys(user.permissions.businessModels),
|
|
116
|
+
...Object.keys(user.permissions.demandSources)
|
|
117
|
+
] } };
|
|
118
|
+
});
|
|
119
|
+
require_CustomValidator.default.addScope("userScope", () => {
|
|
120
|
+
if (isMatPathEnabled?.()) return {};
|
|
121
|
+
const user = getUser();
|
|
122
|
+
if (!user?.permissions) return {};
|
|
123
|
+
return { where: { entityId: [
|
|
124
|
+
...Object.keys(user.permissions.fleets),
|
|
125
|
+
...Object.keys(user.permissions.businessModels),
|
|
126
|
+
...Object.keys(user.permissions.demandSources)
|
|
127
|
+
] } };
|
|
128
|
+
});
|
|
129
|
+
require_index.default.info("custom-fields: models added");
|
|
130
|
+
if (runLegacyMigrations) {
|
|
131
|
+
require_index.default.info("custom-fields: running legacy sync migrations");
|
|
132
|
+
await legacySyncMigrations(sequelize$1, {
|
|
133
|
+
schemaPrefix,
|
|
134
|
+
schemaVersion: CUSTOM_FIELDS_SCHEMA_VERSION,
|
|
135
|
+
useCustomFieldsEntries,
|
|
136
|
+
useModelTypeMapping
|
|
137
|
+
});
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
require_index.default.info("custom-fields: starting umzug migrations");
|
|
141
|
+
await require_index$1.runSadotMigrations(sequelize$1, {
|
|
142
|
+
useCustomFieldsEntries,
|
|
143
|
+
useModelTypeMapping
|
|
144
|
+
});
|
|
145
|
+
require_index.default.info("custom-fields: umzug migrations complete");
|
|
146
|
+
};
|
|
147
|
+
const initTestModels = async (sequelize$1) => {
|
|
148
|
+
require_index.default.info("custom-fields: initialize custom-fields test models");
|
|
149
|
+
if (!sequelize$1.addModels) throw new Error("sequelize instance must have addModels function");
|
|
150
|
+
sequelize$1.addModels(testModels);
|
|
151
|
+
await sequelize$1.dropSchema("custom-fields", { logging: false });
|
|
152
|
+
await sequelize$1.createSchema("custom-fields", { logging: false });
|
|
153
|
+
require_index.default.info("custom-fields: test models added");
|
|
154
|
+
await require_TestModel.default.sync({ alter: true });
|
|
155
|
+
await require_AssociatedTestModel.default.sync({ alter: true });
|
|
156
|
+
await require_ContextTestModel.default.sync({ alter: true });
|
|
157
|
+
await require_ContextAwareTestModel.default.sync({ alter: true });
|
|
158
|
+
require_index.default.info("custom-fields: test models synced");
|
|
159
|
+
};
|
|
160
|
+
|
|
161
|
+
//#endregion
|
|
162
|
+
exports.initTables = initTables;
|
|
163
|
+
exports.initTestModels = initTestModels;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { CustomFieldValue } from "./CustomFieldValue.js";
|
|
2
|
+
import { CustomFieldModelTypeMap } from "./CustomFieldModelTypeMap.js";
|
|
3
|
+
import { CustomFieldDefinition } from "./CustomFieldDefinition.js";
|
|
4
|
+
import { CustomValidator } from "./CustomValidator.js";
|
|
5
|
+
import "../types/index.js";
|
|
6
|
+
import "./tests/AssociatedTestModel.js";
|
|
7
|
+
import "./tests/TestModel.js";
|
|
8
|
+
import "./tests/contextAwareModels/ContextTestModel.js";
|
|
9
|
+
import "./tests/contextAwareModels/ContextAwareTestModel.js";
|
|
10
|
+
import { CustomFieldEntries } from "./CustomFieldEntries.js";
|
|
11
|
+
import { Sequelize } from "sequelize-typescript";
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
import logger_default from "../utils/logger/index.js";
|
|
2
|
+
import CustomFieldValue_default from "./CustomFieldValue.js";
|
|
3
|
+
import CustomFieldDefinition_default from "./CustomFieldDefinition.js";
|
|
4
|
+
import AssociatedTestModel_default from "./tests/AssociatedTestModel.js";
|
|
5
|
+
import TestModel_default from "./tests/TestModel.js";
|
|
6
|
+
import ContextTestModel_default from "./tests/contextAwareModels/ContextTestModel.js";
|
|
7
|
+
import ContextAwareTestModel_default from "./tests/contextAwareModels/ContextAwareTestModel.js";
|
|
8
|
+
import CustomFieldEntries_default from "./CustomFieldEntries.js";
|
|
9
|
+
import CustomValidator_default from "./CustomValidator.js";
|
|
10
|
+
import CustomFieldModelTypeMap_default from "./CustomFieldModelTypeMap.js";
|
|
11
|
+
import { runSadotMigrations } from "../migrations/index.js";
|
|
12
|
+
import { DataTypes, Op } from "sequelize";
|
|
13
|
+
|
|
14
|
+
//#region src/models/index.ts
|
|
15
|
+
const testModels = [
|
|
16
|
+
TestModel_default,
|
|
17
|
+
AssociatedTestModel_default,
|
|
18
|
+
ContextAwareTestModel_default,
|
|
19
|
+
ContextTestModel_default
|
|
20
|
+
];
|
|
21
|
+
const SADOT_MIGRATION_PREFIX = "sadot-migration";
|
|
22
|
+
const SCHEMA_VERSION = "5f8e4a7c-9b2d-4e1f-8c3a-b6d9e2f7a4c1";
|
|
23
|
+
/**
|
|
24
|
+
* Legacy migration approach using sequelize.sync({ alter: true }).
|
|
25
|
+
* TODO: Remove this function once all consumers have migrated to umzug.
|
|
26
|
+
*/
|
|
27
|
+
const legacySyncMigrations = async (sequelize, { schemaPrefix, schemaVersion, useCustomFieldsEntries, useModelTypeMapping }) => {
|
|
28
|
+
const SequelizeMeta = sequelize.define("SequelizeMeta", { name: {
|
|
29
|
+
type: DataTypes.STRING,
|
|
30
|
+
allowNull: false,
|
|
31
|
+
unique: true,
|
|
32
|
+
primaryKey: true,
|
|
33
|
+
autoIncrement: false
|
|
34
|
+
} }, {
|
|
35
|
+
tableName: "SequelizeMeta",
|
|
36
|
+
timestamps: false,
|
|
37
|
+
schema: "public"
|
|
38
|
+
});
|
|
39
|
+
logger_default.info("custom-fields: starting migrations");
|
|
40
|
+
const migrations = await SequelizeMeta.findAll({
|
|
41
|
+
where: { name: { [Op.like]: `${schemaPrefix}%` } },
|
|
42
|
+
raw: true
|
|
43
|
+
});
|
|
44
|
+
const currentSadotSchemaVersion = migrations.at(-1);
|
|
45
|
+
const expectedSchemaVersionIndex = migrations.findIndex((m) => m.name === schemaVersion);
|
|
46
|
+
logger_default.info("custom-fields: migrations", {
|
|
47
|
+
currentMigrations: migrations,
|
|
48
|
+
currentSadotSchemaVersion,
|
|
49
|
+
newSadotSchemaVersion: schemaVersion,
|
|
50
|
+
expectedSchemaVersionIndex
|
|
51
|
+
});
|
|
52
|
+
if (!currentSadotSchemaVersion || currentSadotSchemaVersion.name !== schemaVersion) {
|
|
53
|
+
logger_default.info("custom-fields: syncing models");
|
|
54
|
+
try {
|
|
55
|
+
await CustomFieldDefinition_default.sync({ alter: true });
|
|
56
|
+
logger_default.info("custom-fields: CustomFieldDefinition synced successfully");
|
|
57
|
+
await CustomFieldValue_default.sync({ alter: true });
|
|
58
|
+
logger_default.info("custom-fields: CustomFieldValue synced successfully");
|
|
59
|
+
await CustomValidator_default.sync({ alter: true });
|
|
60
|
+
logger_default.info("custom-fields: CustomValidator synced successfully");
|
|
61
|
+
if (useCustomFieldsEntries) {
|
|
62
|
+
await CustomFieldEntries_default.sync({ alter: true });
|
|
63
|
+
logger_default.info("custom-fields: CustomFieldEntries synced successfully");
|
|
64
|
+
}
|
|
65
|
+
if (useModelTypeMapping) {
|
|
66
|
+
await CustomFieldModelTypeMap_default.sync({ alter: true });
|
|
67
|
+
logger_default.info("custom-fields: CustomFieldModelTypeMap synced successfully");
|
|
68
|
+
}
|
|
69
|
+
if (expectedSchemaVersionIndex === -1) {
|
|
70
|
+
await SequelizeMeta.create({ name: schemaVersion });
|
|
71
|
+
logger_default.info("custom-fields: SequelizeMeta entry created successfully");
|
|
72
|
+
}
|
|
73
|
+
logger_default.info("custom-fields: models synced");
|
|
74
|
+
if (migrations.length && expectedSchemaVersionIndex !== -1 && expectedSchemaVersionIndex < migrations.length - 1) {
|
|
75
|
+
const migrationsToDelete = migrations.slice(expectedSchemaVersionIndex + 1);
|
|
76
|
+
logger_default.info("custom-fields: deleting newer migrations during down migration", { count: migrationsToDelete.length });
|
|
77
|
+
await SequelizeMeta.destroy({ where: { name: { [Op.in]: migrationsToDelete.map((m) => m.name) } } });
|
|
78
|
+
logger_default.info("custom-fields: newer migrations deleted successfully");
|
|
79
|
+
}
|
|
80
|
+
} catch (error) {
|
|
81
|
+
logger_default.error("custom-fields: failed to sync models", { error });
|
|
82
|
+
throw error;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
const initTables = async (sequelize, getUser, { schemaPrefix = SADOT_MIGRATION_PREFIX, schemaVersion = SCHEMA_VERSION, useCustomFieldsEntries = false, useModelTypeMapping = false, runLegacyMigrations = false, isMatPathEnabled } = {}) => {
|
|
87
|
+
const CUSTOM_FIELDS_SCHEMA_VERSION = `${schemaPrefix}_${schemaVersion}${useCustomFieldsEntries ? "_withEntries" : ""}${useModelTypeMapping ? "_withTypeMapping" : ""}`;
|
|
88
|
+
logger_default.info("custom-fields: initialize custom-fields tables");
|
|
89
|
+
if (!sequelize.addModels) throw new Error("sequelize instance must have addModels function");
|
|
90
|
+
const productionModels = [
|
|
91
|
+
CustomFieldDefinition_default,
|
|
92
|
+
CustomFieldValue_default,
|
|
93
|
+
CustomValidator_default,
|
|
94
|
+
...useCustomFieldsEntries ? [CustomFieldEntries_default] : [],
|
|
95
|
+
...useModelTypeMapping ? [CustomFieldModelTypeMap_default] : []
|
|
96
|
+
];
|
|
97
|
+
sequelize.addModels(productionModels);
|
|
98
|
+
if (useModelTypeMapping) {
|
|
99
|
+
CustomFieldDefinition_default.hasMany(CustomFieldModelTypeMap_default, {
|
|
100
|
+
foreignKey: "customFieldDefinitionId",
|
|
101
|
+
as: "modelTypeMappings"
|
|
102
|
+
});
|
|
103
|
+
CustomFieldModelTypeMap_default.belongsTo(CustomFieldDefinition_default, {
|
|
104
|
+
foreignKey: "customFieldDefinitionId",
|
|
105
|
+
as: "customFieldDefinition"
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
CustomFieldDefinition_default.addScope("userScope", () => {
|
|
109
|
+
if (isMatPathEnabled?.()) return {};
|
|
110
|
+
const user = getUser();
|
|
111
|
+
if (!user?.permissions) return {};
|
|
112
|
+
return { where: { entityId: [
|
|
113
|
+
...Object.keys(user.permissions.fleets),
|
|
114
|
+
...Object.keys(user.permissions.businessModels),
|
|
115
|
+
...Object.keys(user.permissions.demandSources)
|
|
116
|
+
] } };
|
|
117
|
+
});
|
|
118
|
+
CustomValidator_default.addScope("userScope", () => {
|
|
119
|
+
if (isMatPathEnabled?.()) return {};
|
|
120
|
+
const user = getUser();
|
|
121
|
+
if (!user?.permissions) return {};
|
|
122
|
+
return { where: { entityId: [
|
|
123
|
+
...Object.keys(user.permissions.fleets),
|
|
124
|
+
...Object.keys(user.permissions.businessModels),
|
|
125
|
+
...Object.keys(user.permissions.demandSources)
|
|
126
|
+
] } };
|
|
127
|
+
});
|
|
128
|
+
logger_default.info("custom-fields: models added");
|
|
129
|
+
if (runLegacyMigrations) {
|
|
130
|
+
logger_default.info("custom-fields: running legacy sync migrations");
|
|
131
|
+
await legacySyncMigrations(sequelize, {
|
|
132
|
+
schemaPrefix,
|
|
133
|
+
schemaVersion: CUSTOM_FIELDS_SCHEMA_VERSION,
|
|
134
|
+
useCustomFieldsEntries,
|
|
135
|
+
useModelTypeMapping
|
|
136
|
+
});
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
logger_default.info("custom-fields: starting umzug migrations");
|
|
140
|
+
await runSadotMigrations(sequelize, {
|
|
141
|
+
useCustomFieldsEntries,
|
|
142
|
+
useModelTypeMapping
|
|
143
|
+
});
|
|
144
|
+
logger_default.info("custom-fields: umzug migrations complete");
|
|
145
|
+
};
|
|
146
|
+
const initTestModels = async (sequelize) => {
|
|
147
|
+
logger_default.info("custom-fields: initialize custom-fields test models");
|
|
148
|
+
if (!sequelize.addModels) throw new Error("sequelize instance must have addModels function");
|
|
149
|
+
sequelize.addModels(testModels);
|
|
150
|
+
await sequelize.dropSchema("custom-fields", { logging: false });
|
|
151
|
+
await sequelize.createSchema("custom-fields", { logging: false });
|
|
152
|
+
logger_default.info("custom-fields: test models added");
|
|
153
|
+
await TestModel_default.sync({ alter: true });
|
|
154
|
+
await AssociatedTestModel_default.sync({ alter: true });
|
|
155
|
+
await ContextTestModel_default.sync({ alter: true });
|
|
156
|
+
await ContextAwareTestModel_default.sync({ alter: true });
|
|
157
|
+
logger_default.info("custom-fields: test models synced");
|
|
158
|
+
};
|
|
159
|
+
|
|
160
|
+
//#endregion
|
|
161
|
+
export { initTables, initTestModels };
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
|
|
2
|
+
const require_decorateMetadata = require('../../_virtual/_@oxc-project_runtime@0.103.0/helpers/decorateMetadata.cjs');
|
|
3
|
+
const require_decorate = require('../../_virtual/_@oxc-project_runtime@0.103.0/helpers/decorate.cjs');
|
|
4
|
+
const require_TestModel = require('./TestModel.cjs');
|
|
5
|
+
let sequelize_typescript = require("sequelize-typescript");
|
|
6
|
+
|
|
7
|
+
//#region src/models/tests/AssociatedTestModel.ts
|
|
8
|
+
var _ref;
|
|
9
|
+
let AssociatedTestModel = class AssociatedTestModel$1 extends sequelize_typescript.Model {};
|
|
10
|
+
require_decorate.__decorate([
|
|
11
|
+
sequelize_typescript.PrimaryKey,
|
|
12
|
+
(0, sequelize_typescript.Column)({
|
|
13
|
+
type: sequelize_typescript.DataType.UUID,
|
|
14
|
+
defaultValue: sequelize_typescript.DataType.UUIDV4,
|
|
15
|
+
allowNull: false
|
|
16
|
+
}),
|
|
17
|
+
require_decorateMetadata.__decorateMetadata("design:type", String)
|
|
18
|
+
], AssociatedTestModel.prototype, "id", void 0);
|
|
19
|
+
require_decorate.__decorate([
|
|
20
|
+
(0, sequelize_typescript.ForeignKey)(() => require_TestModel.default),
|
|
21
|
+
(0, sequelize_typescript.Column)({
|
|
22
|
+
type: sequelize_typescript.DataType.UUID,
|
|
23
|
+
allowNull: false
|
|
24
|
+
}),
|
|
25
|
+
require_decorateMetadata.__decorateMetadata("design:type", String)
|
|
26
|
+
], AssociatedTestModel.prototype, "testModelId", void 0);
|
|
27
|
+
require_decorate.__decorate([(0, sequelize_typescript.Column)({
|
|
28
|
+
type: sequelize_typescript.DataType.UUID,
|
|
29
|
+
allowNull: false
|
|
30
|
+
}), require_decorateMetadata.__decorateMetadata("design:type", String)], AssociatedTestModel.prototype, "fleetId", void 0);
|
|
31
|
+
require_decorate.__decorate([(0, sequelize_typescript.Column)({
|
|
32
|
+
type: sequelize_typescript.DataType.UUID,
|
|
33
|
+
allowNull: true
|
|
34
|
+
}), require_decorateMetadata.__decorateMetadata("design:type", String)], AssociatedTestModel.prototype, "businessModelId", void 0);
|
|
35
|
+
require_decorate.__decorate([(0, sequelize_typescript.Column)({
|
|
36
|
+
type: sequelize_typescript.DataType.UUID,
|
|
37
|
+
allowNull: true
|
|
38
|
+
}), require_decorateMetadata.__decorateMetadata("design:type", String)], AssociatedTestModel.prototype, "demandSourceId", void 0);
|
|
39
|
+
require_decorate.__decorate([(0, sequelize_typescript.Column)({ type: sequelize_typescript.DataType.BOOLEAN }), require_decorateMetadata.__decorateMetadata("design:type", Boolean)], AssociatedTestModel.prototype, "anotherAttribute", void 0);
|
|
40
|
+
require_decorate.__decorate([(0, sequelize_typescript.BelongsTo)(() => require_TestModel.default), require_decorateMetadata.__decorateMetadata("design:type", typeof (_ref = typeof require_TestModel.default !== "undefined" && require_TestModel.default) === "function" ? _ref : Object)], AssociatedTestModel.prototype, "testModel", void 0);
|
|
41
|
+
AssociatedTestModel = require_decorate.__decorate([(0, sequelize_typescript.Table)({
|
|
42
|
+
schema: "custom-fields",
|
|
43
|
+
tableName: "associated_test_models",
|
|
44
|
+
createdAt: false,
|
|
45
|
+
updatedAt: false,
|
|
46
|
+
modelName: "AssociatedTestModel"
|
|
47
|
+
})], AssociatedTestModel);
|
|
48
|
+
var AssociatedTestModel_default = AssociatedTestModel;
|
|
49
|
+
|
|
50
|
+
//#endregion
|
|
51
|
+
exports.default = AssociatedTestModel_default;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.103.0/helpers/decorateMetadata.js";
|
|
2
|
+
import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.103.0/helpers/decorate.js";
|
|
3
|
+
import TestModel_default from "./TestModel.js";
|
|
4
|
+
import { BelongsTo, Column, DataType, ForeignKey, Model, PrimaryKey, Table } from "sequelize-typescript";
|
|
5
|
+
|
|
6
|
+
//#region src/models/tests/AssociatedTestModel.ts
|
|
7
|
+
var _ref;
|
|
8
|
+
let AssociatedTestModel = class AssociatedTestModel$1 extends Model {};
|
|
9
|
+
__decorate([
|
|
10
|
+
PrimaryKey,
|
|
11
|
+
Column({
|
|
12
|
+
type: DataType.UUID,
|
|
13
|
+
defaultValue: DataType.UUIDV4,
|
|
14
|
+
allowNull: false
|
|
15
|
+
}),
|
|
16
|
+
__decorateMetadata("design:type", String)
|
|
17
|
+
], AssociatedTestModel.prototype, "id", void 0);
|
|
18
|
+
__decorate([
|
|
19
|
+
ForeignKey(() => TestModel_default),
|
|
20
|
+
Column({
|
|
21
|
+
type: DataType.UUID,
|
|
22
|
+
allowNull: false
|
|
23
|
+
}),
|
|
24
|
+
__decorateMetadata("design:type", String)
|
|
25
|
+
], AssociatedTestModel.prototype, "testModelId", void 0);
|
|
26
|
+
__decorate([Column({
|
|
27
|
+
type: DataType.UUID,
|
|
28
|
+
allowNull: false
|
|
29
|
+
}), __decorateMetadata("design:type", String)], AssociatedTestModel.prototype, "fleetId", void 0);
|
|
30
|
+
__decorate([Column({
|
|
31
|
+
type: DataType.UUID,
|
|
32
|
+
allowNull: true
|
|
33
|
+
}), __decorateMetadata("design:type", String)], AssociatedTestModel.prototype, "businessModelId", void 0);
|
|
34
|
+
__decorate([Column({
|
|
35
|
+
type: DataType.UUID,
|
|
36
|
+
allowNull: true
|
|
37
|
+
}), __decorateMetadata("design:type", String)], AssociatedTestModel.prototype, "demandSourceId", void 0);
|
|
38
|
+
__decorate([Column({ type: DataType.BOOLEAN }), __decorateMetadata("design:type", Boolean)], AssociatedTestModel.prototype, "anotherAttribute", void 0);
|
|
39
|
+
__decorate([BelongsTo(() => TestModel_default), __decorateMetadata("design:type", typeof (_ref = typeof TestModel_default !== "undefined" && TestModel_default) === "function" ? _ref : Object)], AssociatedTestModel.prototype, "testModel", void 0);
|
|
40
|
+
AssociatedTestModel = __decorate([Table({
|
|
41
|
+
schema: "custom-fields",
|
|
42
|
+
tableName: "associated_test_models",
|
|
43
|
+
createdAt: false,
|
|
44
|
+
updatedAt: false,
|
|
45
|
+
modelName: "AssociatedTestModel"
|
|
46
|
+
})], AssociatedTestModel);
|
|
47
|
+
var AssociatedTestModel_default = AssociatedTestModel;
|
|
48
|
+
|
|
49
|
+
//#endregion
|
|
50
|
+
export { AssociatedTestModel_default as default };
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
|
|
2
|
+
const require_decorateMetadata = require('../../_virtual/_@oxc-project_runtime@0.103.0/helpers/decorateMetadata.cjs');
|
|
3
|
+
const require_decorate = require('../../_virtual/_@oxc-project_runtime@0.103.0/helpers/decorate.cjs');
|
|
4
|
+
const require_AssociatedTestModel = require('./AssociatedTestModel.cjs');
|
|
5
|
+
let sequelize_typescript = require("sequelize-typescript");
|
|
6
|
+
|
|
7
|
+
//#region src/models/tests/TestModel.ts
|
|
8
|
+
let TestModel = class TestModel$1 extends sequelize_typescript.Model {};
|
|
9
|
+
require_decorate.__decorate([
|
|
10
|
+
sequelize_typescript.PrimaryKey,
|
|
11
|
+
(0, sequelize_typescript.Column)({
|
|
12
|
+
type: sequelize_typescript.DataType.UUID,
|
|
13
|
+
defaultValue: sequelize_typescript.DataType.UUIDV4,
|
|
14
|
+
allowNull: false
|
|
15
|
+
}),
|
|
16
|
+
require_decorateMetadata.__decorateMetadata("design:type", String)
|
|
17
|
+
], TestModel.prototype, "id", void 0);
|
|
18
|
+
require_decorate.__decorate([(0, sequelize_typescript.Column)({
|
|
19
|
+
type: sequelize_typescript.DataType.UUID,
|
|
20
|
+
allowNull: false
|
|
21
|
+
}), require_decorateMetadata.__decorateMetadata("design:type", String)], TestModel.prototype, "fleetId", void 0);
|
|
22
|
+
require_decorate.__decorate([(0, sequelize_typescript.Column)({
|
|
23
|
+
type: sequelize_typescript.DataType.UUID,
|
|
24
|
+
allowNull: true
|
|
25
|
+
}), require_decorateMetadata.__decorateMetadata("design:type", String)], TestModel.prototype, "businessModelId", void 0);
|
|
26
|
+
require_decorate.__decorate([(0, sequelize_typescript.Column)({
|
|
27
|
+
type: sequelize_typescript.DataType.UUID,
|
|
28
|
+
allowNull: true
|
|
29
|
+
}), require_decorateMetadata.__decorateMetadata("design:type", String)], TestModel.prototype, "demandSourceId", void 0);
|
|
30
|
+
require_decorate.__decorate([(0, sequelize_typescript.Column)({ type: sequelize_typescript.DataType.BOOLEAN }), require_decorateMetadata.__decorateMetadata("design:type", Boolean)], TestModel.prototype, "coolAttribute", void 0);
|
|
31
|
+
require_decorate.__decorate([(0, sequelize_typescript.HasMany)(() => require_AssociatedTestModel.default), require_decorateMetadata.__decorateMetadata("design:type", Array)], TestModel.prototype, "associatedModels", void 0);
|
|
32
|
+
require_decorate.__decorate([(0, sequelize_typescript.Column)({ type: sequelize_typescript.DataType.VIRTUAL }), require_decorateMetadata.__decorateMetadata("design:type", Object)], TestModel.prototype, "customFields", void 0);
|
|
33
|
+
TestModel = require_decorate.__decorate([(0, sequelize_typescript.Table)({
|
|
34
|
+
schema: "custom-fields",
|
|
35
|
+
tableName: "test_models",
|
|
36
|
+
createdAt: false,
|
|
37
|
+
updatedAt: false,
|
|
38
|
+
modelName: "TestModel"
|
|
39
|
+
})], TestModel);
|
|
40
|
+
var TestModel_default = TestModel;
|
|
41
|
+
|
|
42
|
+
//#endregion
|
|
43
|
+
exports.default = TestModel_default;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.103.0/helpers/decorateMetadata.js";
|
|
2
|
+
import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.103.0/helpers/decorate.js";
|
|
3
|
+
import AssociatedTestModel_default from "./AssociatedTestModel.js";
|
|
4
|
+
import { Column, DataType, HasMany, Model, PrimaryKey, Table } from "sequelize-typescript";
|
|
5
|
+
|
|
6
|
+
//#region src/models/tests/TestModel.ts
|
|
7
|
+
let TestModel = class TestModel$1 extends Model {};
|
|
8
|
+
__decorate([
|
|
9
|
+
PrimaryKey,
|
|
10
|
+
Column({
|
|
11
|
+
type: DataType.UUID,
|
|
12
|
+
defaultValue: DataType.UUIDV4,
|
|
13
|
+
allowNull: false
|
|
14
|
+
}),
|
|
15
|
+
__decorateMetadata("design:type", String)
|
|
16
|
+
], TestModel.prototype, "id", void 0);
|
|
17
|
+
__decorate([Column({
|
|
18
|
+
type: DataType.UUID,
|
|
19
|
+
allowNull: false
|
|
20
|
+
}), __decorateMetadata("design:type", String)], TestModel.prototype, "fleetId", void 0);
|
|
21
|
+
__decorate([Column({
|
|
22
|
+
type: DataType.UUID,
|
|
23
|
+
allowNull: true
|
|
24
|
+
}), __decorateMetadata("design:type", String)], TestModel.prototype, "businessModelId", void 0);
|
|
25
|
+
__decorate([Column({
|
|
26
|
+
type: DataType.UUID,
|
|
27
|
+
allowNull: true
|
|
28
|
+
}), __decorateMetadata("design:type", String)], TestModel.prototype, "demandSourceId", void 0);
|
|
29
|
+
__decorate([Column({ type: DataType.BOOLEAN }), __decorateMetadata("design:type", Boolean)], TestModel.prototype, "coolAttribute", void 0);
|
|
30
|
+
__decorate([HasMany(() => AssociatedTestModel_default), __decorateMetadata("design:type", Array)], TestModel.prototype, "associatedModels", void 0);
|
|
31
|
+
__decorate([Column({ type: DataType.VIRTUAL }), __decorateMetadata("design:type", Object)], TestModel.prototype, "customFields", void 0);
|
|
32
|
+
TestModel = __decorate([Table({
|
|
33
|
+
schema: "custom-fields",
|
|
34
|
+
tableName: "test_models",
|
|
35
|
+
createdAt: false,
|
|
36
|
+
updatedAt: false,
|
|
37
|
+
modelName: "TestModel"
|
|
38
|
+
})], TestModel);
|
|
39
|
+
var TestModel_default = TestModel;
|
|
40
|
+
|
|
41
|
+
//#endregion
|
|
42
|
+
export { TestModel_default as default };
|