uaxi-shared-entities 1.0.225 → 1.0.227

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,51 @@
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 flex. */
5
+ export interface DriverFlexVehicleServiceMappingSnapshot {
6
+ id: string;
7
+ vehicleId: string;
8
+ serviceTypeId: string;
9
+ isActive: boolean;
10
+ isAvailable: boolean;
11
+ priority: number;
12
+ }
13
+ export interface DriverFlexServiceActivationAttributes {
14
+ id: string;
15
+ driverId: string;
16
+ flexServiceTypeId: string;
17
+ previousMappingsSnapshot: DriverFlexVehicleServiceMappingSnapshot[];
18
+ flexMappingIds: string[];
19
+ /** Hora diaria HH:mm para activar flex (ej. 08:00). */
20
+ activatedAt: string | null;
21
+ /** Hora diaria HH:mm para desactivar flex (ej. 17:00). */
22
+ deactivatedAt: string | null;
23
+ /** Horario habilitado; el cron solo procesa filas con isActive=true. */
24
+ isActive: boolean;
25
+ createdAt: Date;
26
+ updatedAt: Date;
27
+ }
28
+ export interface CreateDriverFlexServiceActivationData {
29
+ driverId: string;
30
+ flexServiceTypeId: string;
31
+ previousMappingsSnapshot: DriverFlexVehicleServiceMappingSnapshot[];
32
+ flexMappingIds?: string[];
33
+ activatedAt?: string | null;
34
+ deactivatedAt?: string | null;
35
+ isActive?: boolean;
36
+ }
37
+ export declare class DriverFlexServiceActivation extends Model<DriverFlexServiceActivationAttributes, CreateDriverFlexServiceActivationData> {
38
+ id: string;
39
+ driverId: string;
40
+ flexServiceTypeId: string;
41
+ previousMappingsSnapshot: DriverFlexVehicleServiceMappingSnapshot[];
42
+ flexMappingIds: string[];
43
+ activatedAt: string | null;
44
+ deactivatedAt: string | null;
45
+ isActive: boolean;
46
+ createdAt: Date;
47
+ updatedAt: Date;
48
+ driver: DriverProfile;
49
+ flexServiceType: ServiceTypeEntity;
50
+ }
51
+ //# sourceMappingURL=driver-flex-service-activation.entity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"driver-flex-service-activation.entity.d.ts","sourceRoot":"","sources":["../../src/entities/driver-flex-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,sEAAsE;AACtE,MAAM,WAAW,uCAAuC;IACtD,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,qCAAqC;IACpD,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,wBAAwB,EAAE,uCAAuC,EAAE,CAAC;IACpE,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,uDAAuD;IACvD,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,0DAA0D;IAC1D,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,wEAAwE;IACxE,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,qCAAqC;IACpD,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,wBAAwB,EAAE,uCAAuC,EAAE,CAAC;IACpE,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,qBAca,2BAA4B,SAAQ,KAAK,CACpD,qCAAqC,EACrC,qCAAqC,CACtC;IAMS,EAAE,EAAE,MAAM,CAAC;IAOnB,QAAQ,EAAE,MAAM,CAAC;IAOjB,iBAAiB,EAAE,MAAM,CAAC;IAM1B,wBAAwB,EAAE,uCAAuC,EAAE,CAAC;IAOpE,cAAc,EAAE,MAAM,EAAE,CAAC;IAOzB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAO3B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAQ7B,QAAQ,EAAE,OAAO,CAAC;IAGV,SAAS,EAAE,IAAI,CAAC;IAGhB,SAAS,EAAE,IAAI,CAAC;IAGxB,MAAM,EAAE,aAAa,CAAC;IAGtB,eAAe,EAAE,iBAAiB,CAAC;CACpC"}
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+ // =============================================
3
+ // DRIVER FLEX 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.DriverFlexServiceActivation = 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 DriverFlexServiceActivation = class DriverFlexServiceActivation extends sequelize_typescript_1.Model {
20
+ };
21
+ exports.DriverFlexServiceActivation = DriverFlexServiceActivation;
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
+ ], DriverFlexServiceActivation.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
+ ], DriverFlexServiceActivation.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
+ ], DriverFlexServiceActivation.prototype, "flexServiceTypeId", 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
+ ], DriverFlexServiceActivation.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
+ ], DriverFlexServiceActivation.prototype, "flexMappingIds", 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 flex (ej. 08:00)",
66
+ }),
67
+ __metadata("design:type", Object)
68
+ ], DriverFlexServiceActivation.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 flex (ej. 17:00)",
74
+ }),
75
+ __metadata("design:type", Object)
76
+ ], DriverFlexServiceActivation.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 flex habilitado; el cron solo lee filas isActive=true",
83
+ }),
84
+ __metadata("design:type", Boolean)
85
+ ], DriverFlexServiceActivation.prototype, "isActive", void 0);
86
+ __decorate([
87
+ sequelize_typescript_1.CreatedAt,
88
+ __metadata("design:type", Date)
89
+ ], DriverFlexServiceActivation.prototype, "createdAt", void 0);
90
+ __decorate([
91
+ sequelize_typescript_1.UpdatedAt,
92
+ __metadata("design:type", Date)
93
+ ], DriverFlexServiceActivation.prototype, "updatedAt", void 0);
94
+ __decorate([
95
+ (0, sequelize_typescript_1.BelongsTo)(() => driver_entity_1.DriverProfile),
96
+ __metadata("design:type", driver_entity_1.DriverProfile)
97
+ ], DriverFlexServiceActivation.prototype, "driver", void 0);
98
+ __decorate([
99
+ (0, sequelize_typescript_1.BelongsTo)(() => service_types_entity_1.ServiceTypeEntity),
100
+ __metadata("design:type", service_types_entity_1.ServiceTypeEntity)
101
+ ], DriverFlexServiceActivation.prototype, "flexServiceType", void 0);
102
+ exports.DriverFlexServiceActivation = DriverFlexServiceActivation = __decorate([
103
+ (0, sequelize_typescript_1.Table)({
104
+ tableName: "driver_flex_service_activations",
105
+ timestamps: true,
106
+ indexes: [
107
+ {
108
+ fields: ["driverId", "isActive"],
109
+ name: "idx_driver_flex_activation_driver_active",
110
+ },
111
+ {
112
+ fields: ["activatedAt"],
113
+ name: "idx_driver_flex_activation_activated_at",
114
+ },
115
+ ],
116
+ })
117
+ ], DriverFlexServiceActivation);
118
+ //# sourceMappingURL=driver-flex-service-activation.entity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"driver-flex-service-activation.entity.js","sourceRoot":"","sources":["../../src/entities/driver-flex-service-activation.entity.ts"],"names":[],"mappings":";AAAA,gDAAgD;AAChD,wCAAwC;AACxC,gDAAgD;;;;;;;;;;;;AAEhD,+DAS8B;AAC9B,mDAAgD;AAChD,iEAA2D;AAoDpD,IAAM,2BAA2B,GAAjC,MAAM,2BAA4B,SAAQ,4BAGhD;CAoEA,CAAA;AAvEY,kEAA2B;AAS9B;IALP,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI;QACnB,YAAY,EAAE,+BAAQ,CAAC,MAAM;QAC7B,UAAU,EAAE,IAAI;KACjB,CAAC;;uDACiB;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;;6DACe;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;;sEACwB;AAM1B;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,KAAK;QACpB,SAAS,EAAE,KAAK;KACjB,CAAC;;6EACkE;AAOpE;IALC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,KAAK;QACpB,SAAS,EAAE,KAAK;QAChB,YAAY,EAAE,EAAE;KACjB,CAAC;;mEACuB;AAOzB;IALC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QACxB,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,sDAAsD;KAChE,CAAC;;gEACyB;AAO3B;IALC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QACxB,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,yDAAyD;KACnE,CAAC;;kEAC2B;AAQ7B;IANC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,OAAO;QACtB,SAAS,EAAE,KAAK;QAChB,YAAY,EAAE,KAAK;QACnB,OAAO,EAAE,+DAA+D;KACzE,CAAC;;6DACgB;AAGV;IADP,gCAAS;8BACS,IAAI;8DAAC;AAGhB;IADP,gCAAS;8BACS,IAAI;8DAAC;AAGxB;IADC,IAAA,gCAAS,EAAC,GAAG,EAAE,CAAC,6BAAa,CAAC;8BACvB,6BAAa;2DAAC;AAGtB;IADC,IAAA,gCAAS,EAAC,GAAG,EAAE,CAAC,wCAAiB,CAAC;8BAClB,wCAAiB;oEAAC;sCAtExB,2BAA2B;IAdvC,IAAA,4BAAK,EAAC;QACL,SAAS,EAAE,iCAAiC;QAC5C,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE;YACP;gBACE,MAAM,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;gBAChC,IAAI,EAAE,0CAA0C;aACjD;YACD;gBACE,MAAM,EAAE,CAAC,aAAa,CAAC;gBACvB,IAAI,EAAE,yCAAyC;aAChD;SACF;KACF,CAAC;GACW,2BAA2B,CAuEvC"}
@@ -11,6 +11,7 @@ export * from "./vehicle-service-mapping.entity";
11
11
  export * from "./wallet.entity";
12
12
  export * from "./walletTransaction.entity";
13
13
  export * from "./driver.entity";
14
+ export * from "./driver-flex-service-activation.entity";
14
15
  export * from "./driver-documents.entity";
15
16
  export * from "./vehicle-documents.entity";
16
17
  export * from "./farerates.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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"}
@@ -27,6 +27,7 @@ __exportStar(require("./vehicle-service-mapping.entity"), exports);
27
27
  __exportStar(require("./wallet.entity"), exports);
28
28
  __exportStar(require("./walletTransaction.entity"), exports);
29
29
  __exportStar(require("./driver.entity"), exports);
30
+ __exportStar(require("./driver-flex-service-activation.entity"), exports);
30
31
  __exportStar(require("./driver-documents.entity"), exports);
31
32
  __exportStar(require("./vehicle-documents.entity"), exports);
32
33
  __exportStar(require("./farerates.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,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,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,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,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,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,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,6 +1,7 @@
1
1
  export declare enum ServiceType {
2
2
  TRIP = "trip",// Viajes de pasajeros
3
3
  FOOD = "food",// Entrega de comida
4
- DELIVERY = "delivery"
4
+ DELIVERY = "delivery",// Entrega de artículos/paquetes
5
+ BUSINESS = "business"
5
6
  }
6
7
  //# sourceMappingURL=service-types.enum.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"service-types.enum.d.ts","sourceRoot":"","sources":["../../src/enums/service-types.enum.ts"],"names":[],"mappings":"AAKA,oBAAY,WAAW;IACrB,IAAI,SAAS,CAAE,sBAAsB;IACrC,IAAI,SAAS,CAAE,oBAAoB;IACnC,QAAQ,aAAa;CACtB"}
1
+ {"version":3,"file":"service-types.enum.d.ts","sourceRoot":"","sources":["../../src/enums/service-types.enum.ts"],"names":[],"mappings":"AAKA,oBAAY,WAAW;IACrB,IAAI,SAAS,CAAE,sBAAsB;IACrC,IAAI,SAAS,CAAE,oBAAoB;IACnC,QAAQ,aAAa,CAAE,gCAAgC;IACvD,QAAQ,aAAa;CACtB"}
@@ -10,5 +10,6 @@ var ServiceType;
10
10
  ServiceType["TRIP"] = "trip";
11
11
  ServiceType["FOOD"] = "food";
12
12
  ServiceType["DELIVERY"] = "delivery";
13
+ ServiceType["BUSINESS"] = "business";
13
14
  })(ServiceType || (exports.ServiceType = ServiceType = {}));
14
15
  //# sourceMappingURL=service-types.enum.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"service-types.enum.js","sourceRoot":"","sources":["../../src/enums/service-types.enum.ts"],"names":[],"mappings":";AAAA,gDAAgD;AAChD,oBAAoB;AACpB,gDAAgD;;;AAEhD,kCAAkC;AAClC,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,4BAAa,CAAA;IACb,4BAAa,CAAA;IACb,oCAAqB,CAAA;AACvB,CAAC,EAJW,WAAW,2BAAX,WAAW,QAItB"}
1
+ {"version":3,"file":"service-types.enum.js","sourceRoot":"","sources":["../../src/enums/service-types.enum.ts"],"names":[],"mappings":";AAAA,gDAAgD;AAChD,oBAAoB;AACpB,gDAAgD;;;AAEhD,kCAAkC;AAClC,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,4BAAa,CAAA;IACb,4BAAa,CAAA;IACb,oCAAqB,CAAA;IACrB,oCAAqB,CAAA;AACvB,CAAC,EALW,WAAW,2BAAX,WAAW,QAKtB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "uaxi-shared-entities",
3
- "version": "1.0.225",
3
+ "version": "1.0.227",
4
4
  "description": "Entidades compartidas para microservicios UAXI",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -0,0 +1,139 @@
1
+ // =============================================
2
+ // DRIVER FLEX 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 flex. */
19
+ export interface DriverFlexVehicleServiceMappingSnapshot {
20
+ id: string;
21
+ vehicleId: string;
22
+ serviceTypeId: string;
23
+ isActive: boolean;
24
+ isAvailable: boolean;
25
+ priority: number;
26
+ }
27
+
28
+ export interface DriverFlexServiceActivationAttributes {
29
+ id: string;
30
+ driverId: string;
31
+ flexServiceTypeId: string;
32
+ previousMappingsSnapshot: DriverFlexVehicleServiceMappingSnapshot[];
33
+ flexMappingIds: string[];
34
+ /** Hora diaria HH:mm para activar flex (ej. 08:00). */
35
+ activatedAt: string | null;
36
+ /** Hora diaria HH:mm para desactivar flex (ej. 17:00). */
37
+ deactivatedAt: string | null;
38
+ /** Horario habilitado; el cron solo procesa filas con isActive=true. */
39
+ isActive: boolean;
40
+ createdAt: Date;
41
+ updatedAt: Date;
42
+ }
43
+
44
+ export interface CreateDriverFlexServiceActivationData {
45
+ driverId: string;
46
+ flexServiceTypeId: string;
47
+ previousMappingsSnapshot: DriverFlexVehicleServiceMappingSnapshot[];
48
+ flexMappingIds?: string[];
49
+ activatedAt?: string | null;
50
+ deactivatedAt?: string | null;
51
+ isActive?: boolean;
52
+ }
53
+
54
+ @Table({
55
+ tableName: "driver_flex_service_activations",
56
+ timestamps: true,
57
+ indexes: [
58
+ {
59
+ fields: ["driverId", "isActive"],
60
+ name: "idx_driver_flex_activation_driver_active",
61
+ },
62
+ {
63
+ fields: ["activatedAt"],
64
+ name: "idx_driver_flex_activation_activated_at",
65
+ },
66
+ ],
67
+ })
68
+ export class DriverFlexServiceActivation extends Model<
69
+ DriverFlexServiceActivationAttributes,
70
+ CreateDriverFlexServiceActivationData
71
+ > {
72
+ @Column({
73
+ type: DataType.UUID,
74
+ defaultValue: DataType.UUIDV4,
75
+ primaryKey: true,
76
+ })
77
+ declare id: string;
78
+
79
+ @ForeignKey(() => DriverProfile)
80
+ @Column({
81
+ type: DataType.UUID,
82
+ allowNull: false,
83
+ })
84
+ driverId: string;
85
+
86
+ @ForeignKey(() => ServiceTypeEntity)
87
+ @Column({
88
+ type: DataType.UUID,
89
+ allowNull: false,
90
+ })
91
+ flexServiceTypeId: string;
92
+
93
+ @Column({
94
+ type: DataType.JSONB,
95
+ allowNull: false,
96
+ })
97
+ previousMappingsSnapshot: DriverFlexVehicleServiceMappingSnapshot[];
98
+
99
+ @Column({
100
+ type: DataType.JSONB,
101
+ allowNull: false,
102
+ defaultValue: [],
103
+ })
104
+ flexMappingIds: string[];
105
+
106
+ @Column({
107
+ type: DataType.STRING(5),
108
+ allowNull: true,
109
+ comment: "Hora diaria HH:mm para activar modo flex (ej. 08:00)",
110
+ })
111
+ activatedAt: string | null;
112
+
113
+ @Column({
114
+ type: DataType.STRING(5),
115
+ allowNull: true,
116
+ comment: "Hora diaria HH:mm para desactivar modo flex (ej. 17:00)",
117
+ })
118
+ deactivatedAt: string | null;
119
+
120
+ @Column({
121
+ type: DataType.BOOLEAN,
122
+ allowNull: false,
123
+ defaultValue: false,
124
+ comment: "Horario flex habilitado; el cron solo lee filas isActive=true",
125
+ })
126
+ isActive: boolean;
127
+
128
+ @CreatedAt
129
+ declare createdAt: Date;
130
+
131
+ @UpdatedAt
132
+ declare updatedAt: Date;
133
+
134
+ @BelongsTo(() => DriverProfile)
135
+ driver: DriverProfile;
136
+
137
+ @BelongsTo(() => ServiceTypeEntity)
138
+ flexServiceType: ServiceTypeEntity;
139
+ }
@@ -11,6 +11,7 @@ export * from "./vehicle-service-mapping.entity";
11
11
  export * from "./wallet.entity";
12
12
  export * from "./walletTransaction.entity";
13
13
  export * from "./driver.entity";
14
+ export * from "./driver-flex-service-activation.entity";
14
15
  export * from "./driver-documents.entity";
15
16
  export * from "./vehicle-documents.entity";
16
17
  export * from "./farerates.entity";
@@ -7,4 +7,5 @@ export enum ServiceType {
7
7
  TRIP = "trip", // Viajes de pasajeros
8
8
  FOOD = "food", // Entrega de comida
9
9
  DELIVERY = "delivery", // Entrega de artículos/paquetes
10
+ BUSINESS = "business", // Servicios corporativos (flex, recurrentes, cuenta business, etc.)
10
11
  }