uaxi-shared-entities 1.0.21 → 1.0.22
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/entities/farerates.entity.d.ts +11 -1
- package/dist/entities/farerates.entity.d.ts.map +1 -1
- package/dist/entities/farerates.entity.js +29 -2
- package/dist/entities/farerates.entity.js.map +1 -1
- package/dist/entities/index.d.ts +2 -1
- package/dist/entities/index.d.ts.map +1 -1
- package/dist/entities/index.js +2 -1
- package/dist/entities/index.js.map +1 -1
- package/dist/entities/service-types.entity.d.ts +40 -0
- package/dist/entities/service-types.entity.d.ts.map +1 -0
- package/dist/entities/service-types.entity.js +110 -0
- package/dist/entities/service-types.entity.js.map +1 -0
- package/dist/entities/{vehicle-service.entity.d.ts → vehicle-service-mapping.entity.d.ts} +12 -8
- package/dist/entities/vehicle-service-mapping.entity.d.ts.map +1 -0
- package/dist/entities/{vehicle-service.entity.js → vehicle-service-mapping.entity.js} +42 -21
- package/dist/entities/vehicle-service-mapping.entity.js.map +1 -0
- package/dist/entities/vehicle.entity.d.ts +2 -2
- package/dist/entities/vehicle.entity.d.ts.map +1 -1
- package/dist/entities/vehicle.entity.js +3 -3
- package/dist/entities/vehicle.entity.js.map +1 -1
- package/dist/enums/index.d.ts +0 -1
- package/dist/enums/index.d.ts.map +1 -1
- package/dist/enums/index.js +0 -1
- package/dist/enums/index.js.map +1 -1
- package/package.json +1 -1
- package/src/entities/farerates.entity.ts +37 -2
- package/src/entities/index.ts +2 -1
- package/src/entities/service-types.entity.ts +117 -0
- package/src/entities/{vehicle-service.entity.ts → vehicle-service-mapping.entity.ts} +35 -14
- package/src/entities/vehicle.entity.ts +3 -3
- package/src/enums/index.ts +0 -1
- package/dist/entities/vehicle-service.entity.d.ts.map +0 -1
- package/dist/entities/vehicle-service.entity.js.map +0 -1
- package/dist/enums/service.enum.d.ts +0 -17
- package/dist/enums/service.enum.d.ts.map +0 -1
- package/dist/enums/service.enum.js +0 -39
- package/dist/enums/service.enum.js.map +0 -1
- package/src/enums/service.enum.ts +0 -44
|
@@ -1,6 +1,13 @@
|
|
|
1
|
-
import { Model } from
|
|
1
|
+
import { Model } from "sequelize-typescript";
|
|
2
|
+
import { ServiceTypeEntity } from "./service-types.entity";
|
|
3
|
+
export declare enum ServiceType {
|
|
4
|
+
TRIP = "trip",// Viajes de pasajeros
|
|
5
|
+
FOOD = "food",// Entrega de comida
|
|
6
|
+
DELIVERY = "delivery"
|
|
7
|
+
}
|
|
2
8
|
export interface FareRateAttributes {
|
|
3
9
|
id: string;
|
|
10
|
+
serviceTypeId: string;
|
|
4
11
|
vehicleType: string;
|
|
5
12
|
baseFare: number;
|
|
6
13
|
perKilometerRate: number;
|
|
@@ -14,6 +21,7 @@ export interface FareRateAttributes {
|
|
|
14
21
|
updatedAt: Date;
|
|
15
22
|
}
|
|
16
23
|
export interface CreateFareRateData {
|
|
24
|
+
serviceTypeId: string;
|
|
17
25
|
vehicleType: string;
|
|
18
26
|
baseFare: number;
|
|
19
27
|
perKilometerRate: number;
|
|
@@ -26,6 +34,7 @@ export interface CreateFareRateData {
|
|
|
26
34
|
}
|
|
27
35
|
export declare class FareRate extends Model<FareRateAttributes, CreateFareRateData> {
|
|
28
36
|
id: string;
|
|
37
|
+
serviceTypeId: string;
|
|
29
38
|
vehicleType: string;
|
|
30
39
|
baseFare: number;
|
|
31
40
|
perKilometerRate: number;
|
|
@@ -35,5 +44,6 @@ export declare class FareRate extends Model<FareRateAttributes, CreateFareRateDa
|
|
|
35
44
|
isActive: boolean;
|
|
36
45
|
effectiveFrom: Date;
|
|
37
46
|
effectiveTo: Date;
|
|
47
|
+
serviceType: ServiceTypeEntity;
|
|
38
48
|
}
|
|
39
49
|
//# sourceMappingURL=farerates.entity.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"farerates.entity.d.ts","sourceRoot":"","sources":["../../src/entities/farerates.entity.ts"],"names":[],"mappings":"AAIA,OAAO,
|
|
1
|
+
{"version":3,"file":"farerates.entity.d.ts","sourceRoot":"","sources":["../../src/entities/farerates.entity.ts"],"names":[],"mappings":"AAIA,OAAO,EAGL,KAAK,EAIN,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAG3D,oBAAY,WAAW;IACrB,IAAI,SAAS,CAAE,sBAAsB;IACrC,IAAI,SAAS,CAAE,oBAAoB;IACnC,QAAQ,aAAa;CACtB;AAGD,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,EAAE,IAAI,CAAC;IACpB,WAAW,EAAE,IAAI,CAAC;IAClB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB;AAGD,MAAM,WAAW,kBAAkB;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,IAAI,CAAC;IACrB,WAAW,CAAC,EAAE,IAAI,CAAC;CACpB;AAED,qBAWa,QAAS,SAAQ,KAAK,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IAMjE,EAAE,EAAE,MAAM,CAAC;IAOnB,aAAa,EAAE,MAAM,CAAC;IAMtB,WAAW,EAAE,MAAM,CAAC;IAMpB,QAAQ,EAAE,MAAM,CAAC;IAMjB,gBAAgB,EAAE,MAAM,CAAC;IAMzB,aAAa,EAAE,MAAM,CAAC;IAMtB,WAAW,EAAE,MAAM,CAAC;IAMpB,YAAY,EAAE,MAAM,CAAC;IAMrB,QAAQ,EAAE,OAAO,CAAC;IAMlB,aAAa,EAAE,IAAI,CAAC;IAMpB,WAAW,EAAE,IAAI,CAAC;IAIlB,WAAW,EAAE,iBAAiB,CAAC;CAChC"}
|
|
@@ -12,8 +12,16 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
12
12
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.FareRate = void 0;
|
|
15
|
+
exports.FareRate = exports.ServiceType = void 0;
|
|
16
16
|
const sequelize_typescript_1 = require("sequelize-typescript");
|
|
17
|
+
const service_types_entity_1 = require("./service-types.entity");
|
|
18
|
+
// Enum simple para los tipos de servicio
|
|
19
|
+
var ServiceType;
|
|
20
|
+
(function (ServiceType) {
|
|
21
|
+
ServiceType["TRIP"] = "trip";
|
|
22
|
+
ServiceType["FOOD"] = "food";
|
|
23
|
+
ServiceType["DELIVERY"] = "delivery";
|
|
24
|
+
})(ServiceType || (exports.ServiceType = ServiceType = {}));
|
|
17
25
|
let FareRate = class FareRate extends sequelize_typescript_1.Model {
|
|
18
26
|
};
|
|
19
27
|
exports.FareRate = FareRate;
|
|
@@ -25,6 +33,14 @@ __decorate([
|
|
|
25
33
|
}),
|
|
26
34
|
__metadata("design:type", String)
|
|
27
35
|
], FareRate.prototype, "id", void 0);
|
|
36
|
+
__decorate([
|
|
37
|
+
(0, sequelize_typescript_1.ForeignKey)(() => service_types_entity_1.ServiceTypeEntity),
|
|
38
|
+
(0, sequelize_typescript_1.Column)({
|
|
39
|
+
type: sequelize_typescript_1.DataType.UUID,
|
|
40
|
+
allowNull: false,
|
|
41
|
+
}),
|
|
42
|
+
__metadata("design:type", String)
|
|
43
|
+
], FareRate.prototype, "serviceTypeId", void 0);
|
|
28
44
|
__decorate([
|
|
29
45
|
(0, sequelize_typescript_1.Column)({
|
|
30
46
|
type: sequelize_typescript_1.DataType.STRING,
|
|
@@ -88,10 +104,21 @@ __decorate([
|
|
|
88
104
|
}),
|
|
89
105
|
__metadata("design:type", Date)
|
|
90
106
|
], FareRate.prototype, "effectiveTo", 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
|
+
], FareRate.prototype, "serviceType", void 0);
|
|
91
111
|
exports.FareRate = FareRate = __decorate([
|
|
92
112
|
(0, sequelize_typescript_1.Table)({
|
|
93
|
-
tableName:
|
|
113
|
+
tableName: "fare_rates",
|
|
94
114
|
timestamps: true,
|
|
115
|
+
indexes: [
|
|
116
|
+
{
|
|
117
|
+
unique: true,
|
|
118
|
+
fields: ["serviceTypeId", "vehicleType"],
|
|
119
|
+
name: "unique_fare_rate_service_vehicle",
|
|
120
|
+
},
|
|
121
|
+
],
|
|
95
122
|
})
|
|
96
123
|
], FareRate);
|
|
97
124
|
//# sourceMappingURL=farerates.entity.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"farerates.entity.js","sourceRoot":"","sources":["../../src/entities/farerates.entity.ts"],"names":[],"mappings":";AAAA,gDAAgD;AAChD,kBAAkB;AAClB,gDAAgD;;;;;;;;;;;;AAEhD,+
|
|
1
|
+
{"version":3,"file":"farerates.entity.js","sourceRoot":"","sources":["../../src/entities/farerates.entity.ts"],"names":[],"mappings":";AAAA,gDAAgD;AAChD,kBAAkB;AAClB,gDAAgD;;;;;;;;;;;;AAEhD,+DAO8B;AAC9B,iEAA2D;AAE3D,yCAAyC;AACzC,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,4BAAa,CAAA;IACb,4BAAa,CAAA;IACb,oCAAqB,CAAA;AACvB,CAAC,EAJW,WAAW,2BAAX,WAAW,QAItB;AA4CM,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,4BAA6C;CAwE1E,CAAA;AAxEY,4BAAQ;AAMX;IALP,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI;QACnB,YAAY,EAAE,+BAAQ,CAAC,MAAM;QAC7B,UAAU,EAAE,IAAI;KACjB,CAAC;;oCACiB;AAOnB;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;;+CACoB;AAMtB;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,MAAM;QACrB,SAAS,EAAE,KAAK;KACjB,CAAC;;6CACkB;AAMpB;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;QAC5B,SAAS,EAAE,KAAK;KACjB,CAAC;;0CACe;AAMjB;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;QAC5B,SAAS,EAAE,KAAK;KACjB,CAAC;;kDACuB;AAMzB;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;QAC5B,SAAS,EAAE,KAAK;KACjB,CAAC;;+CACoB;AAMtB;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;QAC5B,SAAS,EAAE,KAAK;KACjB,CAAC;;6CACkB;AAMpB;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;QAC5B,YAAY,EAAE,GAAG;KAClB,CAAC;;8CACmB;AAMrB;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,OAAO;QACtB,YAAY,EAAE,IAAI;KACnB,CAAC;;0CACgB;AAMlB;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI;QACnB,SAAS,EAAE,IAAI;KAChB,CAAC;8BACa,IAAI;+CAAC;AAMpB;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI;QACnB,SAAS,EAAE,IAAI;KAChB,CAAC;8BACW,IAAI;6CAAC;AAIlB;IADC,IAAA,gCAAS,EAAC,GAAG,EAAE,CAAC,wCAAiB,CAAC;8BACtB,wCAAiB;6CAAC;mBAvEpB,QAAQ;IAXpB,IAAA,4BAAK,EAAC;QACL,SAAS,EAAE,YAAY;QACvB,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE;YACP;gBACE,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE,CAAC,eAAe,EAAE,aAAa,CAAC;gBACxC,IAAI,EAAE,kCAAkC;aACzC;SACF;KACF,CAAC;GACW,QAAQ,CAwEpB"}
|
package/dist/entities/index.d.ts
CHANGED
|
@@ -3,7 +3,8 @@ export * from "./address.entity";
|
|
|
3
3
|
export * from "./vehicle.entity";
|
|
4
4
|
export * from "./brand.entity";
|
|
5
5
|
export * from "./vehicle-model.entity";
|
|
6
|
-
export * from "./
|
|
6
|
+
export * from "./service-types.entity";
|
|
7
|
+
export * from "./vehicle-service-mapping.entity";
|
|
7
8
|
export * from "./wallet.entity";
|
|
8
9
|
export * from "./walletTransaction.entity";
|
|
9
10
|
export * from "./driver.entity";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/entities/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/entities/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kCAAkC,CAAC;AACjD,cAAc,iBAAiB,CAAC;AAChC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC"}
|
package/dist/entities/index.js
CHANGED
|
@@ -19,7 +19,8 @@ __exportStar(require("./address.entity"), exports);
|
|
|
19
19
|
__exportStar(require("./vehicle.entity"), exports);
|
|
20
20
|
__exportStar(require("./brand.entity"), exports);
|
|
21
21
|
__exportStar(require("./vehicle-model.entity"), exports);
|
|
22
|
-
__exportStar(require("./
|
|
22
|
+
__exportStar(require("./service-types.entity"), exports);
|
|
23
|
+
__exportStar(require("./vehicle-service-mapping.entity"), exports);
|
|
23
24
|
__exportStar(require("./wallet.entity"), exports);
|
|
24
25
|
__exportStar(require("./walletTransaction.entity"), exports);
|
|
25
26
|
__exportStar(require("./driver.entity"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/entities/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,mDAAiC;AACjC,mDAAiC;AACjC,iDAA+B;AAC/B,yDAAuC;AACvC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/entities/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,mDAAiC;AACjC,mDAAiC;AACjC,iDAA+B;AAC/B,yDAAuC;AACvC,yDAAuC;AACvC,mEAAiD;AACjD,kDAAgC;AAChC,6DAA2C;AAC3C,kDAAgC;AAChC,qDAAmC;AACnC,yDAAuC;AACvC,oDAAkC;AAClC,oDAAkC;AAClC,iDAA+B;AAC/B,yDAAuC;AACvC,wDAAsC;AACtC,iDAA+B;AAC/B,mDAAiC;AACjC,oDAAkC;AAClC,wDAAsC;AACtC,2DAAyC;AACzC,kDAAgC;AAChC,yDAAuC;AACvC,gEAA8C;AAC9C,sDAAoC;AACpC,6DAA2C;AAC3C,qDAAmC;AACnC,4DAA0C;AAC1C,oDAAkC;AAClC,iEAA+C;AAC/C,iEAA+C;AAC/C,+CAA6B;AAC7B,yDAAuC;AACvC,qDAAmC;AACnC,6DAA2C"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Model } from "sequelize-typescript";
|
|
2
|
+
import { ServiceType } from "./farerates.entity";
|
|
3
|
+
export interface ServiceTypeAttributes {
|
|
4
|
+
id: string;
|
|
5
|
+
name: string;
|
|
6
|
+
displayName: string;
|
|
7
|
+
description: string;
|
|
8
|
+
serviceType: ServiceType;
|
|
9
|
+
icon: string;
|
|
10
|
+
color: string;
|
|
11
|
+
isActive: boolean;
|
|
12
|
+
maxPassengers?: number;
|
|
13
|
+
maxLuggage?: number;
|
|
14
|
+
createdAt: Date;
|
|
15
|
+
updatedAt: Date;
|
|
16
|
+
}
|
|
17
|
+
export interface CreateServiceTypeData {
|
|
18
|
+
name: string;
|
|
19
|
+
displayName: string;
|
|
20
|
+
description: string;
|
|
21
|
+
serviceType: ServiceType;
|
|
22
|
+
icon: string;
|
|
23
|
+
color: string;
|
|
24
|
+
isActive?: boolean;
|
|
25
|
+
maxPassengers?: number;
|
|
26
|
+
maxLuggage?: number;
|
|
27
|
+
}
|
|
28
|
+
export declare class ServiceTypeEntity extends Model<ServiceTypeAttributes, CreateServiceTypeData> {
|
|
29
|
+
id: string;
|
|
30
|
+
name: string;
|
|
31
|
+
displayName: string;
|
|
32
|
+
description: string;
|
|
33
|
+
serviceType: ServiceType;
|
|
34
|
+
icon: string;
|
|
35
|
+
color: string;
|
|
36
|
+
isActive: boolean;
|
|
37
|
+
maxPassengers: number;
|
|
38
|
+
maxLuggage: number;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=service-types.entity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service-types.entity.d.ts","sourceRoot":"","sources":["../../src/entities/service-types.entity.ts"],"names":[],"mappings":"AAIA,OAAO,EAAoB,KAAK,EAAS,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,WAAW,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB;AAGD,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,WAAW,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qBAea,iBAAkB,SAAQ,KAAK,CAC1C,qBAAqB,EACrB,qBAAqB,CACtB;IAMS,EAAE,EAAE,MAAM,CAAC;IAOnB,IAAI,EAAE,MAAM,CAAC;IAMb,WAAW,EAAE,MAAM,CAAC;IAMpB,WAAW,EAAE,MAAM,CAAC;IAMpB,WAAW,EAAE,WAAW,CAAC;IAMzB,IAAI,EAAE,MAAM,CAAC;IAMb,KAAK,EAAE,MAAM,CAAC;IAMd,QAAQ,EAAE,OAAO,CAAC;IAMlB,aAAa,EAAE,MAAM,CAAC;IAMtB,UAAU,EAAE,MAAM,CAAC;CACpB"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// =============================================
|
|
3
|
+
// SERVICE TYPES 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.ServiceTypeEntity = void 0;
|
|
16
|
+
const sequelize_typescript_1 = require("sequelize-typescript");
|
|
17
|
+
const farerates_entity_1 = require("./farerates.entity");
|
|
18
|
+
let ServiceTypeEntity = class ServiceTypeEntity extends sequelize_typescript_1.Model {
|
|
19
|
+
};
|
|
20
|
+
exports.ServiceTypeEntity = ServiceTypeEntity;
|
|
21
|
+
__decorate([
|
|
22
|
+
(0, sequelize_typescript_1.Column)({
|
|
23
|
+
type: sequelize_typescript_1.DataType.UUID,
|
|
24
|
+
defaultValue: sequelize_typescript_1.DataType.UUIDV4,
|
|
25
|
+
primaryKey: true,
|
|
26
|
+
}),
|
|
27
|
+
__metadata("design:type", String)
|
|
28
|
+
], ServiceTypeEntity.prototype, "id", void 0);
|
|
29
|
+
__decorate([
|
|
30
|
+
(0, sequelize_typescript_1.Column)({
|
|
31
|
+
type: sequelize_typescript_1.DataType.STRING,
|
|
32
|
+
allowNull: false,
|
|
33
|
+
unique: true,
|
|
34
|
+
}),
|
|
35
|
+
__metadata("design:type", String)
|
|
36
|
+
], ServiceTypeEntity.prototype, "name", void 0);
|
|
37
|
+
__decorate([
|
|
38
|
+
(0, sequelize_typescript_1.Column)({
|
|
39
|
+
type: sequelize_typescript_1.DataType.STRING,
|
|
40
|
+
allowNull: false,
|
|
41
|
+
}),
|
|
42
|
+
__metadata("design:type", String)
|
|
43
|
+
], ServiceTypeEntity.prototype, "displayName", void 0);
|
|
44
|
+
__decorate([
|
|
45
|
+
(0, sequelize_typescript_1.Column)({
|
|
46
|
+
type: sequelize_typescript_1.DataType.TEXT,
|
|
47
|
+
allowNull: false,
|
|
48
|
+
}),
|
|
49
|
+
__metadata("design:type", String)
|
|
50
|
+
], ServiceTypeEntity.prototype, "description", void 0);
|
|
51
|
+
__decorate([
|
|
52
|
+
(0, sequelize_typescript_1.Column)({
|
|
53
|
+
type: sequelize_typescript_1.DataType.ENUM(...Object.values(farerates_entity_1.ServiceType)),
|
|
54
|
+
allowNull: false,
|
|
55
|
+
}),
|
|
56
|
+
__metadata("design:type", String)
|
|
57
|
+
], ServiceTypeEntity.prototype, "serviceType", void 0);
|
|
58
|
+
__decorate([
|
|
59
|
+
(0, sequelize_typescript_1.Column)({
|
|
60
|
+
type: sequelize_typescript_1.DataType.STRING,
|
|
61
|
+
allowNull: false,
|
|
62
|
+
}),
|
|
63
|
+
__metadata("design:type", String)
|
|
64
|
+
], ServiceTypeEntity.prototype, "icon", void 0);
|
|
65
|
+
__decorate([
|
|
66
|
+
(0, sequelize_typescript_1.Column)({
|
|
67
|
+
type: sequelize_typescript_1.DataType.STRING,
|
|
68
|
+
allowNull: false,
|
|
69
|
+
}),
|
|
70
|
+
__metadata("design:type", String)
|
|
71
|
+
], ServiceTypeEntity.prototype, "color", void 0);
|
|
72
|
+
__decorate([
|
|
73
|
+
(0, sequelize_typescript_1.Column)({
|
|
74
|
+
type: sequelize_typescript_1.DataType.BOOLEAN,
|
|
75
|
+
defaultValue: true,
|
|
76
|
+
}),
|
|
77
|
+
__metadata("design:type", Boolean)
|
|
78
|
+
], ServiceTypeEntity.prototype, "isActive", void 0);
|
|
79
|
+
__decorate([
|
|
80
|
+
(0, sequelize_typescript_1.Column)({
|
|
81
|
+
type: sequelize_typescript_1.DataType.INTEGER,
|
|
82
|
+
allowNull: true,
|
|
83
|
+
}),
|
|
84
|
+
__metadata("design:type", Number)
|
|
85
|
+
], ServiceTypeEntity.prototype, "maxPassengers", void 0);
|
|
86
|
+
__decorate([
|
|
87
|
+
(0, sequelize_typescript_1.Column)({
|
|
88
|
+
type: sequelize_typescript_1.DataType.INTEGER,
|
|
89
|
+
allowNull: true,
|
|
90
|
+
}),
|
|
91
|
+
__metadata("design:type", Number)
|
|
92
|
+
], ServiceTypeEntity.prototype, "maxLuggage", void 0);
|
|
93
|
+
exports.ServiceTypeEntity = ServiceTypeEntity = __decorate([
|
|
94
|
+
(0, sequelize_typescript_1.Table)({
|
|
95
|
+
tableName: "service_types",
|
|
96
|
+
timestamps: true,
|
|
97
|
+
indexes: [
|
|
98
|
+
{
|
|
99
|
+
unique: true,
|
|
100
|
+
fields: ["name"],
|
|
101
|
+
name: "unique_service_type_name",
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
fields: ["serviceType", "isActive"],
|
|
105
|
+
name: "idx_service_type_active",
|
|
106
|
+
},
|
|
107
|
+
],
|
|
108
|
+
})
|
|
109
|
+
], ServiceTypeEntity);
|
|
110
|
+
//# sourceMappingURL=service-types.entity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service-types.entity.js","sourceRoot":"","sources":["../../src/entities/service-types.entity.ts"],"names":[],"mappings":";AAAA,gDAAgD;AAChD,uBAAuB;AACvB,gDAAgD;;;;;;;;;;;;AAEhD,+DAAsE;AACtE,yDAAiD;AA8C1C,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,4BAGtC;CA8DA,CAAA;AAjEY,8CAAiB;AASpB;IALP,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI;QACnB,YAAY,EAAE,+BAAQ,CAAC,MAAM;QAC7B,UAAU,EAAE,IAAI;KACjB,CAAC;;6CACiB;AAOnB;IALC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,MAAM;QACrB,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE,IAAI;KACb,CAAC;;+CACW;AAMb;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,MAAM;QACrB,SAAS,EAAE,KAAK;KACjB,CAAC;;sDACkB;AAMpB;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI;QACnB,SAAS,EAAE,KAAK;KACjB,CAAC;;sDACkB;AAMpB;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,8BAAW,CAAC,CAAC;QAClD,SAAS,EAAE,KAAK;KACjB,CAAC;;sDACuB;AAMzB;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,MAAM;QACrB,SAAS,EAAE,KAAK;KACjB,CAAC;;+CACW;AAMb;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,MAAM;QACrB,SAAS,EAAE,KAAK;KACjB,CAAC;;gDACY;AAMd;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,OAAO;QACtB,YAAY,EAAE,IAAI;KACnB,CAAC;;mDACgB;AAMlB;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,OAAO;QACtB,SAAS,EAAE,IAAI;KAChB,CAAC;;wDACoB;AAMtB;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,OAAO;QACtB,SAAS,EAAE,IAAI;KAChB,CAAC;;qDACiB;4BAhER,iBAAiB;IAf7B,IAAA,4BAAK,EAAC;QACL,SAAS,EAAE,eAAe;QAC1B,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE;YACP;gBACE,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE,CAAC,MAAM,CAAC;gBAChB,IAAI,EAAE,0BAA0B;aACjC;YACD;gBACE,MAAM,EAAE,CAAC,aAAa,EAAE,UAAU,CAAC;gBACnC,IAAI,EAAE,yBAAyB;aAChC;SACF;KACF,CAAC;GACW,iBAAiB,CAiE7B"}
|
|
@@ -1,34 +1,38 @@
|
|
|
1
1
|
import { Model } from "sequelize-typescript";
|
|
2
2
|
import { Vehicle } from "./vehicle.entity";
|
|
3
|
-
import {
|
|
4
|
-
export interface
|
|
3
|
+
import { ServiceTypeEntity } from "./service-types.entity";
|
|
4
|
+
export interface VehicleServiceMappingAttributes {
|
|
5
5
|
id: string;
|
|
6
6
|
vehicleId: string;
|
|
7
|
-
|
|
7
|
+
serviceTypeId: string;
|
|
8
8
|
isActive: boolean;
|
|
9
9
|
isAvailable: boolean;
|
|
10
|
+
priority: number;
|
|
10
11
|
notes: string;
|
|
11
12
|
createdAt: Date;
|
|
12
13
|
updatedAt: Date;
|
|
13
14
|
deletedAt: Date;
|
|
14
15
|
}
|
|
15
|
-
export interface
|
|
16
|
+
export interface CreateVehicleServiceMappingData {
|
|
16
17
|
vehicleId: string;
|
|
17
|
-
|
|
18
|
+
serviceTypeId: string;
|
|
18
19
|
isActive?: boolean;
|
|
19
20
|
isAvailable?: boolean;
|
|
21
|
+
priority?: number;
|
|
20
22
|
notes?: string;
|
|
21
23
|
}
|
|
22
|
-
export declare class
|
|
24
|
+
export declare class VehicleServiceMapping extends Model<VehicleServiceMappingAttributes, CreateVehicleServiceMappingData> {
|
|
23
25
|
id: string;
|
|
24
26
|
vehicleId: string;
|
|
25
|
-
|
|
27
|
+
serviceTypeId: string;
|
|
26
28
|
isActive: boolean;
|
|
27
29
|
isAvailable: boolean;
|
|
30
|
+
priority: number;
|
|
28
31
|
notes: string;
|
|
29
32
|
createdAt: Date;
|
|
30
33
|
updatedAt: Date;
|
|
31
34
|
deletedAt: Date;
|
|
32
35
|
vehicle: Vehicle;
|
|
36
|
+
serviceType: ServiceTypeEntity;
|
|
33
37
|
}
|
|
34
|
-
//# sourceMappingURL=vehicle-service.entity.d.ts.map
|
|
38
|
+
//# sourceMappingURL=vehicle-service-mapping.entity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vehicle-service-mapping.entity.d.ts","sourceRoot":"","sources":["../../src/entities/vehicle-service-mapping.entity.ts"],"names":[],"mappings":"AAIA,OAAO,EAOL,KAAK,EAGN,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAG3D,MAAM,WAAW,+BAA+B;IAC9C,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;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB;AAGD,MAAM,WAAW,+BAA+B;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qBAoBa,qBAAsB,SAAQ,KAAK,CAC9C,+BAA+B,EAC/B,+BAA+B,CAChC;IAMS,EAAE,EAAE,MAAM,CAAC;IAOnB,SAAS,EAAE,MAAM,CAAC;IAOlB,aAAa,EAAE,MAAM,CAAC;IAMtB,QAAQ,EAAE,OAAO,CAAC;IAMlB,WAAW,EAAE,OAAO,CAAC;IAMrB,QAAQ,EAAE,MAAM,CAAC;IAMjB,KAAK,EAAE,MAAM,CAAC;IAGN,SAAS,EAAE,IAAI,CAAC;IAGhB,SAAS,EAAE,IAAI,CAAC;IAGhB,SAAS,EAAE,IAAI,CAAC;IAIxB,OAAO,EAAE,OAAO,CAAC;IAGjB,WAAW,EAAE,iBAAiB,CAAC;CAChC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
// =============================================
|
|
3
|
-
// VEHICLE SERVICE ENTITY
|
|
3
|
+
// VEHICLE SERVICE MAPPING ENTITY
|
|
4
4
|
// =============================================
|
|
5
5
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
6
6
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
@@ -12,13 +12,13 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
12
12
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.
|
|
15
|
+
exports.VehicleServiceMapping = void 0;
|
|
16
16
|
const sequelize_typescript_1 = require("sequelize-typescript");
|
|
17
17
|
const vehicle_entity_1 = require("./vehicle.entity");
|
|
18
|
-
const
|
|
19
|
-
let
|
|
18
|
+
const service_types_entity_1 = require("./service-types.entity");
|
|
19
|
+
let VehicleServiceMapping = class VehicleServiceMapping extends sequelize_typescript_1.Model {
|
|
20
20
|
};
|
|
21
|
-
exports.
|
|
21
|
+
exports.VehicleServiceMapping = VehicleServiceMapping;
|
|
22
22
|
__decorate([
|
|
23
23
|
(0, sequelize_typescript_1.Column)({
|
|
24
24
|
type: sequelize_typescript_1.DataType.UUID,
|
|
@@ -26,7 +26,7 @@ __decorate([
|
|
|
26
26
|
primaryKey: true,
|
|
27
27
|
}),
|
|
28
28
|
__metadata("design:type", String)
|
|
29
|
-
],
|
|
29
|
+
], VehicleServiceMapping.prototype, "id", void 0);
|
|
30
30
|
__decorate([
|
|
31
31
|
(0, sequelize_typescript_1.ForeignKey)(() => vehicle_entity_1.Vehicle),
|
|
32
32
|
(0, sequelize_typescript_1.Column)({
|
|
@@ -34,62 +34,83 @@ __decorate([
|
|
|
34
34
|
allowNull: false,
|
|
35
35
|
}),
|
|
36
36
|
__metadata("design:type", String)
|
|
37
|
-
],
|
|
37
|
+
], VehicleServiceMapping.prototype, "vehicleId", void 0);
|
|
38
38
|
__decorate([
|
|
39
|
+
(0, sequelize_typescript_1.ForeignKey)(() => service_types_entity_1.ServiceTypeEntity),
|
|
39
40
|
(0, sequelize_typescript_1.Column)({
|
|
40
|
-
type: sequelize_typescript_1.DataType.
|
|
41
|
+
type: sequelize_typescript_1.DataType.UUID,
|
|
41
42
|
allowNull: false,
|
|
42
43
|
}),
|
|
43
44
|
__metadata("design:type", String)
|
|
44
|
-
],
|
|
45
|
+
], VehicleServiceMapping.prototype, "serviceTypeId", void 0);
|
|
45
46
|
__decorate([
|
|
46
47
|
(0, sequelize_typescript_1.Column)({
|
|
47
48
|
type: sequelize_typescript_1.DataType.BOOLEAN,
|
|
48
49
|
defaultValue: true,
|
|
49
50
|
}),
|
|
50
51
|
__metadata("design:type", Boolean)
|
|
51
|
-
],
|
|
52
|
+
], VehicleServiceMapping.prototype, "isActive", void 0);
|
|
52
53
|
__decorate([
|
|
53
54
|
(0, sequelize_typescript_1.Column)({
|
|
54
55
|
type: sequelize_typescript_1.DataType.BOOLEAN,
|
|
55
56
|
defaultValue: true,
|
|
56
57
|
}),
|
|
57
58
|
__metadata("design:type", Boolean)
|
|
58
|
-
],
|
|
59
|
+
], VehicleServiceMapping.prototype, "isAvailable", void 0);
|
|
60
|
+
__decorate([
|
|
61
|
+
(0, sequelize_typescript_1.Column)({
|
|
62
|
+
type: sequelize_typescript_1.DataType.INTEGER,
|
|
63
|
+
defaultValue: 1,
|
|
64
|
+
}),
|
|
65
|
+
__metadata("design:type", Number)
|
|
66
|
+
], VehicleServiceMapping.prototype, "priority", void 0);
|
|
59
67
|
__decorate([
|
|
60
68
|
(0, sequelize_typescript_1.Column)({
|
|
61
69
|
type: sequelize_typescript_1.DataType.TEXT,
|
|
62
70
|
allowNull: true,
|
|
63
71
|
}),
|
|
64
72
|
__metadata("design:type", String)
|
|
65
|
-
],
|
|
73
|
+
], VehicleServiceMapping.prototype, "notes", void 0);
|
|
66
74
|
__decorate([
|
|
67
75
|
sequelize_typescript_1.CreatedAt,
|
|
68
76
|
__metadata("design:type", Date)
|
|
69
|
-
],
|
|
77
|
+
], VehicleServiceMapping.prototype, "createdAt", void 0);
|
|
70
78
|
__decorate([
|
|
71
79
|
sequelize_typescript_1.UpdatedAt,
|
|
72
80
|
__metadata("design:type", Date)
|
|
73
|
-
],
|
|
81
|
+
], VehicleServiceMapping.prototype, "updatedAt", void 0);
|
|
74
82
|
__decorate([
|
|
75
83
|
sequelize_typescript_1.DeletedAt,
|
|
76
84
|
__metadata("design:type", Date)
|
|
77
|
-
],
|
|
85
|
+
], VehicleServiceMapping.prototype, "deletedAt", void 0);
|
|
78
86
|
__decorate([
|
|
79
87
|
(0, sequelize_typescript_1.BelongsTo)(() => vehicle_entity_1.Vehicle),
|
|
80
88
|
__metadata("design:type", vehicle_entity_1.Vehicle)
|
|
81
|
-
],
|
|
82
|
-
|
|
89
|
+
], VehicleServiceMapping.prototype, "vehicle", void 0);
|
|
90
|
+
__decorate([
|
|
91
|
+
(0, sequelize_typescript_1.BelongsTo)(() => service_types_entity_1.ServiceTypeEntity),
|
|
92
|
+
__metadata("design:type", service_types_entity_1.ServiceTypeEntity)
|
|
93
|
+
], VehicleServiceMapping.prototype, "serviceType", void 0);
|
|
94
|
+
exports.VehicleServiceMapping = VehicleServiceMapping = __decorate([
|
|
83
95
|
(0, sequelize_typescript_1.Table)({
|
|
84
|
-
tableName: "
|
|
96
|
+
tableName: "vehicle_service_mappings",
|
|
85
97
|
timestamps: true,
|
|
86
98
|
paranoid: true,
|
|
87
99
|
indexes: [
|
|
88
100
|
{
|
|
89
101
|
unique: true,
|
|
90
|
-
fields: ["vehicleId", "
|
|
102
|
+
fields: ["vehicleId", "serviceTypeId"],
|
|
103
|
+
name: "unique_vehicle_service_mapping",
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
fields: ["serviceTypeId", "isActive", "isAvailable"],
|
|
107
|
+
name: "idx_service_availability",
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
fields: ["vehicleId"],
|
|
111
|
+
name: "idx_vehicle_services",
|
|
91
112
|
},
|
|
92
113
|
],
|
|
93
114
|
})
|
|
94
|
-
],
|
|
95
|
-
//# sourceMappingURL=vehicle-service.entity.js.map
|
|
115
|
+
], VehicleServiceMapping);
|
|
116
|
+
//# sourceMappingURL=vehicle-service-mapping.entity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vehicle-service-mapping.entity.js","sourceRoot":"","sources":["../../src/entities/vehicle-service-mapping.entity.ts"],"names":[],"mappings":";AAAA,gDAAgD;AAChD,iCAAiC;AACjC,gDAAgD;;;;;;;;;;;;AAEhD,+DAU8B;AAC9B,qDAA2C;AAC3C,iEAA2D;AA8CpD,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,4BAG1C;CA6DA,CAAA;AAhEY,sDAAqB;AASxB;IALP,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI;QACnB,YAAY,EAAE,+BAAQ,CAAC,MAAM;QAC7B,UAAU,EAAE,IAAI;KACjB,CAAC;;iDACiB;AAOnB;IALC,IAAA,iCAAU,EAAC,GAAG,EAAE,CAAC,wBAAO,CAAC;IACzB,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI;QACnB,SAAS,EAAE,KAAK;KACjB,CAAC;;wDACgB;AAOlB;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;;4DACoB;AAMtB;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,OAAO;QACtB,YAAY,EAAE,IAAI;KACnB,CAAC;;uDACgB;AAMlB;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,OAAO;QACtB,YAAY,EAAE,IAAI;KACnB,CAAC;;0DACmB;AAMrB;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,OAAO;QACtB,YAAY,EAAE,CAAC;KAChB,CAAC;;uDACe;AAMjB;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI;QACnB,SAAS,EAAE,IAAI;KAChB,CAAC;;oDACY;AAGN;IADP,gCAAS;8BACS,IAAI;wDAAC;AAGhB;IADP,gCAAS;8BACS,IAAI;wDAAC;AAGhB;IADP,gCAAS;8BACS,IAAI;wDAAC;AAIxB;IADC,IAAA,gCAAS,EAAC,GAAG,EAAE,CAAC,wBAAO,CAAC;8BAChB,wBAAO;sDAAC;AAGjB;IADC,IAAA,gCAAS,EAAC,GAAG,EAAE,CAAC,wCAAiB,CAAC;8BACtB,wCAAiB;0DAAC;gCA/DpB,qBAAqB;IApBjC,IAAA,4BAAK,EAAC;QACL,SAAS,EAAE,0BAA0B;QACrC,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE;YACP;gBACE,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE,CAAC,WAAW,EAAE,eAAe,CAAC;gBACtC,IAAI,EAAE,gCAAgC;aACvC;YACD;gBACE,MAAM,EAAE,CAAC,eAAe,EAAE,UAAU,EAAE,aAAa,CAAC;gBACpD,IAAI,EAAE,0BAA0B;aACjC;YACD;gBACE,MAAM,EAAE,CAAC,WAAW,CAAC;gBACrB,IAAI,EAAE,sBAAsB;aAC7B;SACF;KACF,CAAC;GACW,qBAAqB,CAgEjC"}
|
|
@@ -3,7 +3,7 @@ import { DriverProfile } from "./driver.entity";
|
|
|
3
3
|
import { Trip } from "./trips.entity";
|
|
4
4
|
import { Brand } from "./brand.entity";
|
|
5
5
|
import { VehicleModel } from "./vehicle-model.entity";
|
|
6
|
-
import {
|
|
6
|
+
import { VehicleServiceMapping } from "./vehicle-service-mapping.entity";
|
|
7
7
|
import { VehicleStatus } from "../enums";
|
|
8
8
|
export interface VehicleAttributes {
|
|
9
9
|
id: string;
|
|
@@ -61,6 +61,6 @@ export declare class Vehicle extends Model<VehicleAttributes, CreateVehicleData>
|
|
|
61
61
|
brand: Brand;
|
|
62
62
|
model: VehicleModel;
|
|
63
63
|
trips: Trip[];
|
|
64
|
-
|
|
64
|
+
vehicleServiceMappings: VehicleServiceMapping[];
|
|
65
65
|
}
|
|
66
66
|
//# sourceMappingURL=vehicle.entity.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vehicle.entity.d.ts","sourceRoot":"","sources":["../../src/entities/vehicle.entity.ts"],"names":[],"mappings":"AAIA,OAAO,EAQL,KAAK,EAGN,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"vehicle.entity.d.ts","sourceRoot":"","sources":["../../src/entities/vehicle.entity.ts"],"names":[],"mappings":"AAIA,OAAO,EAQL,KAAK,EAGN,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,aAAa,CAAC;IACtB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,IAAI,CAAC;IAC1B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB;AAGD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mBAAmB,CAAC,EAAE,IAAI,CAAC;IAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,qBAKa,OAAQ,SAAQ,KAAK,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAM9D,EAAE,EAAE,MAAM,CAAC;IAOnB,QAAQ,EAAE,MAAM,CAAC;IAQjB,OAAO,EAAE,MAAM,CAAC;IAOhB,OAAO,EAAE,MAAM,CAAC;IAMhB,IAAI,EAAE,MAAM,CAAC;IAOb,YAAY,EAAE,MAAM,CAAC;IAMrB,KAAK,EAAE,MAAM,CAAC;IAMd,WAAW,EAAE,MAAM,CAAC;IAMpB,eAAe,EAAE,MAAM,CAAC;IAMxB,MAAM,EAAE,aAAa,CAAC;IAMtB,oBAAoB,EAAE,MAAM,CAAC;IAM7B,iBAAiB,EAAE,MAAM,CAAC;IAM1B,mBAAmB,EAAE,IAAI,CAAC;IAM1B,kBAAkB,EAAE,OAAO,CAAC;IAGpB,SAAS,EAAE,IAAI,CAAC;IAGhB,SAAS,EAAE,IAAI,CAAC;IAGhB,SAAS,EAAE,IAAI,CAAC;IAIxB,MAAM,EAAE,aAAa,CAAC;IAGtB,KAAK,EAAE,KAAK,CAAC;IAGb,KAAK,EAAE,YAAY,CAAC;IAGpB,KAAK,EAAE,IAAI,EAAE,CAAC;IAGd,sBAAsB,EAAE,qBAAqB,EAAE,CAAC;CACjD"}
|
|
@@ -18,7 +18,7 @@ const driver_entity_1 = require("./driver.entity");
|
|
|
18
18
|
const trips_entity_1 = require("./trips.entity");
|
|
19
19
|
const brand_entity_1 = require("./brand.entity");
|
|
20
20
|
const vehicle_model_entity_1 = require("./vehicle-model.entity");
|
|
21
|
-
const
|
|
21
|
+
const vehicle_service_mapping_entity_1 = require("./vehicle-service-mapping.entity");
|
|
22
22
|
const enums_1 = require("../enums");
|
|
23
23
|
let Vehicle = class Vehicle extends sequelize_typescript_1.Model {
|
|
24
24
|
};
|
|
@@ -155,9 +155,9 @@ __decorate([
|
|
|
155
155
|
__metadata("design:type", Array)
|
|
156
156
|
], Vehicle.prototype, "trips", void 0);
|
|
157
157
|
__decorate([
|
|
158
|
-
(0, sequelize_typescript_1.HasMany)(() =>
|
|
158
|
+
(0, sequelize_typescript_1.HasMany)(() => vehicle_service_mapping_entity_1.VehicleServiceMapping, "vehicleId"),
|
|
159
159
|
__metadata("design:type", Array)
|
|
160
|
-
], Vehicle.prototype, "
|
|
160
|
+
], Vehicle.prototype, "vehicleServiceMappings", void 0);
|
|
161
161
|
exports.Vehicle = Vehicle = __decorate([
|
|
162
162
|
(0, sequelize_typescript_1.Table)({
|
|
163
163
|
tableName: "vehicles",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vehicle.entity.js","sourceRoot":"","sources":["../../src/entities/vehicle.entity.ts"],"names":[],"mappings":";AAAA,gDAAgD;AAChD,gBAAgB;AAChB,gDAAgD;;;;;;;;;;;;AAEhD,+DAW8B;AAC9B,mDAAgD;AAChD,iDAAsC;AACtC,iDAAuC;AACvC,iEAAsD;AACtD,
|
|
1
|
+
{"version":3,"file":"vehicle.entity.js","sourceRoot":"","sources":["../../src/entities/vehicle.entity.ts"],"names":[],"mappings":";AAAA,gDAAgD;AAChD,gBAAgB;AAChB,gDAAgD;;;;;;;;;;;;AAEhD,+DAW8B;AAC9B,mDAAgD;AAChD,iDAAsC;AACtC,iDAAuC;AACvC,iEAAsD;AACtD,qFAAyE;AACzE,oCAAyC;AA6ClC,IAAM,OAAO,GAAb,MAAM,OAAQ,SAAQ,4BAA2C;CAmHvE,CAAA;AAnHY,0BAAO;AAMV;IALP,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI;QACnB,YAAY,EAAE,+BAAQ,CAAC,MAAM;QAC7B,UAAU,EAAE,IAAI;KACjB,CAAC;;mCACiB;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;;yCACe;AAQjB;IALC,IAAA,iCAAU,EAAC,GAAG,EAAE,CAAC,oBAAK,CAAC;IACvB,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI;QACnB,SAAS,EAAE,KAAK;KACjB,CAAC;;wCACc;AAOhB;IALC,IAAA,iCAAU,EAAC,GAAG,EAAE,CAAC,mCAAY,CAAC;IAC9B,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI;QACnB,SAAS,EAAE,KAAK;KACjB,CAAC;;wCACc;AAMhB;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,OAAO;QACtB,SAAS,EAAE,KAAK;KACjB,CAAC;;qCACW;AAOb;IALC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,MAAM;QACrB,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE,IAAI;KACb,CAAC;;6CACmB;AAMrB;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,MAAM;QACrB,SAAS,EAAE,KAAK;KACjB,CAAC;;sCACY;AAMd;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,MAAM;QACrB,SAAS,EAAE,KAAK;KACjB,CAAC;;4CACkB;AAMpB;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,OAAO;QACtB,SAAS,EAAE,KAAK;KACjB,CAAC;;gDACsB;AAMxB;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,qBAAa,CAAC,CAAC;QACpD,YAAY,EAAE,qBAAa,CAAC,MAAM;KACnC,CAAC;;uCACoB;AAMtB;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,MAAM;QACrB,SAAS,EAAE,IAAI;KAChB,CAAC;;qDAC2B;AAM7B;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,MAAM;QACrB,SAAS,EAAE,IAAI;KAChB,CAAC;;kDACwB;AAM1B;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI;QACnB,SAAS,EAAE,IAAI;KAChB,CAAC;8BACmB,IAAI;oDAAC;AAM1B;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,OAAO;QACtB,YAAY,EAAE,KAAK;KACpB,CAAC;;mDAC0B;AAGpB;IADP,gCAAS;8BACS,IAAI;0CAAC;AAGhB;IADP,gCAAS;8BACS,IAAI;0CAAC;AAGhB;IADP,gCAAS;8BACS,IAAI;0CAAC;AAIxB;IADC,IAAA,gCAAS,EAAC,GAAG,EAAE,CAAC,6BAAa,CAAC;8BACvB,6BAAa;uCAAC;AAGtB;IADC,IAAA,gCAAS,EAAC,GAAG,EAAE,CAAC,oBAAK,CAAC;8BAChB,oBAAK;sCAAC;AAGb;IADC,IAAA,gCAAS,EAAC,GAAG,EAAE,CAAC,mCAAY,CAAC;8BACvB,mCAAY;sCAAC;AAGpB;IADC,IAAA,8BAAO,EAAC,GAAG,EAAE,CAAC,mBAAI,EAAE,WAAW,CAAC;;sCACnB;AAGd;IADC,IAAA,8BAAO,EAAC,GAAG,EAAE,CAAC,sDAAqB,EAAE,WAAW,CAAC;;uDACF;kBAlHrC,OAAO;IALnB,IAAA,4BAAK,EAAC;QACL,SAAS,EAAE,UAAU;QACrB,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,IAAI,EAAE,eAAe;KAChC,CAAC;GACW,OAAO,CAmHnB"}
|
package/dist/enums/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/enums/index.ts"],"names":[],"mappings":"AAIA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/enums/index.ts"],"names":[],"mappings":"AAIA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC"}
|
package/dist/enums/index.js
CHANGED
|
@@ -27,5 +27,4 @@ __exportStar(require("./notification.enum"), exports);
|
|
|
27
27
|
__exportStar(require("./coupon.enum"), exports);
|
|
28
28
|
__exportStar(require("./geofence.enum"), exports);
|
|
29
29
|
__exportStar(require("./address.enum"), exports);
|
|
30
|
-
__exportStar(require("./service.enum"), exports);
|
|
31
30
|
//# sourceMappingURL=index.js.map
|
package/dist/enums/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/enums/index.ts"],"names":[],"mappings":";AAAA,gDAAgD;AAChD,yBAAyB;AACzB,gDAAgD;;;;;;;;;;;;;;;;AAEhD,8CAA4B;AAC5B,gDAA8B;AAC9B,iDAA+B;AAC/B,8CAA4B;AAC5B,iDAA+B;AAC/B,gDAA8B;AAC9B,sDAAoC;AACpC,gDAA8B;AAC9B,kDAAgC;AAChC,iDAA+B
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/enums/index.ts"],"names":[],"mappings":";AAAA,gDAAgD;AAChD,yBAAyB;AACzB,gDAAgD;;;;;;;;;;;;;;;;AAEhD,8CAA4B;AAC5B,gDAA8B;AAC9B,iDAA+B;AAC/B,8CAA4B;AAC5B,iDAA+B;AAC/B,gDAA8B;AAC9B,sDAAoC;AACpC,gDAA8B;AAC9B,kDAAgC;AAChC,iDAA+B"}
|
package/package.json
CHANGED
|
@@ -2,11 +2,27 @@
|
|
|
2
2
|
// FARE RATE MODEL
|
|
3
3
|
// =============================================
|
|
4
4
|
|
|
5
|
-
import {
|
|
5
|
+
import {
|
|
6
|
+
Column,
|
|
7
|
+
DataType,
|
|
8
|
+
Model,
|
|
9
|
+
Table,
|
|
10
|
+
ForeignKey,
|
|
11
|
+
BelongsTo,
|
|
12
|
+
} from "sequelize-typescript";
|
|
13
|
+
import { ServiceTypeEntity } from "./service-types.entity";
|
|
14
|
+
|
|
15
|
+
// Enum simple para los tipos de servicio
|
|
16
|
+
export enum ServiceType {
|
|
17
|
+
TRIP = "trip", // Viajes de pasajeros
|
|
18
|
+
FOOD = "food", // Entrega de comida
|
|
19
|
+
DELIVERY = "delivery", // Entrega de artículos/paquetes
|
|
20
|
+
}
|
|
6
21
|
|
|
7
22
|
// Interface para los atributos de la entidad
|
|
8
23
|
export interface FareRateAttributes {
|
|
9
24
|
id: string;
|
|
25
|
+
serviceTypeId: string; // NUEVO: Referencia al tipo de servicio
|
|
10
26
|
vehicleType: string;
|
|
11
27
|
baseFare: number;
|
|
12
28
|
perKilometerRate: number;
|
|
@@ -22,6 +38,7 @@ export interface FareRateAttributes {
|
|
|
22
38
|
|
|
23
39
|
// Interface para crear una nueva tarifa
|
|
24
40
|
export interface CreateFareRateData {
|
|
41
|
+
serviceTypeId: string; // NUEVO: Referencia al tipo de servicio
|
|
25
42
|
vehicleType: string;
|
|
26
43
|
baseFare: number;
|
|
27
44
|
perKilometerRate: number;
|
|
@@ -34,8 +51,15 @@ export interface CreateFareRateData {
|
|
|
34
51
|
}
|
|
35
52
|
|
|
36
53
|
@Table({
|
|
37
|
-
tableName:
|
|
54
|
+
tableName: "fare_rates",
|
|
38
55
|
timestamps: true,
|
|
56
|
+
indexes: [
|
|
57
|
+
{
|
|
58
|
+
unique: true,
|
|
59
|
+
fields: ["serviceTypeId", "vehicleType"],
|
|
60
|
+
name: "unique_fare_rate_service_vehicle",
|
|
61
|
+
},
|
|
62
|
+
],
|
|
39
63
|
})
|
|
40
64
|
export class FareRate extends Model<FareRateAttributes, CreateFareRateData> {
|
|
41
65
|
@Column({
|
|
@@ -45,6 +69,13 @@ export class FareRate extends Model<FareRateAttributes, CreateFareRateData> {
|
|
|
45
69
|
})
|
|
46
70
|
declare id: string;
|
|
47
71
|
|
|
72
|
+
@ForeignKey(() => ServiceTypeEntity)
|
|
73
|
+
@Column({
|
|
74
|
+
type: DataType.UUID,
|
|
75
|
+
allowNull: false,
|
|
76
|
+
})
|
|
77
|
+
serviceTypeId: string; // NUEVO: Referencia al tipo de servicio
|
|
78
|
+
|
|
48
79
|
@Column({
|
|
49
80
|
type: DataType.STRING,
|
|
50
81
|
allowNull: false,
|
|
@@ -98,4 +129,8 @@ export class FareRate extends Model<FareRateAttributes, CreateFareRateData> {
|
|
|
98
129
|
allowNull: true,
|
|
99
130
|
})
|
|
100
131
|
effectiveTo: Date;
|
|
132
|
+
|
|
133
|
+
// Associations
|
|
134
|
+
@BelongsTo(() => ServiceTypeEntity)
|
|
135
|
+
serviceType: ServiceTypeEntity;
|
|
101
136
|
}
|
package/src/entities/index.ts
CHANGED
|
@@ -3,7 +3,8 @@ export * from "./address.entity";
|
|
|
3
3
|
export * from "./vehicle.entity";
|
|
4
4
|
export * from "./brand.entity";
|
|
5
5
|
export * from "./vehicle-model.entity";
|
|
6
|
-
export * from "./
|
|
6
|
+
export * from "./service-types.entity";
|
|
7
|
+
export * from "./vehicle-service-mapping.entity";
|
|
7
8
|
export * from "./wallet.entity";
|
|
8
9
|
export * from "./walletTransaction.entity";
|
|
9
10
|
export * from "./driver.entity";
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
// =============================================
|
|
2
|
+
// SERVICE TYPES ENTITY
|
|
3
|
+
// =============================================
|
|
4
|
+
|
|
5
|
+
import { Column, DataType, Model, Table } from "sequelize-typescript";
|
|
6
|
+
import { ServiceType } from "./farerates.entity";
|
|
7
|
+
|
|
8
|
+
// Interface para los atributos de la entidad
|
|
9
|
+
export interface ServiceTypeAttributes {
|
|
10
|
+
id: string;
|
|
11
|
+
name: string; // Nombre interno (ej: "uberx", "uberblack")
|
|
12
|
+
displayName: string; // Nombre para mostrar (ej: "UberX", "UberBlack")
|
|
13
|
+
description: string; // Descripción del servicio
|
|
14
|
+
serviceType: ServiceType; // Tipo de servicio (viaje, comida, delivery)
|
|
15
|
+
icon: string; // Icono del servicio
|
|
16
|
+
color: string; // Color del servicio
|
|
17
|
+
isActive: boolean; // Si el servicio está activo
|
|
18
|
+
maxPassengers?: number; // Máximo número de pasajeros
|
|
19
|
+
maxLuggage?: number; // Máximo número de maletas
|
|
20
|
+
createdAt: Date;
|
|
21
|
+
updatedAt: Date;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
// Interface para crear un nuevo tipo de servicio
|
|
25
|
+
export interface CreateServiceTypeData {
|
|
26
|
+
name: string;
|
|
27
|
+
displayName: string;
|
|
28
|
+
description: string;
|
|
29
|
+
serviceType: ServiceType;
|
|
30
|
+
icon: string;
|
|
31
|
+
color: string;
|
|
32
|
+
isActive?: boolean;
|
|
33
|
+
maxPassengers?: number;
|
|
34
|
+
maxLuggage?: number;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
@Table({
|
|
38
|
+
tableName: "service_types",
|
|
39
|
+
timestamps: true,
|
|
40
|
+
indexes: [
|
|
41
|
+
{
|
|
42
|
+
unique: true,
|
|
43
|
+
fields: ["name"],
|
|
44
|
+
name: "unique_service_type_name",
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
fields: ["serviceType", "isActive"],
|
|
48
|
+
name: "idx_service_type_active",
|
|
49
|
+
},
|
|
50
|
+
],
|
|
51
|
+
})
|
|
52
|
+
export class ServiceTypeEntity extends Model<
|
|
53
|
+
ServiceTypeAttributes,
|
|
54
|
+
CreateServiceTypeData
|
|
55
|
+
> {
|
|
56
|
+
@Column({
|
|
57
|
+
type: DataType.UUID,
|
|
58
|
+
defaultValue: DataType.UUIDV4,
|
|
59
|
+
primaryKey: true,
|
|
60
|
+
})
|
|
61
|
+
declare id: string;
|
|
62
|
+
|
|
63
|
+
@Column({
|
|
64
|
+
type: DataType.STRING,
|
|
65
|
+
allowNull: false,
|
|
66
|
+
unique: true,
|
|
67
|
+
})
|
|
68
|
+
name: string;
|
|
69
|
+
|
|
70
|
+
@Column({
|
|
71
|
+
type: DataType.STRING,
|
|
72
|
+
allowNull: false,
|
|
73
|
+
})
|
|
74
|
+
displayName: string;
|
|
75
|
+
|
|
76
|
+
@Column({
|
|
77
|
+
type: DataType.TEXT,
|
|
78
|
+
allowNull: false,
|
|
79
|
+
})
|
|
80
|
+
description: string;
|
|
81
|
+
|
|
82
|
+
@Column({
|
|
83
|
+
type: DataType.ENUM(...Object.values(ServiceType)),
|
|
84
|
+
allowNull: false,
|
|
85
|
+
})
|
|
86
|
+
serviceType: ServiceType;
|
|
87
|
+
|
|
88
|
+
@Column({
|
|
89
|
+
type: DataType.STRING,
|
|
90
|
+
allowNull: false,
|
|
91
|
+
})
|
|
92
|
+
icon: string;
|
|
93
|
+
|
|
94
|
+
@Column({
|
|
95
|
+
type: DataType.STRING,
|
|
96
|
+
allowNull: false,
|
|
97
|
+
})
|
|
98
|
+
color: string;
|
|
99
|
+
|
|
100
|
+
@Column({
|
|
101
|
+
type: DataType.BOOLEAN,
|
|
102
|
+
defaultValue: true,
|
|
103
|
+
})
|
|
104
|
+
isActive: boolean;
|
|
105
|
+
|
|
106
|
+
@Column({
|
|
107
|
+
type: DataType.INTEGER,
|
|
108
|
+
allowNull: true,
|
|
109
|
+
})
|
|
110
|
+
maxPassengers: number;
|
|
111
|
+
|
|
112
|
+
@Column({
|
|
113
|
+
type: DataType.INTEGER,
|
|
114
|
+
allowNull: true,
|
|
115
|
+
})
|
|
116
|
+
maxLuggage: number;
|
|
117
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// =============================================
|
|
2
|
-
// VEHICLE SERVICE ENTITY
|
|
2
|
+
// VEHICLE SERVICE MAPPING ENTITY
|
|
3
3
|
// =============================================
|
|
4
4
|
|
|
5
5
|
import {
|
|
@@ -14,15 +14,16 @@ import {
|
|
|
14
14
|
UpdatedAt,
|
|
15
15
|
} from "sequelize-typescript";
|
|
16
16
|
import { Vehicle } from "./vehicle.entity";
|
|
17
|
-
import {
|
|
17
|
+
import { ServiceTypeEntity } from "./service-types.entity";
|
|
18
18
|
|
|
19
19
|
// Interface para los atributos de la entidad
|
|
20
|
-
export interface
|
|
20
|
+
export interface VehicleServiceMappingAttributes {
|
|
21
21
|
id: string;
|
|
22
22
|
vehicleId: string;
|
|
23
|
-
|
|
23
|
+
serviceTypeId: string; // NUEVO: Referencia al tipo de servicio
|
|
24
24
|
isActive: boolean;
|
|
25
25
|
isAvailable: boolean;
|
|
26
|
+
priority: number; // Prioridad del servicio para este vehículo (1 = más alta)
|
|
26
27
|
notes: string;
|
|
27
28
|
createdAt: Date;
|
|
28
29
|
updatedAt: Date;
|
|
@@ -30,28 +31,38 @@ export interface VehicleServiceAttributes {
|
|
|
30
31
|
}
|
|
31
32
|
|
|
32
33
|
// Interface para crear una nueva relación vehículo-servicio
|
|
33
|
-
export interface
|
|
34
|
+
export interface CreateVehicleServiceMappingData {
|
|
34
35
|
vehicleId: string;
|
|
35
|
-
|
|
36
|
+
serviceTypeId: string;
|
|
36
37
|
isActive?: boolean;
|
|
37
38
|
isAvailable?: boolean;
|
|
39
|
+
priority?: number;
|
|
38
40
|
notes?: string;
|
|
39
41
|
}
|
|
40
42
|
|
|
41
43
|
@Table({
|
|
42
|
-
tableName: "
|
|
44
|
+
tableName: "vehicle_service_mappings",
|
|
43
45
|
timestamps: true,
|
|
44
46
|
paranoid: true,
|
|
45
47
|
indexes: [
|
|
46
48
|
{
|
|
47
49
|
unique: true,
|
|
48
|
-
fields: ["vehicleId", "
|
|
50
|
+
fields: ["vehicleId", "serviceTypeId"],
|
|
51
|
+
name: "unique_vehicle_service_mapping",
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
fields: ["serviceTypeId", "isActive", "isAvailable"],
|
|
55
|
+
name: "idx_service_availability",
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
fields: ["vehicleId"],
|
|
59
|
+
name: "idx_vehicle_services",
|
|
49
60
|
},
|
|
50
61
|
],
|
|
51
62
|
})
|
|
52
|
-
export class
|
|
53
|
-
|
|
54
|
-
|
|
63
|
+
export class VehicleServiceMapping extends Model<
|
|
64
|
+
VehicleServiceMappingAttributes,
|
|
65
|
+
CreateVehicleServiceMappingData
|
|
55
66
|
> {
|
|
56
67
|
@Column({
|
|
57
68
|
type: DataType.UUID,
|
|
@@ -67,11 +78,12 @@ export class VehicleService extends Model<
|
|
|
67
78
|
})
|
|
68
79
|
vehicleId: string;
|
|
69
80
|
|
|
81
|
+
@ForeignKey(() => ServiceTypeEntity)
|
|
70
82
|
@Column({
|
|
71
|
-
type: DataType.
|
|
83
|
+
type: DataType.UUID,
|
|
72
84
|
allowNull: false,
|
|
73
85
|
})
|
|
74
|
-
|
|
86
|
+
serviceTypeId: string; // NUEVO: Referencia al tipo de servicio
|
|
75
87
|
|
|
76
88
|
@Column({
|
|
77
89
|
type: DataType.BOOLEAN,
|
|
@@ -85,6 +97,12 @@ export class VehicleService extends Model<
|
|
|
85
97
|
})
|
|
86
98
|
isAvailable: boolean; // Si el vehículo está disponible para este tipo de servicio
|
|
87
99
|
|
|
100
|
+
@Column({
|
|
101
|
+
type: DataType.INTEGER,
|
|
102
|
+
defaultValue: 1,
|
|
103
|
+
})
|
|
104
|
+
priority: number; // Prioridad del servicio (1 = más alta, 5 = más baja)
|
|
105
|
+
|
|
88
106
|
@Column({
|
|
89
107
|
type: DataType.TEXT,
|
|
90
108
|
allowNull: true,
|
|
@@ -103,4 +121,7 @@ export class VehicleService extends Model<
|
|
|
103
121
|
// Associations
|
|
104
122
|
@BelongsTo(() => Vehicle)
|
|
105
123
|
vehicle: Vehicle;
|
|
106
|
-
|
|
124
|
+
|
|
125
|
+
@BelongsTo(() => ServiceTypeEntity)
|
|
126
|
+
serviceType: ServiceTypeEntity;
|
|
127
|
+
}
|
|
@@ -18,7 +18,7 @@ import { DriverProfile } from "./driver.entity";
|
|
|
18
18
|
import { Trip } from "./trips.entity";
|
|
19
19
|
import { Brand } from "./brand.entity";
|
|
20
20
|
import { VehicleModel } from "./vehicle-model.entity";
|
|
21
|
-
import {
|
|
21
|
+
import { VehicleServiceMapping } from "./vehicle-service-mapping.entity";
|
|
22
22
|
import { VehicleStatus } from "../enums";
|
|
23
23
|
|
|
24
24
|
// Interface para los atributos de la entidad
|
|
@@ -177,6 +177,6 @@ export class Vehicle extends Model<VehicleAttributes, CreateVehicleData> {
|
|
|
177
177
|
@HasMany(() => Trip, "vehicleId")
|
|
178
178
|
trips: Trip[];
|
|
179
179
|
|
|
180
|
-
@HasMany(() =>
|
|
181
|
-
|
|
180
|
+
@HasMany(() => VehicleServiceMapping, "vehicleId")
|
|
181
|
+
vehicleServiceMappings: VehicleServiceMapping[];
|
|
182
182
|
}
|
package/src/enums/index.ts
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"vehicle-service.entity.d.ts","sourceRoot":"","sources":["../../src/entities/vehicle-service.entity.ts"],"names":[],"mappings":"AAIA,OAAO,EAOL,KAAK,EAGN,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAGvC,MAAM,WAAW,wBAAwB;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB;AAGD,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qBAWa,cAAe,SAAQ,KAAK,CACvC,wBAAwB,EACxB,wBAAwB,CACzB;IAMS,EAAE,EAAE,MAAM,CAAC;IAOnB,SAAS,EAAE,MAAM,CAAC;IAMlB,WAAW,EAAE,WAAW,CAAC;IAMzB,QAAQ,EAAE,OAAO,CAAC;IAMlB,WAAW,EAAE,OAAO,CAAC;IAMrB,KAAK,EAAE,MAAM,CAAC;IAGN,SAAS,EAAE,IAAI,CAAC;IAGhB,SAAS,EAAE,IAAI,CAAC;IAGhB,SAAS,EAAE,IAAI,CAAC;IAIxB,OAAO,EAAE,OAAO,CAAC;CAClB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"vehicle-service.entity.js","sourceRoot":"","sources":["../../src/entities/vehicle-service.entity.ts"],"names":[],"mappings":";AAAA,gDAAgD;AAChD,yBAAyB;AACzB,gDAAgD;;;;;;;;;;;;AAEhD,+DAU8B;AAC9B,qDAA2C;AAC3C,oCAAuC;AAmChC,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,4BAGnC;CAmDA,CAAA;AAtDY,wCAAc;AASjB;IALP,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI;QACnB,YAAY,EAAE,+BAAQ,CAAC,MAAM;QAC7B,UAAU,EAAE,IAAI;KACjB,CAAC;;0CACiB;AAOnB;IALC,IAAA,iCAAU,EAAC,GAAG,EAAE,CAAC,wBAAO,CAAC;IACzB,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI;QACnB,SAAS,EAAE,KAAK;KACjB,CAAC;;iDACgB;AAMlB;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,mBAAW,CAAC,CAAC;QAClD,SAAS,EAAE,KAAK;KACjB,CAAC;;mDACuB;AAMzB;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,OAAO;QACtB,YAAY,EAAE,IAAI;KACnB,CAAC;;gDACgB;AAMlB;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,OAAO;QACtB,YAAY,EAAE,IAAI;KACnB,CAAC;;mDACmB;AAMrB;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI;QACnB,SAAS,EAAE,IAAI;KAChB,CAAC;;6CACY;AAGN;IADP,gCAAS;8BACS,IAAI;iDAAC;AAGhB;IADP,gCAAS;8BACS,IAAI;iDAAC;AAGhB;IADP,gCAAS;8BACS,IAAI;iDAAC;AAIxB;IADC,IAAA,gCAAS,EAAC,GAAG,EAAE,CAAC,wBAAO,CAAC;8BAChB,wBAAO;+CAAC;yBArDN,cAAc;IAX1B,IAAA,4BAAK,EAAC;QACL,SAAS,EAAE,uBAAuB;QAClC,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE;YACP;gBACE,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE,CAAC,WAAW,EAAE,aAAa,CAAC;aACrC;SACF;KACF,CAAC;GACW,cAAc,CAsD1B"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
export declare enum ServiceType {
|
|
2
|
-
TRIPS = "trips",// Viajes de pasajeros
|
|
3
|
-
DELIVERY = "delivery",// Entrega de comida/artículos
|
|
4
|
-
PACKAGES = "packages"
|
|
5
|
-
}
|
|
6
|
-
export declare enum ServiceStatus {
|
|
7
|
-
ACTIVE = "active",
|
|
8
|
-
INACTIVE = "inactive"
|
|
9
|
-
}
|
|
10
|
-
export interface ServiceConfig {
|
|
11
|
-
type: ServiceType;
|
|
12
|
-
displayName: string;
|
|
13
|
-
description: string;
|
|
14
|
-
icon: string;
|
|
15
|
-
}
|
|
16
|
-
export declare const SERVICE_CONFIGS: Record<ServiceType, ServiceConfig>;
|
|
17
|
-
//# sourceMappingURL=service.enum.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"service.enum.d.ts","sourceRoot":"","sources":["../../src/enums/service.enum.ts"],"names":[],"mappings":"AAIA,oBAAY,WAAW;IACrB,KAAK,UAAU,CAAE,sBAAsB;IACvC,QAAQ,aAAa,CAAE,8BAA8B;IACrD,QAAQ,aAAa;CACtB;AAED,oBAAY,aAAa;IACvB,MAAM,WAAW;IACjB,QAAQ,aAAa;CACtB;AAGD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,WAAW,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAGD,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,WAAW,EAAE,aAAa,CAmB9D,CAAC"}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// =============================================
|
|
3
|
-
// SERVICE ENUMS
|
|
4
|
-
// =============================================
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.SERVICE_CONFIGS = exports.ServiceStatus = exports.ServiceType = void 0;
|
|
7
|
-
var ServiceType;
|
|
8
|
-
(function (ServiceType) {
|
|
9
|
-
ServiceType["TRIPS"] = "trips";
|
|
10
|
-
ServiceType["DELIVERY"] = "delivery";
|
|
11
|
-
ServiceType["PACKAGES"] = "packages";
|
|
12
|
-
})(ServiceType || (exports.ServiceType = ServiceType = {}));
|
|
13
|
-
var ServiceStatus;
|
|
14
|
-
(function (ServiceStatus) {
|
|
15
|
-
ServiceStatus["ACTIVE"] = "active";
|
|
16
|
-
ServiceStatus["INACTIVE"] = "inactive";
|
|
17
|
-
})(ServiceStatus || (exports.ServiceStatus = ServiceStatus = {}));
|
|
18
|
-
// Configuraciones predefinidas de servicios
|
|
19
|
-
exports.SERVICE_CONFIGS = {
|
|
20
|
-
[ServiceType.TRIPS]: {
|
|
21
|
-
type: ServiceType.TRIPS,
|
|
22
|
-
displayName: "Viajes",
|
|
23
|
-
description: "Transporte de pasajeros",
|
|
24
|
-
icon: "car",
|
|
25
|
-
},
|
|
26
|
-
[ServiceType.DELIVERY]: {
|
|
27
|
-
type: ServiceType.DELIVERY,
|
|
28
|
-
displayName: "Delivery",
|
|
29
|
-
description: "Entrega de comida y artículos",
|
|
30
|
-
icon: "delivery",
|
|
31
|
-
},
|
|
32
|
-
[ServiceType.PACKAGES]: {
|
|
33
|
-
type: ServiceType.PACKAGES,
|
|
34
|
-
displayName: "Paquetes",
|
|
35
|
-
description: "Envío de paquetes y carga",
|
|
36
|
-
icon: "package",
|
|
37
|
-
},
|
|
38
|
-
};
|
|
39
|
-
//# sourceMappingURL=service.enum.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"service.enum.js","sourceRoot":"","sources":["../../src/enums/service.enum.ts"],"names":[],"mappings":";AAAA,gDAAgD;AAChD,gBAAgB;AAChB,gDAAgD;;;AAEhD,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,8BAAe,CAAA;IACf,oCAAqB,CAAA;IACrB,oCAAqB,CAAA;AACvB,CAAC,EAJW,WAAW,2BAAX,WAAW,QAItB;AAED,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,kCAAiB,CAAA;IACjB,sCAAqB,CAAA;AACvB,CAAC,EAHW,aAAa,6BAAb,aAAa,QAGxB;AAUD,4CAA4C;AAC/B,QAAA,eAAe,GAAuC;IACjE,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE;QACnB,IAAI,EAAE,WAAW,CAAC,KAAK;QACvB,WAAW,EAAE,QAAQ;QACrB,WAAW,EAAE,yBAAyB;QACtC,IAAI,EAAE,KAAK;KACZ;IACD,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE;QACtB,IAAI,EAAE,WAAW,CAAC,QAAQ;QAC1B,WAAW,EAAE,UAAU;QACvB,WAAW,EAAE,+BAA+B;QAC5C,IAAI,EAAE,UAAU;KACjB;IACD,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE;QACtB,IAAI,EAAE,WAAW,CAAC,QAAQ;QAC1B,WAAW,EAAE,UAAU;QACvB,WAAW,EAAE,2BAA2B;QACxC,IAAI,EAAE,SAAS;KAChB;CACF,CAAC"}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
// =============================================
|
|
2
|
-
// SERVICE ENUMS
|
|
3
|
-
// =============================================
|
|
4
|
-
|
|
5
|
-
export enum ServiceType {
|
|
6
|
-
TRIPS = "trips", // Viajes de pasajeros
|
|
7
|
-
DELIVERY = "delivery", // Entrega de comida/artículos
|
|
8
|
-
PACKAGES = "packages", // Envío de paquetes
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
export enum ServiceStatus {
|
|
12
|
-
ACTIVE = "active",
|
|
13
|
-
INACTIVE = "inactive",
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
// Configuración simple de servicios
|
|
17
|
-
export interface ServiceConfig {
|
|
18
|
-
type: ServiceType;
|
|
19
|
-
displayName: string;
|
|
20
|
-
description: string;
|
|
21
|
-
icon: string;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
// Configuraciones predefinidas de servicios
|
|
25
|
-
export const SERVICE_CONFIGS: Record<ServiceType, ServiceConfig> = {
|
|
26
|
-
[ServiceType.TRIPS]: {
|
|
27
|
-
type: ServiceType.TRIPS,
|
|
28
|
-
displayName: "Viajes",
|
|
29
|
-
description: "Transporte de pasajeros",
|
|
30
|
-
icon: "car",
|
|
31
|
-
},
|
|
32
|
-
[ServiceType.DELIVERY]: {
|
|
33
|
-
type: ServiceType.DELIVERY,
|
|
34
|
-
displayName: "Delivery",
|
|
35
|
-
description: "Entrega de comida y artículos",
|
|
36
|
-
icon: "delivery",
|
|
37
|
-
},
|
|
38
|
-
[ServiceType.PACKAGES]: {
|
|
39
|
-
type: ServiceType.PACKAGES,
|
|
40
|
-
displayName: "Paquetes",
|
|
41
|
-
description: "Envío de paquetes y carga",
|
|
42
|
-
icon: "package",
|
|
43
|
-
},
|
|
44
|
-
};
|