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.
Files changed (38) hide show
  1. package/dist/entities/farerates.entity.d.ts +11 -1
  2. package/dist/entities/farerates.entity.d.ts.map +1 -1
  3. package/dist/entities/farerates.entity.js +29 -2
  4. package/dist/entities/farerates.entity.js.map +1 -1
  5. package/dist/entities/index.d.ts +2 -1
  6. package/dist/entities/index.d.ts.map +1 -1
  7. package/dist/entities/index.js +2 -1
  8. package/dist/entities/index.js.map +1 -1
  9. package/dist/entities/service-types.entity.d.ts +40 -0
  10. package/dist/entities/service-types.entity.d.ts.map +1 -0
  11. package/dist/entities/service-types.entity.js +110 -0
  12. package/dist/entities/service-types.entity.js.map +1 -0
  13. package/dist/entities/{vehicle-service.entity.d.ts → vehicle-service-mapping.entity.d.ts} +12 -8
  14. package/dist/entities/vehicle-service-mapping.entity.d.ts.map +1 -0
  15. package/dist/entities/{vehicle-service.entity.js → vehicle-service-mapping.entity.js} +42 -21
  16. package/dist/entities/vehicle-service-mapping.entity.js.map +1 -0
  17. package/dist/entities/vehicle.entity.d.ts +2 -2
  18. package/dist/entities/vehicle.entity.d.ts.map +1 -1
  19. package/dist/entities/vehicle.entity.js +3 -3
  20. package/dist/entities/vehicle.entity.js.map +1 -1
  21. package/dist/enums/index.d.ts +0 -1
  22. package/dist/enums/index.d.ts.map +1 -1
  23. package/dist/enums/index.js +0 -1
  24. package/dist/enums/index.js.map +1 -1
  25. package/package.json +1 -1
  26. package/src/entities/farerates.entity.ts +37 -2
  27. package/src/entities/index.ts +2 -1
  28. package/src/entities/service-types.entity.ts +117 -0
  29. package/src/entities/{vehicle-service.entity.ts → vehicle-service-mapping.entity.ts} +35 -14
  30. package/src/entities/vehicle.entity.ts +3 -3
  31. package/src/enums/index.ts +0 -1
  32. package/dist/entities/vehicle-service.entity.d.ts.map +0 -1
  33. package/dist/entities/vehicle-service.entity.js.map +0 -1
  34. package/dist/enums/service.enum.d.ts +0 -17
  35. package/dist/enums/service.enum.d.ts.map +0 -1
  36. package/dist/enums/service.enum.js +0 -39
  37. package/dist/enums/service.enum.js.map +0 -1
  38. package/src/enums/service.enum.ts +0 -44
@@ -1,6 +1,13 @@
1
- import { Model } from 'sequelize-typescript';
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,EAAoB,KAAK,EAAS,MAAM,sBAAsB,CAAC;AAGtE,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,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,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,qBAIa,QAAS,SAAQ,KAAK,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IAMjE,EAAE,EAAE,MAAM,CAAC;IAMnB,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;CACnB"}
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: 'fare_rates',
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,+DAAsE;AAmC/D,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,4BAA6C;CA6D1E,CAAA;AA7DY,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;AAMnB;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;mBA5DP,QAAQ;IAJpB,IAAA,4BAAK,EAAC;QACL,SAAS,EAAE,YAAY;QACvB,UAAU,EAAE,IAAI;KACjB,CAAC;GACW,QAAQ,CA6DpB"}
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"}
@@ -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 "./vehicle-service.entity";
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,0BAA0B,CAAC;AACzC,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"}
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"}
@@ -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("./vehicle-service.entity"), exports);
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,2DAAyC;AACzC,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"}
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 { ServiceType } from "../enums";
4
- export interface VehicleServiceAttributes {
3
+ import { ServiceTypeEntity } from "./service-types.entity";
4
+ export interface VehicleServiceMappingAttributes {
5
5
  id: string;
6
6
  vehicleId: string;
7
- serviceType: ServiceType;
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 CreateVehicleServiceData {
16
+ export interface CreateVehicleServiceMappingData {
16
17
  vehicleId: string;
17
- serviceType: ServiceType;
18
+ serviceTypeId: string;
18
19
  isActive?: boolean;
19
20
  isAvailable?: boolean;
21
+ priority?: number;
20
22
  notes?: string;
21
23
  }
22
- export declare class VehicleService extends Model<VehicleServiceAttributes, CreateVehicleServiceData> {
24
+ export declare class VehicleServiceMapping extends Model<VehicleServiceMappingAttributes, CreateVehicleServiceMappingData> {
23
25
  id: string;
24
26
  vehicleId: string;
25
- serviceType: ServiceType;
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.VehicleService = void 0;
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 enums_1 = require("../enums");
19
- let VehicleService = class VehicleService extends sequelize_typescript_1.Model {
18
+ const service_types_entity_1 = require("./service-types.entity");
19
+ let VehicleServiceMapping = class VehicleServiceMapping extends sequelize_typescript_1.Model {
20
20
  };
21
- exports.VehicleService = VehicleService;
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
- ], VehicleService.prototype, "id", void 0);
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
- ], VehicleService.prototype, "vehicleId", void 0);
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.ENUM(...Object.values(enums_1.ServiceType)),
41
+ type: sequelize_typescript_1.DataType.UUID,
41
42
  allowNull: false,
42
43
  }),
43
44
  __metadata("design:type", String)
44
- ], VehicleService.prototype, "serviceType", void 0);
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
- ], VehicleService.prototype, "isActive", void 0);
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
- ], VehicleService.prototype, "isAvailable", void 0);
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
- ], VehicleService.prototype, "notes", void 0);
73
+ ], VehicleServiceMapping.prototype, "notes", void 0);
66
74
  __decorate([
67
75
  sequelize_typescript_1.CreatedAt,
68
76
  __metadata("design:type", Date)
69
- ], VehicleService.prototype, "createdAt", void 0);
77
+ ], VehicleServiceMapping.prototype, "createdAt", void 0);
70
78
  __decorate([
71
79
  sequelize_typescript_1.UpdatedAt,
72
80
  __metadata("design:type", Date)
73
- ], VehicleService.prototype, "updatedAt", void 0);
81
+ ], VehicleServiceMapping.prototype, "updatedAt", void 0);
74
82
  __decorate([
75
83
  sequelize_typescript_1.DeletedAt,
76
84
  __metadata("design:type", Date)
77
- ], VehicleService.prototype, "deletedAt", void 0);
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
- ], VehicleService.prototype, "vehicle", void 0);
82
- exports.VehicleService = VehicleService = __decorate([
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: "vehicle_service_types",
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", "serviceType"],
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
- ], VehicleService);
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 { VehicleService } from "./vehicle-service.entity";
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
- vehicleServices: VehicleService[];
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,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,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,eAAe,EAAE,cAAc,EAAE,CAAC;CACnC"}
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 vehicle_service_entity_1 = require("./vehicle-service.entity");
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)(() => vehicle_service_entity_1.VehicleService, "vehicleId"),
158
+ (0, sequelize_typescript_1.HasMany)(() => vehicle_service_mapping_entity_1.VehicleServiceMapping, "vehicleId"),
159
159
  __metadata("design:type", Array)
160
- ], Vehicle.prototype, "vehicleServices", void 0);
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":"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"}
1
+ {"version":3,"file":"vehicle.entity.js","sourceRoot":"","sources":["../../src/entities/vehicle.entity.ts"],"names":[],"mappings":"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"}
@@ -8,5 +8,4 @@ export * from "./notification.enum";
8
8
  export * from "./coupon.enum";
9
9
  export * from "./geofence.enum";
10
10
  export * from "./address.enum";
11
- export * from "./service.enum";
12
11
  //# sourceMappingURL=index.d.ts.map
@@ -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;AAC/B,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"}
@@ -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
@@ -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;AAC/B,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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "uaxi-shared-entities",
3
- "version": "1.0.21",
3
+ "version": "1.0.22",
4
4
  "description": "Entidades compartidas para microservicios UAXI",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -2,11 +2,27 @@
2
2
  // FARE RATE MODEL
3
3
  // =============================================
4
4
 
5
- import { Column, DataType, Model, Table } from 'sequelize-typescript';
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: 'fare_rates',
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
  }
@@ -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 "./vehicle-service.entity";
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 { ServiceType } from "../enums";
17
+ import { ServiceTypeEntity } from "./service-types.entity";
18
18
 
19
19
  // Interface para los atributos de la entidad
20
- export interface VehicleServiceAttributes {
20
+ export interface VehicleServiceMappingAttributes {
21
21
  id: string;
22
22
  vehicleId: string;
23
- serviceType: ServiceType;
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 CreateVehicleServiceData {
34
+ export interface CreateVehicleServiceMappingData {
34
35
  vehicleId: string;
35
- serviceType: ServiceType;
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: "vehicle_service_types",
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", "serviceType"],
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 VehicleService extends Model<
53
- VehicleServiceAttributes,
54
- CreateVehicleServiceData
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.ENUM(...Object.values(ServiceType)),
83
+ type: DataType.UUID,
72
84
  allowNull: false,
73
85
  })
74
- serviceType: ServiceType;
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 { VehicleService } from "./vehicle-service.entity";
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(() => VehicleService, "vehicleId")
181
- vehicleServices: VehicleService[];
180
+ @HasMany(() => VehicleServiceMapping, "vehicleId")
181
+ vehicleServiceMappings: VehicleServiceMapping[];
182
182
  }
@@ -12,4 +12,3 @@ export * from "./notification.enum";
12
12
  export * from "./coupon.enum";
13
13
  export * from "./geofence.enum";
14
14
  export * from "./address.enum";
15
- export * from "./service.enum";
@@ -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
- };