uaxi-shared-entities 1.0.241 → 1.0.242

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.
@@ -0,0 +1,58 @@
1
+ import { Model } from "sequelize-typescript";
2
+ import { DriverProfile } from "./driver.entity";
3
+ import { ServiceTypeEntity } from "./service-types.entity";
4
+ /** Snapshot de un mapping vehículo-servicio antes de activar empresas. */
5
+ export interface DriverEmpresasVehicleServiceMappingSnapshot {
6
+ id: string;
7
+ vehicleId: string;
8
+ serviceTypeId: string;
9
+ isActive: boolean;
10
+ isAvailable: boolean;
11
+ priority: number;
12
+ }
13
+ export interface DriverEmpresasServiceActivationAttributes {
14
+ id: string;
15
+ driverId: string;
16
+ empresasServiceTypeId: string;
17
+ previousMappingsSnapshot: DriverEmpresasVehicleServiceMappingSnapshot[];
18
+ empresasMappingIds: string[];
19
+ /** Hora diaria HH:mm para activar empresas (ej. 08:00). */
20
+ activatedAt: string | null;
21
+ /** Hora diaria HH:mm para desactivar empresas (ej. 17:00). */
22
+ deactivatedAt: string | null;
23
+ /** Horario habilitado; el cron solo procesa filas con isActive=true. */
24
+ isActive: boolean;
25
+ /**
26
+ * Si true, el admin desactivó empresas manualmente dentro de la ventana horaria.
27
+ * El cron no vuelve a aplicar empresas hasta salir de la ventana o activación manual.
28
+ */
29
+ empresasManuallySuppressed: boolean;
30
+ createdAt: Date;
31
+ updatedAt: Date;
32
+ }
33
+ export interface CreateDriverEmpresasServiceActivationData {
34
+ driverId: string;
35
+ empresasServiceTypeId: string;
36
+ previousMappingsSnapshot: DriverEmpresasVehicleServiceMappingSnapshot[];
37
+ empresasMappingIds?: string[];
38
+ activatedAt?: string | null;
39
+ deactivatedAt?: string | null;
40
+ isActive?: boolean;
41
+ empresasManuallySuppressed?: boolean;
42
+ }
43
+ export declare class DriverEmpresasServiceActivation extends Model<DriverEmpresasServiceActivationAttributes, CreateDriverEmpresasServiceActivationData> {
44
+ id: string;
45
+ driverId: string;
46
+ empresasServiceTypeId: string;
47
+ previousMappingsSnapshot: DriverEmpresasVehicleServiceMappingSnapshot[];
48
+ empresasMappingIds: string[];
49
+ activatedAt: string | null;
50
+ deactivatedAt: string | null;
51
+ isActive: boolean;
52
+ empresasManuallySuppressed: boolean;
53
+ createdAt: Date;
54
+ updatedAt: Date;
55
+ driver: DriverProfile;
56
+ empresasServiceType: ServiceTypeEntity;
57
+ }
58
+ //# sourceMappingURL=driver-empresas-service-activation.entity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"driver-empresas-service-activation.entity.d.ts","sourceRoot":"","sources":["../../src/entities/driver-empresas-service-activation.entity.ts"],"names":[],"mappings":"AAIA,OAAO,EAML,KAAK,EAGN,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,0EAA0E;AAC1E,MAAM,WAAW,2CAA2C;IAC1D,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,yCAAyC;IACxD,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,wBAAwB,EAAE,2CAA2C,EAAE,CAAC;IACxE,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,2DAA2D;IAC3D,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,8DAA8D;IAC9D,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,wEAAwE;IACxE,QAAQ,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,0BAA0B,EAAE,OAAO,CAAC;IACpC,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,yCAAyC;IACxD,QAAQ,EAAE,MAAM,CAAC;IACjB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,wBAAwB,EAAE,2CAA2C,EAAE,CAAC;IACxE,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,0BAA0B,CAAC,EAAE,OAAO,CAAC;CACtC;AAED,qBAca,+BAAgC,SAAQ,KAAK,CACxD,yCAAyC,EACzC,yCAAyC,CAC1C;IAMS,EAAE,EAAE,MAAM,CAAC;IAOnB,QAAQ,EAAE,MAAM,CAAC;IAOjB,qBAAqB,EAAE,MAAM,CAAC;IAM9B,wBAAwB,EAAE,2CAA2C,EAAE,CAAC;IAOxE,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAO7B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAO3B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAQ7B,QAAQ,EAAE,OAAO,CAAC;IASlB,0BAA0B,EAAE,OAAO,CAAC;IAG5B,SAAS,EAAE,IAAI,CAAC;IAGhB,SAAS,EAAE,IAAI,CAAC;IAGxB,MAAM,EAAE,aAAa,CAAC;IAGtB,mBAAmB,EAAE,iBAAiB,CAAC;CACxC"}
@@ -0,0 +1,127 @@
1
+ "use strict";
2
+ // =============================================
3
+ // DRIVER EMPRESAS SERVICE ACTIVATION ENTITY
4
+ // =============================================
5
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
6
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
7
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
8
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
9
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
10
+ };
11
+ var __metadata = (this && this.__metadata) || function (k, v) {
12
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.DriverEmpresasServiceActivation = void 0;
16
+ const sequelize_typescript_1 = require("sequelize-typescript");
17
+ const driver_entity_1 = require("./driver.entity");
18
+ const service_types_entity_1 = require("./service-types.entity");
19
+ let DriverEmpresasServiceActivation = class DriverEmpresasServiceActivation extends sequelize_typescript_1.Model {
20
+ };
21
+ exports.DriverEmpresasServiceActivation = DriverEmpresasServiceActivation;
22
+ __decorate([
23
+ (0, sequelize_typescript_1.Column)({
24
+ type: sequelize_typescript_1.DataType.UUID,
25
+ defaultValue: sequelize_typescript_1.DataType.UUIDV4,
26
+ primaryKey: true,
27
+ }),
28
+ __metadata("design:type", String)
29
+ ], DriverEmpresasServiceActivation.prototype, "id", void 0);
30
+ __decorate([
31
+ (0, sequelize_typescript_1.ForeignKey)(() => driver_entity_1.DriverProfile),
32
+ (0, sequelize_typescript_1.Column)({
33
+ type: sequelize_typescript_1.DataType.UUID,
34
+ allowNull: false,
35
+ }),
36
+ __metadata("design:type", String)
37
+ ], DriverEmpresasServiceActivation.prototype, "driverId", void 0);
38
+ __decorate([
39
+ (0, sequelize_typescript_1.ForeignKey)(() => service_types_entity_1.ServiceTypeEntity),
40
+ (0, sequelize_typescript_1.Column)({
41
+ type: sequelize_typescript_1.DataType.UUID,
42
+ allowNull: false,
43
+ }),
44
+ __metadata("design:type", String)
45
+ ], DriverEmpresasServiceActivation.prototype, "empresasServiceTypeId", void 0);
46
+ __decorate([
47
+ (0, sequelize_typescript_1.Column)({
48
+ type: sequelize_typescript_1.DataType.JSONB,
49
+ allowNull: false,
50
+ }),
51
+ __metadata("design:type", Array)
52
+ ], DriverEmpresasServiceActivation.prototype, "previousMappingsSnapshot", void 0);
53
+ __decorate([
54
+ (0, sequelize_typescript_1.Column)({
55
+ type: sequelize_typescript_1.DataType.JSONB,
56
+ allowNull: false,
57
+ defaultValue: [],
58
+ }),
59
+ __metadata("design:type", Array)
60
+ ], DriverEmpresasServiceActivation.prototype, "empresasMappingIds", void 0);
61
+ __decorate([
62
+ (0, sequelize_typescript_1.Column)({
63
+ type: sequelize_typescript_1.DataType.STRING(5),
64
+ allowNull: true,
65
+ comment: "Hora diaria HH:mm para activar modo empresas (ej. 08:00)",
66
+ }),
67
+ __metadata("design:type", Object)
68
+ ], DriverEmpresasServiceActivation.prototype, "activatedAt", void 0);
69
+ __decorate([
70
+ (0, sequelize_typescript_1.Column)({
71
+ type: sequelize_typescript_1.DataType.STRING(5),
72
+ allowNull: true,
73
+ comment: "Hora diaria HH:mm para desactivar modo empresas (ej. 17:00)",
74
+ }),
75
+ __metadata("design:type", Object)
76
+ ], DriverEmpresasServiceActivation.prototype, "deactivatedAt", void 0);
77
+ __decorate([
78
+ (0, sequelize_typescript_1.Column)({
79
+ type: sequelize_typescript_1.DataType.BOOLEAN,
80
+ allowNull: false,
81
+ defaultValue: false,
82
+ comment: "Horario empresas habilitado; el cron solo lee filas isActive=true",
83
+ }),
84
+ __metadata("design:type", Boolean)
85
+ ], DriverEmpresasServiceActivation.prototype, "isActive", void 0);
86
+ __decorate([
87
+ (0, sequelize_typescript_1.Column)({
88
+ type: sequelize_typescript_1.DataType.BOOLEAN,
89
+ allowNull: false,
90
+ defaultValue: false,
91
+ comment: "Admin desactivó empresas manualmente; el cron no reaplica hasta fin de ventana o activate manual",
92
+ }),
93
+ __metadata("design:type", Boolean)
94
+ ], DriverEmpresasServiceActivation.prototype, "empresasManuallySuppressed", void 0);
95
+ __decorate([
96
+ sequelize_typescript_1.CreatedAt,
97
+ __metadata("design:type", Date)
98
+ ], DriverEmpresasServiceActivation.prototype, "createdAt", void 0);
99
+ __decorate([
100
+ sequelize_typescript_1.UpdatedAt,
101
+ __metadata("design:type", Date)
102
+ ], DriverEmpresasServiceActivation.prototype, "updatedAt", void 0);
103
+ __decorate([
104
+ (0, sequelize_typescript_1.BelongsTo)(() => driver_entity_1.DriverProfile),
105
+ __metadata("design:type", driver_entity_1.DriverProfile)
106
+ ], DriverEmpresasServiceActivation.prototype, "driver", void 0);
107
+ __decorate([
108
+ (0, sequelize_typescript_1.BelongsTo)(() => service_types_entity_1.ServiceTypeEntity),
109
+ __metadata("design:type", service_types_entity_1.ServiceTypeEntity)
110
+ ], DriverEmpresasServiceActivation.prototype, "empresasServiceType", void 0);
111
+ exports.DriverEmpresasServiceActivation = DriverEmpresasServiceActivation = __decorate([
112
+ (0, sequelize_typescript_1.Table)({
113
+ tableName: "driver_empresas_service_activations",
114
+ timestamps: true,
115
+ indexes: [
116
+ {
117
+ fields: ["driverId", "isActive"],
118
+ name: "idx_driver_empresas_activation_driver_active",
119
+ },
120
+ {
121
+ fields: ["activatedAt"],
122
+ name: "idx_driver_empresas_activation_activated_at",
123
+ },
124
+ ],
125
+ })
126
+ ], DriverEmpresasServiceActivation);
127
+ //# sourceMappingURL=driver-empresas-service-activation.entity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"driver-empresas-service-activation.entity.js","sourceRoot":"","sources":["../../src/entities/driver-empresas-service-activation.entity.ts"],"names":[],"mappings":";AAAA,gDAAgD;AAChD,4CAA4C;AAC5C,gDAAgD;;;;;;;;;;;;AAEhD,+DAS8B;AAC9B,mDAAgD;AAChD,iEAA2D;AA0DpD,IAAM,+BAA+B,GAArC,MAAM,+BAAgC,SAAQ,4BAGpD;CA6EA,CAAA;AAhFY,0EAA+B;AASlC;IALP,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI;QACnB,YAAY,EAAE,+BAAQ,CAAC,MAAM;QAC7B,UAAU,EAAE,IAAI;KACjB,CAAC;;2DACiB;AAOnB;IALC,IAAA,iCAAU,EAAC,GAAG,EAAE,CAAC,6BAAa,CAAC;IAC/B,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI;QACnB,SAAS,EAAE,KAAK;KACjB,CAAC;;iEACe;AAOjB;IALC,IAAA,iCAAU,EAAC,GAAG,EAAE,CAAC,wCAAiB,CAAC;IACnC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI;QACnB,SAAS,EAAE,KAAK;KACjB,CAAC;;8EAC4B;AAM9B;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,KAAK;QACpB,SAAS,EAAE,KAAK;KACjB,CAAC;;iFACsE;AAOxE;IALC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,KAAK;QACpB,SAAS,EAAE,KAAK;QAChB,YAAY,EAAE,EAAE;KACjB,CAAC;;2EAC2B;AAO7B;IALC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QACxB,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,0DAA0D;KACpE,CAAC;;oEACyB;AAO3B;IALC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QACxB,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,6DAA6D;KACvE,CAAC;;sEAC2B;AAQ7B;IANC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,OAAO;QACtB,SAAS,EAAE,KAAK;QAChB,YAAY,EAAE,KAAK;QACnB,OAAO,EAAE,mEAAmE;KAC7E,CAAC;;iEACgB;AASlB;IAPC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,OAAO;QACtB,SAAS,EAAE,KAAK;QAChB,YAAY,EAAE,KAAK;QACnB,OAAO,EACL,kGAAkG;KACrG,CAAC;;mFACkC;AAG5B;IADP,gCAAS;8BACS,IAAI;kEAAC;AAGhB;IADP,gCAAS;8BACS,IAAI;kEAAC;AAGxB;IADC,IAAA,gCAAS,EAAC,GAAG,EAAE,CAAC,6BAAa,CAAC;8BACvB,6BAAa;+DAAC;AAGtB;IADC,IAAA,gCAAS,EAAC,GAAG,EAAE,CAAC,wCAAiB,CAAC;8BACd,wCAAiB;4EAAC;0CA/E5B,+BAA+B;IAd3C,IAAA,4BAAK,EAAC;QACL,SAAS,EAAE,qCAAqC;QAChD,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE;YACP;gBACE,MAAM,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;gBAChC,IAAI,EAAE,8CAA8C;aACrD;YACD;gBACE,MAAM,EAAE,CAAC,aAAa,CAAC;gBACvB,IAAI,EAAE,6CAA6C;aACpD;SACF;KACF,CAAC;GACW,+BAA+B,CAgF3C"}
@@ -12,6 +12,7 @@ export * from "./wallet.entity";
12
12
  export * from "./walletTransaction.entity";
13
13
  export * from "./driver.entity";
14
14
  export * from "./driver-flex-service-activation.entity";
15
+ export * from "./driver-empresas-service-activation.entity";
15
16
  export * from "./driver-group.entity";
16
17
  export * from "./driver-group-member.entity";
17
18
  export * from "./driver-documents.entity";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/entities/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/entities/index.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,7 @@ __exportStar(require("./wallet.entity"), exports);
28
28
  __exportStar(require("./walletTransaction.entity"), exports);
29
29
  __exportStar(require("./driver.entity"), exports);
30
30
  __exportStar(require("./driver-flex-service-activation.entity"), exports);
31
+ __exportStar(require("./driver-empresas-service-activation.entity"), exports);
31
32
  __exportStar(require("./driver-group.entity"), exports);
32
33
  __exportStar(require("./driver-group-member.entity"), exports);
33
34
  __exportStar(require("./driver-documents.entity"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/entities/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2DAAyC;AACzC,gDAA8B;AAC9B,uDAAqC;AACrC,mDAAiC;AACjC,uDAAqC;AACrC,mDAAiC;AACjC,iDAA+B;AAC/B,yDAAuC;AACvC,yDAAuC;AACvC,mEAAiD;AACjD,kDAAgC;AAChC,6DAA2C;AAC3C,kDAAgC;AAChC,0EAAwD;AACxD,wDAAsC;AACtC,+DAA6C;AAC7C,4DAA0C;AAC1C,6DAA2C;AAC3C,qDAAmC;AACnC,yDAAuC;AACvC,oDAAkC;AAClC,+CAA6B;AAC7B,oDAAkC;AAClC,iDAA+B;AAC/B,gDAA8B;AAC9B,yDAAuC;AACvC,wDAAsC;AACtC,iDAA+B;AAC/B,iEAA+C;AAC/C,gEAA8C;AAC9C,mDAAiC;AACjC,mEAAiD;AACjD,4DAA0C;AAC1C,mDAAiC;AACjC,oDAAkC;AAClC,0DAAwC;AACxC,uDAAqC;AACrC,sDAAoC;AACpC,wDAAsC;AACtC,2DAAyC;AACzC,kDAAgC;AAChC,qEAAmD;AACnD,yDAAuC;AACvC,gEAA8C;AAC9C,4EAA0D;AAC1D,sDAAoC;AACpC,6DAA2C;AAC3C,yDAAuC;AACvC,iEAA+C;AAC/C,kEAAgD;AAChD,qDAAmC;AACnC,4DAA0C;AAC1C,oDAAkC;AAClC,iEAA+C;AAC/C,iEAA+C;AAC/C,+CAA6B;AAC7B,yDAAuC;AACvC,qDAAmC;AACnC,6DAA2C;AAC3C,2DAAyC;AACzC,6DAA2C;AAC3C,kEAAgD;AAChD,4DAA0C;AAC1C,gEAA8C;AAC9C,0DAAwC;AACxC,0DAAwC;AACxC,qDAAmC;AACnC,0DAAwC;AACxC,qEAAmD;AACnD,8DAA4C;AAC5C,uEAAqD;AACrD,uEAAqD;AACrD,wEAAsD;AACtD,qEAAmD;AACnD,gEAA8C;AAC9C,iEAA+C;AAC/C,iFAA+D;AAC/D,gEAA8C;AAC9C,6DAA2C;AAC3C,8DAA4C;AAC5C,yDAAuC;AACvC,gEAA8C;AAC9C,kEAAgD;AAChD,mEAAiD;AACjD,gEAA8C;AAC9C,uDAAqC;AACrC,2DAAyC;AACzC,sEAAoD;AACpD,4DAA0C;AAC1C,8DAA4C;AAC5C,+DAA6C;AAC7C,oEAAkD;AAClD,iEAA+C;AAC/C,gEAA8C;AAC9C,yEAAuD;AACvD,gEAA8C;AAC9C,wEAAsD;AACtD,8DAA4C;AAC5C,mEAAiD;AACjD,0EAAwD;AACxD,mEAAiD;AACjD,qEAAmD;AACnD,0EAAwD;AACxD,oEAAkD;AAClD,kEAAgD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/entities/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2DAAyC;AACzC,gDAA8B;AAC9B,uDAAqC;AACrC,mDAAiC;AACjC,uDAAqC;AACrC,mDAAiC;AACjC,iDAA+B;AAC/B,yDAAuC;AACvC,yDAAuC;AACvC,mEAAiD;AACjD,kDAAgC;AAChC,6DAA2C;AAC3C,kDAAgC;AAChC,0EAAwD;AACxD,8EAA4D;AAC5D,wDAAsC;AACtC,+DAA6C;AAC7C,4DAA0C;AAC1C,6DAA2C;AAC3C,qDAAmC;AACnC,yDAAuC;AACvC,oDAAkC;AAClC,+CAA6B;AAC7B,oDAAkC;AAClC,iDAA+B;AAC/B,gDAA8B;AAC9B,yDAAuC;AACvC,wDAAsC;AACtC,iDAA+B;AAC/B,iEAA+C;AAC/C,gEAA8C;AAC9C,mDAAiC;AACjC,mEAAiD;AACjD,4DAA0C;AAC1C,mDAAiC;AACjC,oDAAkC;AAClC,0DAAwC;AACxC,uDAAqC;AACrC,sDAAoC;AACpC,wDAAsC;AACtC,2DAAyC;AACzC,kDAAgC;AAChC,qEAAmD;AACnD,yDAAuC;AACvC,gEAA8C;AAC9C,4EAA0D;AAC1D,sDAAoC;AACpC,6DAA2C;AAC3C,yDAAuC;AACvC,iEAA+C;AAC/C,kEAAgD;AAChD,qDAAmC;AACnC,4DAA0C;AAC1C,oDAAkC;AAClC,iEAA+C;AAC/C,iEAA+C;AAC/C,+CAA6B;AAC7B,yDAAuC;AACvC,qDAAmC;AACnC,6DAA2C;AAC3C,2DAAyC;AACzC,6DAA2C;AAC3C,kEAAgD;AAChD,4DAA0C;AAC1C,gEAA8C;AAC9C,0DAAwC;AACxC,0DAAwC;AACxC,qDAAmC;AACnC,0DAAwC;AACxC,qEAAmD;AACnD,8DAA4C;AAC5C,uEAAqD;AACrD,uEAAqD;AACrD,wEAAsD;AACtD,qEAAmD;AACnD,gEAA8C;AAC9C,iEAA+C;AAC/C,iFAA+D;AAC/D,gEAA8C;AAC9C,6DAA2C;AAC3C,8DAA4C;AAC5C,yDAAuC;AACvC,gEAA8C;AAC9C,kEAAgD;AAChD,mEAAiD;AACjD,gEAA8C;AAC9C,uDAAqC;AACrC,2DAAyC;AACzC,sEAAoD;AACpD,4DAA0C;AAC1C,8DAA4C;AAC5C,+DAA6C;AAC7C,oEAAkD;AAClD,iEAA+C;AAC/C,gEAA8C;AAC9C,yEAAuD;AACvD,gEAA8C;AAC9C,wEAAsD;AACtD,8DAA4C;AAC5C,mEAAiD;AACjD,0EAAwD;AACxD,mEAAiD;AACjD,qEAAmD;AACnD,0EAAwD;AACxD,oEAAkD;AAClD,kEAAgD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "uaxi-shared-entities",
3
- "version": "1.0.241",
3
+ "version": "1.0.242",
4
4
  "description": "Entidades compartidas para microservicios UAXI",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -0,0 +1,154 @@
1
+ // =============================================
2
+ // DRIVER EMPRESAS SERVICE ACTIVATION ENTITY
3
+ // =============================================
4
+
5
+ import {
6
+ BelongsTo,
7
+ Column,
8
+ CreatedAt,
9
+ DataType,
10
+ ForeignKey,
11
+ Model,
12
+ Table,
13
+ UpdatedAt,
14
+ } from "sequelize-typescript";
15
+ import { DriverProfile } from "./driver.entity";
16
+ import { ServiceTypeEntity } from "./service-types.entity";
17
+
18
+ /** Snapshot de un mapping vehículo-servicio antes de activar empresas. */
19
+ export interface DriverEmpresasVehicleServiceMappingSnapshot {
20
+ id: string;
21
+ vehicleId: string;
22
+ serviceTypeId: string;
23
+ isActive: boolean;
24
+ isAvailable: boolean;
25
+ priority: number;
26
+ }
27
+
28
+ export interface DriverEmpresasServiceActivationAttributes {
29
+ id: string;
30
+ driverId: string;
31
+ empresasServiceTypeId: string;
32
+ previousMappingsSnapshot: DriverEmpresasVehicleServiceMappingSnapshot[];
33
+ empresasMappingIds: string[];
34
+ /** Hora diaria HH:mm para activar empresas (ej. 08:00). */
35
+ activatedAt: string | null;
36
+ /** Hora diaria HH:mm para desactivar empresas (ej. 17:00). */
37
+ deactivatedAt: string | null;
38
+ /** Horario habilitado; el cron solo procesa filas con isActive=true. */
39
+ isActive: boolean;
40
+ /**
41
+ * Si true, el admin desactivó empresas manualmente dentro de la ventana horaria.
42
+ * El cron no vuelve a aplicar empresas hasta salir de la ventana o activación manual.
43
+ */
44
+ empresasManuallySuppressed: boolean;
45
+ createdAt: Date;
46
+ updatedAt: Date;
47
+ }
48
+
49
+ export interface CreateDriverEmpresasServiceActivationData {
50
+ driverId: string;
51
+ empresasServiceTypeId: string;
52
+ previousMappingsSnapshot: DriverEmpresasVehicleServiceMappingSnapshot[];
53
+ empresasMappingIds?: string[];
54
+ activatedAt?: string | null;
55
+ deactivatedAt?: string | null;
56
+ isActive?: boolean;
57
+ empresasManuallySuppressed?: boolean;
58
+ }
59
+
60
+ @Table({
61
+ tableName: "driver_empresas_service_activations",
62
+ timestamps: true,
63
+ indexes: [
64
+ {
65
+ fields: ["driverId", "isActive"],
66
+ name: "idx_driver_empresas_activation_driver_active",
67
+ },
68
+ {
69
+ fields: ["activatedAt"],
70
+ name: "idx_driver_empresas_activation_activated_at",
71
+ },
72
+ ],
73
+ })
74
+ export class DriverEmpresasServiceActivation extends Model<
75
+ DriverEmpresasServiceActivationAttributes,
76
+ CreateDriverEmpresasServiceActivationData
77
+ > {
78
+ @Column({
79
+ type: DataType.UUID,
80
+ defaultValue: DataType.UUIDV4,
81
+ primaryKey: true,
82
+ })
83
+ declare id: string;
84
+
85
+ @ForeignKey(() => DriverProfile)
86
+ @Column({
87
+ type: DataType.UUID,
88
+ allowNull: false,
89
+ })
90
+ driverId: string;
91
+
92
+ @ForeignKey(() => ServiceTypeEntity)
93
+ @Column({
94
+ type: DataType.UUID,
95
+ allowNull: false,
96
+ })
97
+ empresasServiceTypeId: string;
98
+
99
+ @Column({
100
+ type: DataType.JSONB,
101
+ allowNull: false,
102
+ })
103
+ previousMappingsSnapshot: DriverEmpresasVehicleServiceMappingSnapshot[];
104
+
105
+ @Column({
106
+ type: DataType.JSONB,
107
+ allowNull: false,
108
+ defaultValue: [],
109
+ })
110
+ empresasMappingIds: string[];
111
+
112
+ @Column({
113
+ type: DataType.STRING(5),
114
+ allowNull: true,
115
+ comment: "Hora diaria HH:mm para activar modo empresas (ej. 08:00)",
116
+ })
117
+ activatedAt: string | null;
118
+
119
+ @Column({
120
+ type: DataType.STRING(5),
121
+ allowNull: true,
122
+ comment: "Hora diaria HH:mm para desactivar modo empresas (ej. 17:00)",
123
+ })
124
+ deactivatedAt: string | null;
125
+
126
+ @Column({
127
+ type: DataType.BOOLEAN,
128
+ allowNull: false,
129
+ defaultValue: false,
130
+ comment: "Horario empresas habilitado; el cron solo lee filas isActive=true",
131
+ })
132
+ isActive: boolean;
133
+
134
+ @Column({
135
+ type: DataType.BOOLEAN,
136
+ allowNull: false,
137
+ defaultValue: false,
138
+ comment:
139
+ "Admin desactivó empresas manualmente; el cron no reaplica hasta fin de ventana o activate manual",
140
+ })
141
+ empresasManuallySuppressed: boolean;
142
+
143
+ @CreatedAt
144
+ declare createdAt: Date;
145
+
146
+ @UpdatedAt
147
+ declare updatedAt: Date;
148
+
149
+ @BelongsTo(() => DriverProfile)
150
+ driver: DriverProfile;
151
+
152
+ @BelongsTo(() => ServiceTypeEntity)
153
+ empresasServiceType: ServiceTypeEntity;
154
+ }
@@ -12,6 +12,7 @@ export * from "./wallet.entity";
12
12
  export * from "./walletTransaction.entity";
13
13
  export * from "./driver.entity";
14
14
  export * from "./driver-flex-service-activation.entity";
15
+ export * from "./driver-empresas-service-activation.entity";
15
16
  export * from "./driver-group.entity";
16
17
  export * from "./driver-group-member.entity";
17
18
  export * from "./driver-documents.entity";