uaxi-shared-entities 1.0.240 → 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"}
@@ -13,7 +13,7 @@ export declare enum GeofenceType {
13
13
  /** Zona con recogida en bahías fijas (aeropuertos, campus). Ver `pickup_zones`. */
14
14
  PICKUP_HUB = "pickup_hub",
15
15
  /** Polígonos de sedes o campus corporativos (viajes empresa / business). */
16
- EMPRESAS = "empresas"
16
+ BUSINESS = "business"
17
17
  }
18
18
  export declare enum GeofenceApplyOn {
19
19
  PICKUP = "pickup",
@@ -20,7 +20,7 @@ var GeofenceType;
20
20
  /** Zona con recogida en bahías fijas (aeropuertos, campus). Ver `pickup_zones`. */
21
21
  GeofenceType["PICKUP_HUB"] = "pickup_hub";
22
22
  /** Polígonos de sedes o campus corporativos (viajes empresa / business). */
23
- GeofenceType["EMPRESAS"] = "empresas";
23
+ GeofenceType["BUSINESS"] = "business";
24
24
  })(GeofenceType || (exports.GeofenceType = GeofenceType = {}));
25
25
  var GeofenceApplyOn;
26
26
  (function (GeofenceApplyOn) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "uaxi-shared-entities",
3
- "version": "1.0.240",
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";
@@ -17,7 +17,7 @@ export enum GeofenceType {
17
17
  /** Zona con recogida en bahías fijas (aeropuertos, campus). Ver `pickup_zones`. */
18
18
  PICKUP_HUB = "pickup_hub",
19
19
  /** Polígonos de sedes o campus corporativos (viajes empresa / business). */
20
- EMPRESAS = "empresas",
20
+ BUSINESS = "business",
21
21
  }
22
22
 
23
23
  export enum GeofenceApplyOn {