uaxi-shared-entities 1.0.0

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 (218) hide show
  1. package/README.md +136 -0
  2. package/dist/config/database.config.d.ts +3 -0
  3. package/dist/config/database.config.d.ts.map +1 -0
  4. package/dist/config/database.config.js +21 -0
  5. package/dist/config/database.config.js.map +1 -0
  6. package/dist/config/index.d.ts +2 -0
  7. package/dist/config/index.d.ts.map +1 -0
  8. package/dist/config/index.js +18 -0
  9. package/dist/config/index.js.map +1 -0
  10. package/dist/entities/address.entity.d.ts +64 -0
  11. package/dist/entities/address.entity.d.ts.map +1 -0
  12. package/dist/entities/address.entity.js +254 -0
  13. package/dist/entities/address.entity.js.map +1 -0
  14. package/dist/entities/brand.entity.d.ts +16 -0
  15. package/dist/entities/brand.entity.d.ts.map +1 -0
  16. package/dist/entities/brand.entity.js +95 -0
  17. package/dist/entities/brand.entity.js.map +1 -0
  18. package/dist/entities/camping_coupons.entity.d.ts +13 -0
  19. package/dist/entities/camping_coupons.entity.d.ts.map +1 -0
  20. package/dist/entities/camping_coupons.entity.js +74 -0
  21. package/dist/entities/camping_coupons.entity.js.map +1 -0
  22. package/dist/entities/coupon.entity.d.ts +50 -0
  23. package/dist/entities/coupon.entity.d.ts.map +1 -0
  24. package/dist/entities/coupon.entity.js +227 -0
  25. package/dist/entities/coupon.entity.js.map +1 -0
  26. package/dist/entities/coupon_usages.entity.d.ts +28 -0
  27. package/dist/entities/coupon_usages.entity.d.ts.map +1 -0
  28. package/dist/entities/coupon_usages.entity.js +136 -0
  29. package/dist/entities/coupon_usages.entity.js.map +1 -0
  30. package/dist/entities/coupon_user_mappings.entity.d.ts +18 -0
  31. package/dist/entities/coupon_user_mappings.entity.d.ts.map +1 -0
  32. package/dist/entities/coupon_user_mappings.entity.js +108 -0
  33. package/dist/entities/coupon_user_mappings.entity.js.map +1 -0
  34. package/dist/entities/driver.entity.d.ts +46 -0
  35. package/dist/entities/driver.entity.d.ts.map +1 -0
  36. package/dist/entities/driver.entity.js +157 -0
  37. package/dist/entities/driver.entity.js.map +1 -0
  38. package/dist/entities/farerates.entity.d.ts +14 -0
  39. package/dist/entities/farerates.entity.d.ts.map +1 -0
  40. package/dist/entities/farerates.entity.js +97 -0
  41. package/dist/entities/farerates.entity.js.map +1 -0
  42. package/dist/entities/geofence.entity.d.ts +23 -0
  43. package/dist/entities/geofence.entity.d.ts.map +1 -0
  44. package/dist/entities/geofence.entity.js +120 -0
  45. package/dist/entities/geofence.entity.js.map +1 -0
  46. package/dist/entities/index.d.ts +24 -0
  47. package/dist/entities/index.d.ts.map +1 -0
  48. package/dist/entities/index.js +40 -0
  49. package/dist/entities/index.js.map +1 -0
  50. package/dist/entities/notifications.entity.d.ts +25 -0
  51. package/dist/entities/notifications.entity.d.ts.map +1 -0
  52. package/dist/entities/notifications.entity.js +101 -0
  53. package/dist/entities/notifications.entity.js.map +1 -0
  54. package/dist/entities/payments.entity.d.ts +30 -0
  55. package/dist/entities/payments.entity.d.ts.map +1 -0
  56. package/dist/entities/payments.entity.js +123 -0
  57. package/dist/entities/payments.entity.js.map +1 -0
  58. package/dist/entities/promotion_camping.d.ts +26 -0
  59. package/dist/entities/promotion_camping.d.ts.map +1 -0
  60. package/dist/entities/promotion_camping.js +131 -0
  61. package/dist/entities/promotion_camping.js.map +1 -0
  62. package/dist/entities/raitings.entity.d.ts +15 -0
  63. package/dist/entities/raitings.entity.d.ts.map +1 -0
  64. package/dist/entities/raitings.entity.js +90 -0
  65. package/dist/entities/raitings.entity.js.map +1 -0
  66. package/dist/entities/recent_serch.entity.d.ts +16 -0
  67. package/dist/entities/recent_serch.entity.d.ts.map +1 -0
  68. package/dist/entities/recent_serch.entity.js +107 -0
  69. package/dist/entities/recent_serch.entity.js.map +1 -0
  70. package/dist/entities/roles.entity.d.ts +11 -0
  71. package/dist/entities/roles.entity.d.ts.map +1 -0
  72. package/dist/entities/roles.entity.js +66 -0
  73. package/dist/entities/roles.entity.js.map +1 -0
  74. package/dist/entities/supportticket.entity.d.ts +30 -0
  75. package/dist/entities/supportticket.entity.d.ts.map +1 -0
  76. package/dist/entities/supportticket.entity.js +123 -0
  77. package/dist/entities/supportticket.entity.js.map +1 -0
  78. package/dist/entities/trip-route-change.entity.d.ts +49 -0
  79. package/dist/entities/trip-route-change.entity.d.ts.map +1 -0
  80. package/dist/entities/trip-route-change.entity.js +228 -0
  81. package/dist/entities/trip-route-change.entity.js.map +1 -0
  82. package/dist/entities/trip-stop.entity.d.ts +44 -0
  83. package/dist/entities/trip-stop.entity.d.ts.map +1 -0
  84. package/dist/entities/trip-stop.entity.js +232 -0
  85. package/dist/entities/trip-stop.entity.js.map +1 -0
  86. package/dist/entities/triplocation.entity.d.ts +15 -0
  87. package/dist/entities/triplocation.entity.d.ts.map +1 -0
  88. package/dist/entities/triplocation.entity.js +110 -0
  89. package/dist/entities/triplocation.entity.js.map +1 -0
  90. package/dist/entities/trips.entity.d.ts +64 -0
  91. package/dist/entities/trips.entity.d.ts.map +1 -0
  92. package/dist/entities/trips.entity.js +331 -0
  93. package/dist/entities/trips.entity.js.map +1 -0
  94. package/dist/entities/user.entity.d.ts +54 -0
  95. package/dist/entities/user.entity.d.ts.map +1 -0
  96. package/dist/entities/user.entity.js +199 -0
  97. package/dist/entities/user.entity.js.map +1 -0
  98. package/dist/entities/userCard.entity.d.ts +45 -0
  99. package/dist/entities/userCard.entity.d.ts.map +1 -0
  100. package/dist/entities/userCard.entity.js +143 -0
  101. package/dist/entities/userCard.entity.js.map +1 -0
  102. package/dist/entities/vehicle-model.entity.d.ts +22 -0
  103. package/dist/entities/vehicle-model.entity.d.ts.map +1 -0
  104. package/dist/entities/vehicle-model.entity.js +128 -0
  105. package/dist/entities/vehicle-model.entity.js.map +1 -0
  106. package/dist/entities/vehicle.entity.d.ts +34 -0
  107. package/dist/entities/vehicle.entity.d.ts.map +1 -0
  108. package/dist/entities/vehicle.entity.js +168 -0
  109. package/dist/entities/vehicle.entity.js.map +1 -0
  110. package/dist/entities/wallet.entity.d.ts +23 -0
  111. package/dist/entities/wallet.entity.d.ts.map +1 -0
  112. package/dist/entities/wallet.entity.js +116 -0
  113. package/dist/entities/wallet.entity.js.map +1 -0
  114. package/dist/entities/walletTransaction.entity.d.ts +52 -0
  115. package/dist/entities/walletTransaction.entity.d.ts.map +1 -0
  116. package/dist/entities/walletTransaction.entity.js +183 -0
  117. package/dist/entities/walletTransaction.entity.js.map +1 -0
  118. package/dist/enums/address.enum.d.ts +7 -0
  119. package/dist/enums/address.enum.d.ts.map +1 -0
  120. package/dist/enums/address.enum.js +11 -0
  121. package/dist/enums/address.enum.js.map +1 -0
  122. package/dist/enums/coupon.enum.d.ts +32 -0
  123. package/dist/enums/coupon.enum.d.ts.map +1 -0
  124. package/dist/enums/coupon.enum.js +43 -0
  125. package/dist/enums/coupon.enum.js.map +1 -0
  126. package/dist/enums/driver.enum.d.ts +7 -0
  127. package/dist/enums/driver.enum.d.ts.map +1 -0
  128. package/dist/enums/driver.enum.js +14 -0
  129. package/dist/enums/driver.enum.js.map +1 -0
  130. package/dist/enums/geofence.enum.d.ts +9 -0
  131. package/dist/enums/geofence.enum.d.ts.map +1 -0
  132. package/dist/enums/geofence.enum.js +16 -0
  133. package/dist/enums/geofence.enum.js.map +1 -0
  134. package/dist/enums/index.d.ts +10 -0
  135. package/dist/enums/index.d.ts.map +1 -0
  136. package/dist/enums/index.js +29 -0
  137. package/dist/enums/index.js.map +1 -0
  138. package/dist/enums/notification.enum.d.ts +12 -0
  139. package/dist/enums/notification.enum.d.ts.map +1 -0
  140. package/dist/enums/notification.enum.js +19 -0
  141. package/dist/enums/notification.enum.js.map +1 -0
  142. package/dist/enums/payment.enum.d.ts +14 -0
  143. package/dist/enums/payment.enum.d.ts.map +1 -0
  144. package/dist/enums/payment.enum.js +22 -0
  145. package/dist/enums/payment.enum.js.map +1 -0
  146. package/dist/enums/trip.enum.d.ts +9 -0
  147. package/dist/enums/trip.enum.d.ts.map +1 -0
  148. package/dist/enums/trip.enum.js +16 -0
  149. package/dist/enums/trip.enum.js.map +1 -0
  150. package/dist/enums/user.enum.d.ts +7 -0
  151. package/dist/enums/user.enum.d.ts.map +1 -0
  152. package/dist/enums/user.enum.js +14 -0
  153. package/dist/enums/user.enum.js.map +1 -0
  154. package/dist/enums/vehicle.enum.d.ts +6 -0
  155. package/dist/enums/vehicle.enum.d.ts.map +1 -0
  156. package/dist/enums/vehicle.enum.js +13 -0
  157. package/dist/enums/vehicle.enum.js.map +1 -0
  158. package/dist/enums/wallet.enum.d.ts +33 -0
  159. package/dist/enums/wallet.enum.d.ts.map +1 -0
  160. package/dist/enums/wallet.enum.js +43 -0
  161. package/dist/enums/wallet.enum.js.map +1 -0
  162. package/dist/index.d.ts +5 -0
  163. package/dist/index.d.ts.map +1 -0
  164. package/dist/index.js +28 -0
  165. package/dist/index.js.map +1 -0
  166. package/dist/types/common.types.d.ts +34 -0
  167. package/dist/types/common.types.d.ts.map +1 -0
  168. package/dist/types/common.types.js +6 -0
  169. package/dist/types/common.types.js.map +1 -0
  170. package/dist/types/index.d.ts +2 -0
  171. package/dist/types/index.d.ts.map +1 -0
  172. package/dist/types/index.js +21 -0
  173. package/dist/types/index.js.map +1 -0
  174. package/package.json +37 -0
  175. package/src/config/database.config.ts +39 -0
  176. package/src/config/index.ts +1 -0
  177. package/src/entities/address.entity.ts +239 -0
  178. package/src/entities/brand.entity.ts +87 -0
  179. package/src/entities/camping_coupons.entity.ts +60 -0
  180. package/src/entities/coupon.entity.ts +167 -0
  181. package/src/entities/coupon_usages.entity.ts +108 -0
  182. package/src/entities/coupon_user_mappings.entity.ts +89 -0
  183. package/src/entities/driver.entity.ts +151 -0
  184. package/src/entities/farerates.entity.ts +72 -0
  185. package/src/entities/geofence.entity.ts +88 -0
  186. package/src/entities/index.ts +27 -0
  187. package/src/entities/notifications.entity.ts +74 -0
  188. package/src/entities/payments.entity.ts +146 -0
  189. package/src/entities/promotion_camping.ts +96 -0
  190. package/src/entities/raitings.entity.ts +74 -0
  191. package/src/entities/recent_serch.entity.ts +86 -0
  192. package/src/entities/roles.entity.ts +44 -0
  193. package/src/entities/supportticket.entity.ts +104 -0
  194. package/src/entities/trip-route-change.entity.ts +196 -0
  195. package/src/entities/trip-stop.entity.ts +199 -0
  196. package/src/entities/triplocation.entity.ts +96 -0
  197. package/src/entities/trips.entity.ts +290 -0
  198. package/src/entities/user.entity.ts +170 -0
  199. package/src/entities/userCard.entity.ts +139 -0
  200. package/src/entities/vehicle-model.entity.ts +120 -0
  201. package/src/entities/vehicle.entity.ts +154 -0
  202. package/src/entities/wallet.entity.ts +104 -0
  203. package/src/entities/walletTransaction.entity.ts +103 -0
  204. package/src/enums/address.enum.ts +6 -0
  205. package/src/enums/coupon.enum.ts +39 -0
  206. package/src/enums/driver.enum.ts +10 -0
  207. package/src/enums/geofence.enum.ts +12 -0
  208. package/src/enums/index.ts +14 -0
  209. package/src/enums/notification.enum.ts +15 -0
  210. package/src/enums/payment.enum.ts +18 -0
  211. package/src/enums/trip.enum.ts +12 -0
  212. package/src/enums/user.enum.ts +10 -0
  213. package/src/enums/vehicle.enum.ts +9 -0
  214. package/src/enums/wallet.enum.ts +29 -0
  215. package/src/index.ts +15 -0
  216. package/src/types/common.types.ts +43 -0
  217. package/src/types/index.ts +5 -0
  218. package/tsconfig.json +24 -0
package/README.md ADDED
@@ -0,0 +1,136 @@
1
+ # @uaxi/shared-entities
2
+
3
+ Paquete compartido de entidades para microservicios UAXI.
4
+
5
+ ## Descripción
6
+
7
+ Este paquete centraliza todas las entidades de Sequelize, enums, tipos y configuraciones compartidas entre los microservicios de UAXI. Esto evita la duplicación de código y mantiene la consistencia de datos.
8
+
9
+ ## Instalación
10
+
11
+ ### En el paquete shared-entities:
12
+
13
+ ```bash
14
+ cd shared-entities
15
+ pnpm install
16
+ pnpm build
17
+ ```
18
+
19
+ ### En cada microservicio:
20
+
21
+ ```bash
22
+ # Agregar como dependencia local
23
+ pnpm add file:../shared-entities
24
+
25
+ # O si usas workspaces de pnpm, agregar al package.json:
26
+ {
27
+ "dependencies": {
28
+ "@uaxi/shared-entities": "workspace:*"
29
+ }
30
+ }
31
+ ```
32
+
33
+ ## Uso
34
+
35
+ ### Importar entidades:
36
+
37
+ ```typescript
38
+ import { User, Trip, DriverProfile } from "@uaxi/shared-entities";
39
+ ```
40
+
41
+ ### Importar enums:
42
+
43
+ ```typescript
44
+ import { UserStatus, TripStatus, DriverStatus } from "@uaxi/shared-entities";
45
+ ```
46
+
47
+ ### Importar configuraciones:
48
+
49
+ ```typescript
50
+ import { defaultDatabaseConfig } from "@uaxi/shared-entities";
51
+ ```
52
+
53
+ ### Importar tipos:
54
+
55
+ ```typescript
56
+ import {
57
+ GeoPoint,
58
+ PaginatedResponse,
59
+ ApiResponse,
60
+ } from "@uaxi/shared-entities";
61
+ ```
62
+
63
+ ## Estructura del Paquete
64
+
65
+ ```
66
+ shared-entities/
67
+ ├── src/
68
+ │ ├── entities/ # Entidades de Sequelize
69
+ │ ├── enums/ # Enums compartidos
70
+ │ ├── config/ # Configuraciones
71
+ │ ├── types/ # Tipos e interfaces
72
+ │ └── index.ts # Exportaciones principales
73
+ ├── dist/ # Código compilado
74
+ ├── package.json
75
+ ├── tsconfig.json
76
+ └── README.md
77
+ ```
78
+
79
+ ## Desarrollo
80
+
81
+ ### Construir el paquete:
82
+
83
+ ```bash
84
+ pnpm build
85
+ ```
86
+
87
+ ### Desarrollo con watch:
88
+
89
+ ```bash
90
+ pnpm dev
91
+ ```
92
+
93
+ ### Limpiar build:
94
+
95
+ ```bash
96
+ pnpm clean
97
+ ```
98
+
99
+ ## Migración desde Entidades Duplicadas
100
+
101
+ 1. **Instalar el paquete** en cada microservicio
102
+ 2. **Reemplazar imports** de entidades locales por imports del paquete compartido
103
+ 3. **Eliminar archivos** de entidades duplicadas
104
+ 4. **Actualizar configuraciones** de base de datos para usar la configuración compartida
105
+
106
+ ### Ejemplo de migración:
107
+
108
+ **Antes:**
109
+
110
+ ```typescript
111
+ // microservice-users/src/user/entities/user.entity.ts
112
+ import { UserStatus } from './user.enum';
113
+ export class User extends Model { ... }
114
+ ```
115
+
116
+ **Después:**
117
+
118
+ ```typescript
119
+ // microservice-users/src/user/user.service.ts
120
+ import { User, UserStatus } from "@uaxi/shared-entities";
121
+ ```
122
+
123
+ ## Ventajas
124
+
125
+ - ✅ **Consistencia**: Una sola fuente de verdad para todas las entidades
126
+ - ✅ **Mantenibilidad**: Cambios en una sola ubicación
127
+ - ✅ **Type Safety**: Tipos compartidos entre microservicios
128
+ - ✅ **DRY**: No más código duplicado
129
+ - ✅ **Versionado**: Control de versiones centralizado
130
+
131
+ ## Notas Importantes
132
+
133
+ - Siempre ejecuta `pnpm build` después de hacer cambios en las entidades
134
+ - Los microservicios deben usar la misma versión del paquete
135
+ - Las migraciones de base de datos deben ejecutarse desde un solo lugar
136
+ - Mantén la compatibilidad hacia atrás al hacer cambios
@@ -0,0 +1,3 @@
1
+ import { SequelizeModuleOptions } from '@nestjs/sequelize';
2
+ export declare const databaseConfig: SequelizeModuleOptions;
3
+ //# sourceMappingURL=database.config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database.config.d.ts","sourceRoot":"","sources":["../../src/config/database.config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,eAAO,MAAM,cAAc,EAAE,sBAgB5B,CAAC"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.databaseConfig = void 0;
4
+ exports.databaseConfig = {
5
+ dialect: 'postgres',
6
+ host: process.env.DB_HOST || 'localhost',
7
+ port: parseInt(process.env.DB_PORT || '5432'),
8
+ username: process.env.DB_USERNAME || 'postgres',
9
+ password: process.env.DB_PASSWORD || '',
10
+ database: process.env.DB_NAME || 'uaxi',
11
+ autoLoadModels: true,
12
+ synchronize: process.env.NODE_ENV !== 'production', // Solo en desarrollo
13
+ logging: process.env.NODE_ENV !== 'production' ? console.log : false,
14
+ pool: {
15
+ max: 5,
16
+ min: 0,
17
+ acquire: 30000,
18
+ idle: 10000,
19
+ },
20
+ };
21
+ //# sourceMappingURL=database.config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database.config.js","sourceRoot":"","sources":["../../src/config/database.config.ts"],"names":[],"mappings":";;;AAEa,QAAA,cAAc,GAA2B;IACpD,OAAO,EAAE,UAAU;IACnB,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,WAAW;IACxC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,MAAM,CAAC;IAC7C,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,UAAU;IAC/C,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE;IACvC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,MAAM;IACvC,cAAc,EAAE,IAAI;IACpB,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,qBAAqB;IACzE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;IACpE,IAAI,EAAE;QACJ,GAAG,EAAE,CAAC;QACN,GAAG,EAAE,CAAC;QACN,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,KAAK;KACZ;CACF,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./database.config";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./database.config"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC"}
@@ -0,0 +1,64 @@
1
+ import { Model } from 'sequelize-typescript';
2
+ import { User } from './user.entity';
3
+ import { Trip } from './trips.entity';
4
+ export declare enum AddressType {
5
+ HOME = "home",
6
+ WORK = "work",
7
+ FAVORITE = "favorite",
8
+ OTHER = "other"
9
+ }
10
+ export interface CreateAddressData {
11
+ userId: string;
12
+ type: AddressType;
13
+ label?: string;
14
+ address: string;
15
+ streetNumber?: string;
16
+ streetName?: string;
17
+ neighborhood?: string;
18
+ city?: string;
19
+ state?: string;
20
+ country?: string;
21
+ postalCode?: string;
22
+ location?: any;
23
+ latitude: number;
24
+ longitude: number;
25
+ apartmentNumber?: string;
26
+ floor?: string;
27
+ buildingName?: string;
28
+ reference?: string;
29
+ placeId?: string;
30
+ isDefault?: boolean;
31
+ metadata?: any;
32
+ }
33
+ export declare class UserAddress extends Model<UserAddress, CreateAddressData> {
34
+ id: string;
35
+ userId: string;
36
+ type: AddressType;
37
+ label: string;
38
+ address: string;
39
+ streetNumber: string;
40
+ streetName: string;
41
+ neighborhood: string;
42
+ city: string;
43
+ state: string;
44
+ country: string;
45
+ postalCode: string;
46
+ location: any;
47
+ latitude: number;
48
+ longitude: number;
49
+ apartmentNumber: string;
50
+ floor: string;
51
+ buildingName: string;
52
+ reference: string;
53
+ placeId: string;
54
+ isActive: boolean;
55
+ isDefault: boolean;
56
+ usageCount: number;
57
+ lastUsedAt: Date;
58
+ metadata: any;
59
+ user: User;
60
+ pickupTrips: Trip[];
61
+ destinationTrips: Trip[];
62
+ static validateDefaultAddress(instance: UserAddress): Promise<void>;
63
+ }
64
+ //# sourceMappingURL=address.entity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"address.entity.d.ts","sourceRoot":"","sources":["../../src/entities/address.entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,EAEN,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAGtC,oBAAY,WAAW;IACrB,IAAI,SAAS;IACb,IAAI,SAAS;IACb,QAAQ,aAAa;IACrB,KAAK,UAAU;CAChB;AAGD,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,GAAG,CAAC;CAChB;AAED,qBAea,WAAY,SAAQ,KAAK,CAAC,WAAW,EAAE,iBAAiB,CAAC;IAM5D,EAAE,EAAE,MAAM,CAAC;IAOnB,MAAM,EAAE,MAAM,CAAC;IAMf,IAAI,EAAE,WAAW,CAAC;IAMlB,KAAK,EAAE,MAAM,CAAC;IAMd,OAAO,EAAE,MAAM,CAAC;IAMhB,YAAY,EAAE,MAAM,CAAC;IAMrB,UAAU,EAAE,MAAM,CAAC;IAMnB,YAAY,EAAE,MAAM,CAAC;IAMrB,IAAI,EAAE,MAAM,CAAC;IAMb,KAAK,EAAE,MAAM,CAAC;IAMd,OAAO,EAAE,MAAM,CAAC;IAMhB,UAAU,EAAE,MAAM,CAAC;IAOnB,QAAQ,EAAE,GAAG,CAAC;IAMd,QAAQ,EAAE,MAAM,CAAC;IAMjB,SAAS,EAAE,MAAM,CAAC;IAMlB,eAAe,EAAE,MAAM,CAAC;IAMxB,KAAK,EAAE,MAAM,CAAC;IAMd,YAAY,EAAE,MAAM,CAAC;IAMrB,SAAS,EAAE,MAAM,CAAC;IAMlB,OAAO,EAAE,MAAM,CAAC;IAMhB,QAAQ,EAAE,OAAO,CAAC;IAMlB,SAAS,EAAE,OAAO,CAAC;IAMnB,UAAU,EAAE,MAAM,CAAC;IAMnB,UAAU,EAAE,IAAI,CAAC;IAMjB,QAAQ,EAAE,GAAG,CAAC;IAId,IAAI,EAAE,IAAI,CAAC;IAGX,WAAW,EAAE,IAAI,EAAE,CAAC;IAGpB,gBAAgB,EAAE,IAAI,EAAE,CAAC;WAKZ,sBAAsB,CAAC,QAAQ,EAAE,WAAW;CAe1D"}
@@ -0,0 +1,254 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ 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;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var UserAddress_1;
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.UserAddress = exports.AddressType = void 0;
14
+ const sequelize_typescript_1 = require("sequelize-typescript");
15
+ const user_entity_1 = require("./user.entity");
16
+ const trips_entity_1 = require("./trips.entity");
17
+ const sequelize_1 = require("sequelize");
18
+ var AddressType;
19
+ (function (AddressType) {
20
+ AddressType["HOME"] = "home";
21
+ AddressType["WORK"] = "work";
22
+ AddressType["FAVORITE"] = "favorite";
23
+ AddressType["OTHER"] = "other";
24
+ })(AddressType || (exports.AddressType = AddressType = {}));
25
+ let UserAddress = UserAddress_1 = class UserAddress extends sequelize_typescript_1.Model {
26
+ // Validaciones
27
+ static async validateDefaultAddress(instance) {
28
+ if (instance.isDefault) {
29
+ // Si esta dirección se marca como default, desmarcar otras del mismo tipo
30
+ await UserAddress_1.update({ isDefault: false }, {
31
+ where: {
32
+ userId: instance.userId,
33
+ type: instance.type,
34
+ id: { [sequelize_1.Op.ne]: instance.id },
35
+ },
36
+ });
37
+ }
38
+ }
39
+ };
40
+ exports.UserAddress = UserAddress;
41
+ __decorate([
42
+ (0, sequelize_typescript_1.Column)({
43
+ type: sequelize_typescript_1.DataType.UUID,
44
+ defaultValue: sequelize_typescript_1.DataType.UUIDV4,
45
+ primaryKey: true,
46
+ }),
47
+ __metadata("design:type", String)
48
+ ], UserAddress.prototype, "id", void 0);
49
+ __decorate([
50
+ (0, sequelize_typescript_1.ForeignKey)(() => user_entity_1.User),
51
+ (0, sequelize_typescript_1.Column)({
52
+ type: sequelize_typescript_1.DataType.UUID,
53
+ allowNull: false,
54
+ }),
55
+ __metadata("design:type", String)
56
+ ], UserAddress.prototype, "userId", void 0);
57
+ __decorate([
58
+ (0, sequelize_typescript_1.Column)({
59
+ type: sequelize_typescript_1.DataType.ENUM(...Object.values(AddressType)),
60
+ allowNull: false,
61
+ }),
62
+ __metadata("design:type", String)
63
+ ], UserAddress.prototype, "type", void 0);
64
+ __decorate([
65
+ (0, sequelize_typescript_1.Column)({
66
+ type: sequelize_typescript_1.DataType.STRING,
67
+ allowNull: true,
68
+ }),
69
+ __metadata("design:type", String)
70
+ ], UserAddress.prototype, "label", void 0);
71
+ __decorate([
72
+ (0, sequelize_typescript_1.Column)({
73
+ type: sequelize_typescript_1.DataType.STRING,
74
+ allowNull: false,
75
+ }),
76
+ __metadata("design:type", String)
77
+ ], UserAddress.prototype, "address", void 0);
78
+ __decorate([
79
+ (0, sequelize_typescript_1.Column)({
80
+ type: sequelize_typescript_1.DataType.STRING,
81
+ allowNull: true,
82
+ }),
83
+ __metadata("design:type", String)
84
+ ], UserAddress.prototype, "streetNumber", void 0);
85
+ __decorate([
86
+ (0, sequelize_typescript_1.Column)({
87
+ type: sequelize_typescript_1.DataType.STRING,
88
+ allowNull: true,
89
+ }),
90
+ __metadata("design:type", String)
91
+ ], UserAddress.prototype, "streetName", void 0);
92
+ __decorate([
93
+ (0, sequelize_typescript_1.Column)({
94
+ type: sequelize_typescript_1.DataType.STRING,
95
+ allowNull: true,
96
+ }),
97
+ __metadata("design:type", String)
98
+ ], UserAddress.prototype, "neighborhood", void 0);
99
+ __decorate([
100
+ (0, sequelize_typescript_1.Column)({
101
+ type: sequelize_typescript_1.DataType.STRING,
102
+ allowNull: true,
103
+ }),
104
+ __metadata("design:type", String)
105
+ ], UserAddress.prototype, "city", void 0);
106
+ __decorate([
107
+ (0, sequelize_typescript_1.Column)({
108
+ type: sequelize_typescript_1.DataType.STRING,
109
+ allowNull: true,
110
+ }),
111
+ __metadata("design:type", String)
112
+ ], UserAddress.prototype, "state", void 0);
113
+ __decorate([
114
+ (0, sequelize_typescript_1.Column)({
115
+ type: sequelize_typescript_1.DataType.STRING,
116
+ allowNull: true,
117
+ }),
118
+ __metadata("design:type", String)
119
+ ], UserAddress.prototype, "country", void 0);
120
+ __decorate([
121
+ (0, sequelize_typescript_1.Column)({
122
+ type: sequelize_typescript_1.DataType.STRING,
123
+ allowNull: true,
124
+ }),
125
+ __metadata("design:type", String)
126
+ ], UserAddress.prototype, "postalCode", void 0);
127
+ __decorate([
128
+ (0, sequelize_typescript_1.Column)({
129
+ type: sequelize_typescript_1.DataType.GEOMETRY('POINT', 4326),
130
+ allowNull: false,
131
+ }),
132
+ __metadata("design:type", Object)
133
+ ], UserAddress.prototype, "location", void 0);
134
+ __decorate([
135
+ (0, sequelize_typescript_1.Column)({
136
+ type: sequelize_typescript_1.DataType.DOUBLE,
137
+ allowNull: false,
138
+ }),
139
+ __metadata("design:type", Number)
140
+ ], UserAddress.prototype, "latitude", void 0);
141
+ __decorate([
142
+ (0, sequelize_typescript_1.Column)({
143
+ type: sequelize_typescript_1.DataType.DOUBLE,
144
+ allowNull: false,
145
+ }),
146
+ __metadata("design:type", Number)
147
+ ], UserAddress.prototype, "longitude", void 0);
148
+ __decorate([
149
+ (0, sequelize_typescript_1.Column)({
150
+ type: sequelize_typescript_1.DataType.STRING,
151
+ allowNull: true,
152
+ }),
153
+ __metadata("design:type", String)
154
+ ], UserAddress.prototype, "apartmentNumber", void 0);
155
+ __decorate([
156
+ (0, sequelize_typescript_1.Column)({
157
+ type: sequelize_typescript_1.DataType.STRING,
158
+ allowNull: true,
159
+ }),
160
+ __metadata("design:type", String)
161
+ ], UserAddress.prototype, "floor", void 0);
162
+ __decorate([
163
+ (0, sequelize_typescript_1.Column)({
164
+ type: sequelize_typescript_1.DataType.STRING,
165
+ allowNull: true,
166
+ }),
167
+ __metadata("design:type", String)
168
+ ], UserAddress.prototype, "buildingName", void 0);
169
+ __decorate([
170
+ (0, sequelize_typescript_1.Column)({
171
+ type: sequelize_typescript_1.DataType.STRING,
172
+ allowNull: true,
173
+ }),
174
+ __metadata("design:type", String)
175
+ ], UserAddress.prototype, "reference", void 0);
176
+ __decorate([
177
+ (0, sequelize_typescript_1.Column)({
178
+ type: sequelize_typescript_1.DataType.STRING,
179
+ allowNull: true,
180
+ }),
181
+ __metadata("design:type", String)
182
+ ], UserAddress.prototype, "placeId", void 0);
183
+ __decorate([
184
+ (0, sequelize_typescript_1.Column)({
185
+ type: sequelize_typescript_1.DataType.BOOLEAN,
186
+ defaultValue: true,
187
+ }),
188
+ __metadata("design:type", Boolean)
189
+ ], UserAddress.prototype, "isActive", void 0);
190
+ __decorate([
191
+ (0, sequelize_typescript_1.Column)({
192
+ type: sequelize_typescript_1.DataType.BOOLEAN,
193
+ defaultValue: false,
194
+ }),
195
+ __metadata("design:type", Boolean)
196
+ ], UserAddress.prototype, "isDefault", void 0);
197
+ __decorate([
198
+ (0, sequelize_typescript_1.Column)({
199
+ type: sequelize_typescript_1.DataType.INTEGER,
200
+ defaultValue: 0,
201
+ }),
202
+ __metadata("design:type", Number)
203
+ ], UserAddress.prototype, "usageCount", void 0);
204
+ __decorate([
205
+ (0, sequelize_typescript_1.Column)({
206
+ type: sequelize_typescript_1.DataType.DATE,
207
+ allowNull: true,
208
+ }),
209
+ __metadata("design:type", Date)
210
+ ], UserAddress.prototype, "lastUsedAt", void 0);
211
+ __decorate([
212
+ (0, sequelize_typescript_1.Column)({
213
+ type: sequelize_typescript_1.DataType.JSON,
214
+ allowNull: true,
215
+ }),
216
+ __metadata("design:type", Object)
217
+ ], UserAddress.prototype, "metadata", void 0);
218
+ __decorate([
219
+ (0, sequelize_typescript_1.BelongsTo)(() => user_entity_1.User),
220
+ __metadata("design:type", user_entity_1.User)
221
+ ], UserAddress.prototype, "user", void 0);
222
+ __decorate([
223
+ (0, sequelize_typescript_1.HasMany)(() => trips_entity_1.Trip, 'pickupAddressId'),
224
+ __metadata("design:type", Array)
225
+ ], UserAddress.prototype, "pickupTrips", void 0);
226
+ __decorate([
227
+ (0, sequelize_typescript_1.HasMany)(() => trips_entity_1.Trip, 'destinationAddressId'),
228
+ __metadata("design:type", Array)
229
+ ], UserAddress.prototype, "destinationTrips", void 0);
230
+ __decorate([
231
+ sequelize_typescript_1.BeforeCreate,
232
+ sequelize_typescript_1.BeforeUpdate,
233
+ __metadata("design:type", Function),
234
+ __metadata("design:paramtypes", [UserAddress]),
235
+ __metadata("design:returntype", Promise)
236
+ ], UserAddress, "validateDefaultAddress", null);
237
+ exports.UserAddress = UserAddress = UserAddress_1 = __decorate([
238
+ (0, sequelize_typescript_1.Table)({
239
+ tableName: 'user_addresses',
240
+ timestamps: true,
241
+ indexes: [
242
+ {
243
+ name: 'user_addresses_location_idx',
244
+ using: 'GIST',
245
+ fields: ['location'],
246
+ },
247
+ {
248
+ name: 'user_addresses_user_type_idx',
249
+ fields: ['userId', 'type'],
250
+ },
251
+ ],
252
+ })
253
+ ], UserAddress);
254
+ //# sourceMappingURL=address.entity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"address.entity.js","sourceRoot":"","sources":["../../src/entities/address.entity.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { Model } from 'sequelize-typescript';
2
+ import { VehicleModel } from './vehicle-model.entity';
3
+ export declare class Brand extends Model<Brand> {
4
+ id: string;
5
+ name: string;
6
+ logo: string;
7
+ description: string;
8
+ country: string;
9
+ isActive: boolean;
10
+ popularity: number;
11
+ createdAt: Date;
12
+ updatedAt: Date;
13
+ deletedAt: Date;
14
+ models: VehicleModel[];
15
+ }
16
+ //# sourceMappingURL=brand.entity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brand.entity.d.ts","sourceRoot":"","sources":["../../src/entities/brand.entity.ts"],"names":[],"mappings":"AAIA,OAAO,EAML,KAAK,EAGN,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,qBAKa,KAAM,SAAQ,KAAK,CAAC,KAAK,CAAC;IAM7B,EAAE,EAAE,MAAM,CAAC;IAOnB,IAAI,EAAE,MAAM,CAAC;IAMb,IAAI,EAAE,MAAM,CAAC;IAMb,WAAW,EAAE,MAAM,CAAC;IAMpB,OAAO,EAAE,MAAM,CAAC;IAMhB,QAAQ,EAAE,OAAO,CAAC;IAMlB,UAAU,EAAE,MAAM,CAAC;IAGX,SAAS,EAAE,IAAI,CAAC;IAGhB,SAAS,EAAE,IAAI,CAAC;IAGhB,SAAS,EAAE,IAAI,CAAC;IAIxB,MAAM,EAAE,YAAY,EAAE,CAAC;CACxB"}
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+ // =============================================
3
+ // BRAND MODEL
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.Brand = void 0;
16
+ const sequelize_typescript_1 = require("sequelize-typescript");
17
+ const vehicle_model_entity_1 = require("./vehicle-model.entity");
18
+ let Brand = class Brand extends sequelize_typescript_1.Model {
19
+ };
20
+ exports.Brand = Brand;
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
+ ], Brand.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
+ ], Brand.prototype, "name", void 0);
37
+ __decorate([
38
+ (0, sequelize_typescript_1.Column)({
39
+ type: sequelize_typescript_1.DataType.STRING,
40
+ allowNull: true,
41
+ }),
42
+ __metadata("design:type", String)
43
+ ], Brand.prototype, "logo", void 0);
44
+ __decorate([
45
+ (0, sequelize_typescript_1.Column)({
46
+ type: sequelize_typescript_1.DataType.TEXT,
47
+ allowNull: true,
48
+ }),
49
+ __metadata("design:type", String)
50
+ ], Brand.prototype, "description", void 0);
51
+ __decorate([
52
+ (0, sequelize_typescript_1.Column)({
53
+ type: sequelize_typescript_1.DataType.STRING,
54
+ allowNull: true,
55
+ }),
56
+ __metadata("design:type", String)
57
+ ], Brand.prototype, "country", void 0);
58
+ __decorate([
59
+ (0, sequelize_typescript_1.Column)({
60
+ type: sequelize_typescript_1.DataType.BOOLEAN,
61
+ defaultValue: true,
62
+ }),
63
+ __metadata("design:type", Boolean)
64
+ ], Brand.prototype, "isActive", void 0);
65
+ __decorate([
66
+ (0, sequelize_typescript_1.Column)({
67
+ type: sequelize_typescript_1.DataType.INTEGER,
68
+ defaultValue: 0,
69
+ }),
70
+ __metadata("design:type", Number)
71
+ ], Brand.prototype, "popularity", void 0);
72
+ __decorate([
73
+ sequelize_typescript_1.CreatedAt,
74
+ __metadata("design:type", Date)
75
+ ], Brand.prototype, "createdAt", void 0);
76
+ __decorate([
77
+ sequelize_typescript_1.UpdatedAt,
78
+ __metadata("design:type", Date)
79
+ ], Brand.prototype, "updatedAt", void 0);
80
+ __decorate([
81
+ sequelize_typescript_1.DeletedAt,
82
+ __metadata("design:type", Date)
83
+ ], Brand.prototype, "deletedAt", void 0);
84
+ __decorate([
85
+ (0, sequelize_typescript_1.HasMany)(() => vehicle_model_entity_1.VehicleModel, 'brandId'),
86
+ __metadata("design:type", Array)
87
+ ], Brand.prototype, "models", void 0);
88
+ exports.Brand = Brand = __decorate([
89
+ (0, sequelize_typescript_1.Table)({
90
+ tableName: 'brands',
91
+ timestamps: true,
92
+ paranoid: true,
93
+ })
94
+ ], Brand);
95
+ //# sourceMappingURL=brand.entity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brand.entity.js","sourceRoot":"","sources":["../../src/entities/brand.entity.ts"],"names":[],"mappings":";AAAA,gDAAgD;AAChD,cAAc;AACd,gDAAgD;;;;;;;;;;;;AAEhD,+DAS8B;AAC9B,iEAAsD;AAO/C,IAAM,KAAK,GAAX,MAAM,KAAM,SAAQ,4BAAY;CAyDtC,CAAA;AAzDY,sBAAK;AAMR;IALP,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI;QACnB,YAAY,EAAE,+BAAQ,CAAC,MAAM;QAC7B,UAAU,EAAE,IAAI;KACjB,CAAC;;iCACiB;AAOnB;IALC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,MAAM;QACrB,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE,IAAI;KACb,CAAC;;mCACW;AAMb;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,MAAM;QACrB,SAAS,EAAE,IAAI;KAChB,CAAC;;mCACW;AAMb;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI;QACnB,SAAS,EAAE,IAAI;KAChB,CAAC;;0CACkB;AAMpB;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,MAAM;QACrB,SAAS,EAAE,IAAI;KAChB,CAAC;;sCACc;AAMhB;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,OAAO;QACtB,YAAY,EAAE,IAAI;KACnB,CAAC;;uCACgB;AAMlB;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,OAAO;QACtB,YAAY,EAAE,CAAC;KAChB,CAAC;;yCACiB;AAGX;IADP,gCAAS;8BACS,IAAI;wCAAC;AAGhB;IADP,gCAAS;8BACS,IAAI;wCAAC;AAGhB;IADP,gCAAS;8BACS,IAAI;wCAAC;AAIxB;IADC,IAAA,8BAAO,EAAC,GAAG,EAAE,CAAC,mCAAY,EAAE,SAAS,CAAC;;qCAChB;gBAxDZ,KAAK;IALjB,IAAA,4BAAK,EAAC;QACL,SAAS,EAAE,QAAQ;QACnB,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,IAAI;KACf,CAAC;GACW,KAAK,CAyDjB"}
@@ -0,0 +1,13 @@
1
+ import { Model } from 'sequelize-typescript';
2
+ import { PromotionCampaign } from './promotion_camping';
3
+ import { Coupon } from './coupon.entity';
4
+ export declare class CampaignCoupon extends Model<CampaignCoupon> {
5
+ id: string;
6
+ campaignId: string;
7
+ couponId: string;
8
+ distributedCount: number;
9
+ redeemedCount: number;
10
+ campaign: PromotionCampaign;
11
+ coupon: Coupon;
12
+ }
13
+ //# sourceMappingURL=camping_coupons.entity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"camping_coupons.entity.d.ts","sourceRoot":"","sources":["../../src/entities/camping_coupons.entity.ts"],"names":[],"mappings":"AAIA,OAAO,EAKL,KAAK,EAEN,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,qBAIa,cAAe,SAAQ,KAAK,CAAC,cAAc,CAAC;IAM/C,EAAE,EAAE,MAAM,CAAC;IAOnB,UAAU,EAAE,MAAM,CAAC;IAOnB,QAAQ,EAAE,MAAM,CAAC;IAMjB,gBAAgB,EAAE,MAAM,CAAC;IAMzB,aAAa,EAAE,MAAM,CAAC;IAItB,QAAQ,EAAE,iBAAiB,CAAC;IAG5B,MAAM,EAAE,MAAM,CAAC;CAChB"}