@honestdigital/vehicle-service-types 1.0.0 → 1.0.2

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.

Potentially problematic release.


This version of @honestdigital/vehicle-service-types might be problematic. Click here for more details.

Files changed (57) hide show
  1. package/README.md +0 -1
  2. package/dist/config/database.d.ts +2 -6
  3. package/dist/config/database.d.ts.map +1 -1
  4. package/dist/config/redis.d.ts.map +1 -1
  5. package/dist/context.d.ts.map +1 -1
  6. package/dist/db/index.d.ts +1 -5
  7. package/dist/db/index.d.ts.map +1 -1
  8. package/dist/db/schema.d.ts +290 -31
  9. package/dist/db/schema.d.ts.map +1 -1
  10. package/dist/index.worker.d.ts +4 -0
  11. package/dist/index.worker.d.ts.map +1 -1
  12. package/dist/repositories/syncHistory.d.ts +1 -1
  13. package/dist/repositories/syncHistory.d.ts.map +1 -1
  14. package/dist/repositories/vehicleConfig.d.ts +2 -1
  15. package/dist/repositories/vehicleConfig.d.ts.map +1 -1
  16. package/dist/repositories/vehicleInventory.d.ts +13 -12
  17. package/dist/repositories/vehicleInventory.d.ts.map +1 -1
  18. package/dist/repositories/vehicleQuery.d.ts +16 -22
  19. package/dist/repositories/vehicleQuery.d.ts.map +1 -1
  20. package/dist/routers/index.d.ts +100 -51
  21. package/dist/routers/index.d.ts.map +1 -1
  22. package/dist/routers/inventory.d.ts +108 -51
  23. package/dist/routers/inventory.d.ts.map +1 -1
  24. package/dist/routers/sync.d.ts +1 -1
  25. package/dist/routers/sync.d.ts.map +1 -1
  26. package/dist/schemas/vehicle.schema.d.ts +662 -0
  27. package/dist/schemas/vehicle.schema.d.ts.map +1 -0
  28. package/dist/scripts/importUsedVehicles.d.ts +0 -7
  29. package/dist/scripts/importUsedVehicles.d.ts.map +1 -1
  30. package/dist/services/SearchQueryParser.d.ts +23 -0
  31. package/dist/services/SearchQueryParser.d.ts.map +1 -0
  32. package/dist/services/VehicleSearchService.d.ts +40 -0
  33. package/dist/services/VehicleSearchService.d.ts.map +1 -0
  34. package/dist/services/chromeImage.d.ts +9 -19
  35. package/dist/services/chromeImage.d.ts.map +1 -1
  36. package/dist/services/mmt.d.ts +0 -9
  37. package/dist/services/mmt.d.ts.map +1 -1
  38. package/dist/services/pricing.d.ts.map +1 -1
  39. package/dist/services/scheduler.d.ts +0 -38
  40. package/dist/services/scheduler.d.ts.map +1 -1
  41. package/dist/services/vehicleSqlBuilder.d.ts +43 -2
  42. package/dist/services/vehicleSqlBuilder.d.ts.map +1 -1
  43. package/dist/services/vehicleSync.d.ts.map +1 -1
  44. package/dist/services/vehicleTransformService.d.ts +33 -4
  45. package/dist/services/vehicleTransformService.d.ts.map +1 -1
  46. package/dist/trpc.d.ts +2 -2
  47. package/dist/trpc.d.ts.map +1 -1
  48. package/dist/types/filters.d.ts.map +1 -1
  49. package/dist/types/search.d.ts +442 -0
  50. package/dist/types/search.d.ts.map +1 -0
  51. package/dist/types/vehicle.d.ts +19 -115
  52. package/dist/types/vehicle.d.ts.map +1 -1
  53. package/dist/types.d.ts +4 -3
  54. package/dist/types.d.ts.map +1 -1
  55. package/dist/utilities/cache.d.ts +4 -0
  56. package/dist/utilities/cache.d.ts.map +1 -1
  57. package/package.json +10 -2
@@ -0,0 +1,442 @@
1
+ import { z } from 'zod';
2
+ import type { SortOption } from './filters';
3
+ export interface VehicleFilters {
4
+ make?: string[];
5
+ model?: string[];
6
+ trim?: string[];
7
+ year?: number[];
8
+ status?: string[];
9
+ location?: string[];
10
+ drivetrain?: string[];
11
+ doors?: number[];
12
+ fuelType?: string[];
13
+ bodyStyle?: string[];
14
+ exteriorColor?: string[];
15
+ interiorColor?: string[];
16
+ priceRange?: {
17
+ min?: number;
18
+ max?: number;
19
+ };
20
+ mileageRange?: {
21
+ min?: number;
22
+ max?: number;
23
+ };
24
+ }
25
+ export interface ApiVehicleFilters {
26
+ brand?: string[];
27
+ model?: string[];
28
+ trim?: string[];
29
+ year?: string[];
30
+ status?: string[];
31
+ location?: string[];
32
+ drivetrain?: string[];
33
+ doors?: string[];
34
+ fuelType?: string[];
35
+ bodyStyle?: string[];
36
+ exteriorColor?: string[];
37
+ interiorColor?: string[];
38
+ price?: {
39
+ min: string;
40
+ max: string;
41
+ };
42
+ mileage?: {
43
+ min: string;
44
+ max: string;
45
+ };
46
+ }
47
+ export interface SearchParams {
48
+ tenantId: string;
49
+ searchQuery?: string;
50
+ filters: VehicleFilters;
51
+ pagination: {
52
+ limit: number;
53
+ offset: number;
54
+ };
55
+ sortBy?: SortOption;
56
+ groupByModel?: boolean;
57
+ }
58
+ export interface FacetParams {
59
+ tenantId: string;
60
+ searchQuery?: string;
61
+ filters?: VehicleFilters;
62
+ }
63
+ export interface MinimalVehicle {
64
+ vin: string;
65
+ brand: string;
66
+ model: string;
67
+ trim: string;
68
+ year: number;
69
+ price: number;
70
+ mainImage?: string;
71
+ }
72
+ export interface SearchResult {
73
+ vehicles: MinimalVehicle[];
74
+ totalCount: number;
75
+ pagination: {
76
+ limit: number;
77
+ offset: number;
78
+ hasMore: boolean;
79
+ };
80
+ searchMeta?: SearchMetadata;
81
+ }
82
+ export interface SearchMetadata {
83
+ query: string;
84
+ resultCount: number;
85
+ executionTimeMs: number;
86
+ }
87
+ export declare const VehicleFiltersSchema: z.ZodObject<{
88
+ brand: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
89
+ model: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
90
+ trim: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
91
+ year: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
92
+ status: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
93
+ location: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
94
+ drivetrain: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
95
+ doors: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
96
+ fuelType: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
97
+ bodyStyle: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
98
+ exteriorColor: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
99
+ interiorColor: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
100
+ price: z.ZodOptional<z.ZodObject<{
101
+ min: z.ZodString;
102
+ max: z.ZodString;
103
+ }, "strip", z.ZodTypeAny, {
104
+ max: string;
105
+ min: string;
106
+ }, {
107
+ max: string;
108
+ min: string;
109
+ }>>;
110
+ mileage: z.ZodOptional<z.ZodObject<{
111
+ min: z.ZodString;
112
+ max: z.ZodString;
113
+ }, "strip", z.ZodTypeAny, {
114
+ max: string;
115
+ min: string;
116
+ }, {
117
+ max: string;
118
+ min: string;
119
+ }>>;
120
+ }, "strip", z.ZodTypeAny, {
121
+ trim?: string[] | undefined;
122
+ brand?: string[] | undefined;
123
+ model?: string[] | undefined;
124
+ year?: string[] | undefined;
125
+ status?: string[] | undefined;
126
+ price?: {
127
+ max: string;
128
+ min: string;
129
+ } | undefined;
130
+ mileage?: {
131
+ max: string;
132
+ min: string;
133
+ } | undefined;
134
+ location?: string[] | undefined;
135
+ fuelType?: string[] | undefined;
136
+ bodyStyle?: string[] | undefined;
137
+ exteriorColor?: string[] | undefined;
138
+ interiorColor?: string[] | undefined;
139
+ drivetrain?: string[] | undefined;
140
+ doors?: string[] | undefined;
141
+ }, {
142
+ trim?: string[] | undefined;
143
+ brand?: string[] | undefined;
144
+ model?: string[] | undefined;
145
+ year?: string[] | undefined;
146
+ status?: string[] | undefined;
147
+ price?: {
148
+ max: string;
149
+ min: string;
150
+ } | undefined;
151
+ mileage?: {
152
+ max: string;
153
+ min: string;
154
+ } | undefined;
155
+ location?: string[] | undefined;
156
+ fuelType?: string[] | undefined;
157
+ bodyStyle?: string[] | undefined;
158
+ exteriorColor?: string[] | undefined;
159
+ interiorColor?: string[] | undefined;
160
+ drivetrain?: string[] | undefined;
161
+ doors?: string[] | undefined;
162
+ }>;
163
+ export declare const sortOptionSchema: z.ZodEnum<["year_desc", "year_asc", "price_desc", "price_asc", "mileage_desc", "mileage_asc"]>;
164
+ export declare const SearchInputSchema: z.ZodObject<{
165
+ searchQuery: z.ZodOptional<z.ZodString>;
166
+ filters: z.ZodOptional<z.ZodObject<{
167
+ brand: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
168
+ model: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
169
+ trim: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
170
+ year: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
171
+ status: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
172
+ location: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
173
+ drivetrain: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
174
+ doors: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
175
+ fuelType: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
176
+ bodyStyle: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
177
+ exteriorColor: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
178
+ interiorColor: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
179
+ price: z.ZodOptional<z.ZodObject<{
180
+ min: z.ZodString;
181
+ max: z.ZodString;
182
+ }, "strip", z.ZodTypeAny, {
183
+ max: string;
184
+ min: string;
185
+ }, {
186
+ max: string;
187
+ min: string;
188
+ }>>;
189
+ mileage: z.ZodOptional<z.ZodObject<{
190
+ min: z.ZodString;
191
+ max: z.ZodString;
192
+ }, "strip", z.ZodTypeAny, {
193
+ max: string;
194
+ min: string;
195
+ }, {
196
+ max: string;
197
+ min: string;
198
+ }>>;
199
+ }, "strip", z.ZodTypeAny, {
200
+ trim?: string[] | undefined;
201
+ brand?: string[] | undefined;
202
+ model?: string[] | undefined;
203
+ year?: string[] | undefined;
204
+ status?: string[] | undefined;
205
+ price?: {
206
+ max: string;
207
+ min: string;
208
+ } | undefined;
209
+ mileage?: {
210
+ max: string;
211
+ min: string;
212
+ } | undefined;
213
+ location?: string[] | undefined;
214
+ fuelType?: string[] | undefined;
215
+ bodyStyle?: string[] | undefined;
216
+ exteriorColor?: string[] | undefined;
217
+ interiorColor?: string[] | undefined;
218
+ drivetrain?: string[] | undefined;
219
+ doors?: string[] | undefined;
220
+ }, {
221
+ trim?: string[] | undefined;
222
+ brand?: string[] | undefined;
223
+ model?: string[] | undefined;
224
+ year?: string[] | undefined;
225
+ status?: string[] | undefined;
226
+ price?: {
227
+ max: string;
228
+ min: string;
229
+ } | undefined;
230
+ mileage?: {
231
+ max: string;
232
+ min: string;
233
+ } | undefined;
234
+ location?: string[] | undefined;
235
+ fuelType?: string[] | undefined;
236
+ bodyStyle?: string[] | undefined;
237
+ exteriorColor?: string[] | undefined;
238
+ interiorColor?: string[] | undefined;
239
+ drivetrain?: string[] | undefined;
240
+ doors?: string[] | undefined;
241
+ }>>;
242
+ pagination: z.ZodDefault<z.ZodOptional<z.ZodObject<{
243
+ limit: z.ZodDefault<z.ZodNumber>;
244
+ offset: z.ZodDefault<z.ZodNumber>;
245
+ }, "strip", z.ZodTypeAny, {
246
+ limit: number;
247
+ offset: number;
248
+ }, {
249
+ limit?: number | undefined;
250
+ offset?: number | undefined;
251
+ }>>>;
252
+ sortBy: z.ZodOptional<z.ZodEnum<["year_desc", "year_asc", "price_desc", "price_asc", "mileage_desc", "mileage_asc"]>>;
253
+ groupByModel: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
254
+ }, "strip", z.ZodTypeAny, {
255
+ pagination: {
256
+ limit: number;
257
+ offset: number;
258
+ };
259
+ groupByModel: boolean;
260
+ searchQuery?: string | undefined;
261
+ filters?: {
262
+ trim?: string[] | undefined;
263
+ brand?: string[] | undefined;
264
+ model?: string[] | undefined;
265
+ year?: string[] | undefined;
266
+ status?: string[] | undefined;
267
+ price?: {
268
+ max: string;
269
+ min: string;
270
+ } | undefined;
271
+ mileage?: {
272
+ max: string;
273
+ min: string;
274
+ } | undefined;
275
+ location?: string[] | undefined;
276
+ fuelType?: string[] | undefined;
277
+ bodyStyle?: string[] | undefined;
278
+ exteriorColor?: string[] | undefined;
279
+ interiorColor?: string[] | undefined;
280
+ drivetrain?: string[] | undefined;
281
+ doors?: string[] | undefined;
282
+ } | undefined;
283
+ sortBy?: "year_desc" | "year_asc" | "price_desc" | "price_asc" | "mileage_desc" | "mileage_asc" | undefined;
284
+ }, {
285
+ searchQuery?: string | undefined;
286
+ pagination?: {
287
+ limit?: number | undefined;
288
+ offset?: number | undefined;
289
+ } | undefined;
290
+ filters?: {
291
+ trim?: string[] | undefined;
292
+ brand?: string[] | undefined;
293
+ model?: string[] | undefined;
294
+ year?: string[] | undefined;
295
+ status?: string[] | undefined;
296
+ price?: {
297
+ max: string;
298
+ min: string;
299
+ } | undefined;
300
+ mileage?: {
301
+ max: string;
302
+ min: string;
303
+ } | undefined;
304
+ location?: string[] | undefined;
305
+ fuelType?: string[] | undefined;
306
+ bodyStyle?: string[] | undefined;
307
+ exteriorColor?: string[] | undefined;
308
+ interiorColor?: string[] | undefined;
309
+ drivetrain?: string[] | undefined;
310
+ doors?: string[] | undefined;
311
+ } | undefined;
312
+ sortBy?: "year_desc" | "year_asc" | "price_desc" | "price_asc" | "mileage_desc" | "mileage_asc" | undefined;
313
+ groupByModel?: boolean | undefined;
314
+ }>;
315
+ export declare const FacetInputSchema: z.ZodObject<{
316
+ searchQuery: z.ZodOptional<z.ZodString>;
317
+ filters: z.ZodOptional<z.ZodObject<{
318
+ brand: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
319
+ model: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
320
+ trim: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
321
+ year: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
322
+ status: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
323
+ location: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
324
+ drivetrain: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
325
+ doors: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
326
+ fuelType: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
327
+ bodyStyle: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
328
+ exteriorColor: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
329
+ interiorColor: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
330
+ price: z.ZodOptional<z.ZodObject<{
331
+ min: z.ZodString;
332
+ max: z.ZodString;
333
+ }, "strip", z.ZodTypeAny, {
334
+ max: string;
335
+ min: string;
336
+ }, {
337
+ max: string;
338
+ min: string;
339
+ }>>;
340
+ mileage: z.ZodOptional<z.ZodObject<{
341
+ min: z.ZodString;
342
+ max: z.ZodString;
343
+ }, "strip", z.ZodTypeAny, {
344
+ max: string;
345
+ min: string;
346
+ }, {
347
+ max: string;
348
+ min: string;
349
+ }>>;
350
+ }, "strip", z.ZodTypeAny, {
351
+ trim?: string[] | undefined;
352
+ brand?: string[] | undefined;
353
+ model?: string[] | undefined;
354
+ year?: string[] | undefined;
355
+ status?: string[] | undefined;
356
+ price?: {
357
+ max: string;
358
+ min: string;
359
+ } | undefined;
360
+ mileage?: {
361
+ max: string;
362
+ min: string;
363
+ } | undefined;
364
+ location?: string[] | undefined;
365
+ fuelType?: string[] | undefined;
366
+ bodyStyle?: string[] | undefined;
367
+ exteriorColor?: string[] | undefined;
368
+ interiorColor?: string[] | undefined;
369
+ drivetrain?: string[] | undefined;
370
+ doors?: string[] | undefined;
371
+ }, {
372
+ trim?: string[] | undefined;
373
+ brand?: string[] | undefined;
374
+ model?: string[] | undefined;
375
+ year?: string[] | undefined;
376
+ status?: string[] | undefined;
377
+ price?: {
378
+ max: string;
379
+ min: string;
380
+ } | undefined;
381
+ mileage?: {
382
+ max: string;
383
+ min: string;
384
+ } | undefined;
385
+ location?: string[] | undefined;
386
+ fuelType?: string[] | undefined;
387
+ bodyStyle?: string[] | undefined;
388
+ exteriorColor?: string[] | undefined;
389
+ interiorColor?: string[] | undefined;
390
+ drivetrain?: string[] | undefined;
391
+ doors?: string[] | undefined;
392
+ }>>;
393
+ }, "strip", z.ZodTypeAny, {
394
+ searchQuery?: string | undefined;
395
+ filters?: {
396
+ trim?: string[] | undefined;
397
+ brand?: string[] | undefined;
398
+ model?: string[] | undefined;
399
+ year?: string[] | undefined;
400
+ status?: string[] | undefined;
401
+ price?: {
402
+ max: string;
403
+ min: string;
404
+ } | undefined;
405
+ mileage?: {
406
+ max: string;
407
+ min: string;
408
+ } | undefined;
409
+ location?: string[] | undefined;
410
+ fuelType?: string[] | undefined;
411
+ bodyStyle?: string[] | undefined;
412
+ exteriorColor?: string[] | undefined;
413
+ interiorColor?: string[] | undefined;
414
+ drivetrain?: string[] | undefined;
415
+ doors?: string[] | undefined;
416
+ } | undefined;
417
+ }, {
418
+ searchQuery?: string | undefined;
419
+ filters?: {
420
+ trim?: string[] | undefined;
421
+ brand?: string[] | undefined;
422
+ model?: string[] | undefined;
423
+ year?: string[] | undefined;
424
+ status?: string[] | undefined;
425
+ price?: {
426
+ max: string;
427
+ min: string;
428
+ } | undefined;
429
+ mileage?: {
430
+ max: string;
431
+ min: string;
432
+ } | undefined;
433
+ location?: string[] | undefined;
434
+ fuelType?: string[] | undefined;
435
+ bodyStyle?: string[] | undefined;
436
+ exteriorColor?: string[] | undefined;
437
+ interiorColor?: string[] | undefined;
438
+ drivetrain?: string[] | undefined;
439
+ doors?: string[] | undefined;
440
+ } | undefined;
441
+ }>;
442
+ //# sourceMappingURL=search.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/types/search.ts"],"names":[],"mappings":"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"}
@@ -1,121 +1,25 @@
1
1
  /**
2
2
  * Type definitions for vehicle entities
3
- * Matches new schema with JSONB payment offers and rebates
3
+ * Types are inferred from Zod schemas for single source of truth
4
+ * Re-exports schema-inferred types and adds API response extensions
4
5
  */
5
- export type VehicleStatus = 'NEW' | 'USED' | 'CERTIFIED';
6
- export type RebateType = 'manufacturer' | 'dealer' | 'military' | 'college' | 'loyalty' | 'seasonal';
7
- export interface PaymentOffer {
8
- lowestMonthlyPayment?: number;
9
- lease?: LeaseOffer;
10
- finance?: FinanceOffer;
11
- cash?: CashOffer;
12
- }
13
- export interface LeaseOffer {
14
- monthlyPayment: number;
15
- term: number;
16
- leasePrice: number;
17
- downPayment: number;
18
- interestRate: number;
19
- dueAtSigning: number;
20
- mileageLimit: number;
21
- perMileCharge: number;
22
- lender: string;
23
- disclaimer: string;
24
- expirationDate: string;
25
- }
26
- export interface FinanceOffer {
27
- monthlyPayment: number;
28
- term: number;
29
- financeAmount: number;
30
- downPayment: number;
31
- interestRate: number;
32
- lender: string;
33
- disclaimer: string;
34
- expirationDate: string;
35
- }
36
- export interface CashOffer {
37
- netPrice: number;
38
- incentivesTotal: number;
39
- lender: string;
40
- disclaimer: string;
41
- expirationDate?: string;
42
- }
43
- export interface VehicleRebate {
44
- id: number;
45
- code: string;
46
- programId: string;
47
- dsType: string;
48
- name: string;
49
- value: number;
50
- type?: RebateType;
51
- requirements?: string;
52
- expirationDate?: string;
53
- }
54
- export interface ChromeImage {
55
- url: string;
56
- additionalImageLink?: string;
57
- shotCode: string;
58
- shotType: {
59
- category: string;
60
- name: string;
61
- };
62
- }
63
- export interface Vehicle {
64
- id: number;
65
- tenantId: number;
66
- vin: string;
67
- stockNumber: string | null;
68
- brand: string;
69
- model: string;
70
- trim: string | null;
71
- year: number;
72
- status: VehicleStatus;
73
- price: number;
74
- msrp: number | null;
75
- paymentOffers: PaymentOffer | null;
76
- rebates: VehicleRebate[];
77
- mileage: number;
78
- location: string | null;
79
- fuelType: string | null;
80
- bodyStyle: string | null;
81
- exteriorColor: string | null;
82
- exteriorColorGeneric: string | null;
83
- exteriorColorCode: string | null;
84
- exteriorColorHex: string | null;
85
- interiorColor: string | null;
86
- interiorColorGeneric: string | null;
87
- interiorColorCode: string | null;
88
- interiorColorHex: string | null;
89
- drivetrain: string | null;
90
- doors: number | null;
91
- engine: string | null;
92
- transmission: string | null;
93
- cityMpg: number | null;
94
- highwayMpg: number | null;
95
- fuelEfficiency: string | null;
96
- imageUrl: string | null;
97
- chromeId: string | null;
98
- chromeImages: ChromeImage[] | null;
99
- chromeImagesColorMatched: Record<string, ChromeImage[]> | null;
100
- features: string[];
101
- vehicleOptions: string | null;
102
- dateInStock: Date | null;
103
- certifiedPreOwned: boolean;
104
- description: string | null;
105
- dealershipName: string | null;
106
- additionalImageLink: string | null;
107
- vehicleLink: string | null;
108
- createdAt: Date;
109
- updatedAt: Date;
110
- }
111
- export interface VehicleWithPricing extends Vehicle {
112
- appliedDiscounts?: {
113
- type: 'percentage' | 'fixed';
114
- value: number;
115
- ruleName: string;
116
- }[];
117
- finalPrice?: number;
118
- }
6
+ import type { z } from 'zod';
7
+ import type { Vehicle as DbVehicle } from '../db/schema';
8
+ import type { CashOfferSchema, ChromeImageSchema, FinanceOfferSchema, LeaseOfferSchema, PaymentOfferSchema, VehicleRebateSchema } from '../schemas/vehicle.schema';
9
+ export type VehicleRebate = z.infer<typeof VehicleRebateSchema>;
10
+ export type LeaseOffer = z.infer<typeof LeaseOfferSchema>;
11
+ export type FinanceOffer = z.infer<typeof FinanceOfferSchema>;
12
+ export type CashOffer = z.infer<typeof CashOfferSchema>;
13
+ export type PaymentOffer = z.infer<typeof PaymentOfferSchema>;
14
+ export type ChromeImage = z.infer<typeof ChromeImageSchema>;
15
+ export type VehicleStatus = 'NEW' | 'USED';
16
+ export type Vehicle = Omit<DbVehicle, 'searchVector'> & {
17
+ searchVector?: string | null;
18
+ chromeImages?: ChromeImage[] | null;
19
+ chromeImagesColorMatched?: Record<string, ChromeImage[]> | null;
20
+ exteriorColorHex?: string | null;
21
+ interiorColorHex?: string | null;
22
+ };
119
23
  export type VehicleChangeType = 'created' | 'updated' | 'deleted' | 'price_change' | 'status_change' | 'sold';
120
24
  export interface VehicleHistoryRecord {
121
25
  id: number;
@@ -1 +1 @@
1
- {"version":3,"file":"vehicle.d.ts","sourceRoot":"","sources":["../../src/types/vehicle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vehicle.d.ts","sourceRoot":"","sources":["../../src/types/vehicle.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAC5B,OAAO,KAAK,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,cAAc,CAAA;AACxD,OAAO,KAAK,EACV,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,2BAA2B,CAAA;AAGlC,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAC/D,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;AACzD,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAC7D,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA;AACvD,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAC7D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAG3D,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,MAAM,CAAA;AAK1C,MAAM,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,GAAG;IACtD,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAE5B,YAAY,CAAC,EAAE,WAAW,EAAE,GAAG,IAAI,CAAA;IACnC,wBAAwB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,GAAG,IAAI,CAAA;IAC/D,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACjC,CAAA;AAED,MAAM,MAAM,iBAAiB,GACzB,SAAS,GACT,SAAS,GACT,SAAS,GACT,cAAc,GACd,eAAe,GACf,MAAM,CAAA;AAEV,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,OAAO,CAAA;IACjB,UAAU,EAAE,iBAAiB,CAAA;IAC7B,aAAa,EAAE,MAAM,EAAE,CAAA;IACvB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,SAAS,EAAE,IAAI,CAAA;CAChB"}
package/dist/types.d.ts CHANGED
@@ -7,7 +7,8 @@
7
7
  * that uses path aliases like @/. It should only re-export type definitions.
8
8
  */
9
9
  export type { AppRouter } from './routers/index';
10
- export type { Vehicle, VehicleWithPricing, VehicleStatus, VehicleHistoryRecord, VehicleChangeType, PaymentOffer, LeaseOffer, FinanceOffer, CashOffer, VehicleRebate, RebateType, ChromeImage, } from './types/vehicle';
11
- export type { SyncResult, SyncError, SyncStats, SyncTrigger, SyncHistoryRecord, SyncErrorRecord, TransformedVehicleData, } from './types/sync';
12
- export type { FilterState, FilterOption, FilterOptionValue, RangeValue, RangeFilter, OptionsFilter, FilterCategory, TransformedFilters, HierarchicalFilters, MakeModels, ModelTrims, MMTTransformedFilters, SortOption, } from './types/filters';
10
+ export type { ConsolidatedMMT } from './services/mmt';
11
+ export type { FilterCategory, FilterOption, FilterOptionValue, FilterState, HierarchicalFilters, MakeModels, MMTTransformedFilters, ModelTrims, OptionsFilter, RangeFilter, RangeValue, SortOption, TransformedFilters, } from './types/filters';
12
+ export type { SyncError, SyncErrorRecord, SyncHistoryRecord, SyncResult, SyncStats, SyncTrigger, TransformedVehicleData, } from './types/sync';
13
+ export type { CashOffer, ChromeImage, FinanceOffer, LeaseOffer, PaymentOffer, Vehicle, VehicleChangeType, VehicleHistoryRecord, VehicleRebate, VehicleStatus, } from './types/vehicle';
13
14
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,YAAY,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAGhD,YAAY,EAEV,OAAO,EACP,kBAAkB,EAClB,aAAa,EACb,oBAAoB,EACpB,iBAAiB,EAEjB,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,SAAS,EACT,aAAa,EACb,UAAU,EAEV,WAAW,GACZ,MAAM,iBAAiB,CAAA;AAExB,YAAY,EAEV,UAAU,EACV,SAAS,EACT,SAAS,EACT,WAAW,EACX,iBAAiB,EACjB,eAAe,EACf,sBAAsB,GACvB,MAAM,cAAc,CAAA;AAErB,YAAY,EAEV,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,UAAU,EACV,WAAW,EACX,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,UAAU,EACV,UAAU,EACV,qBAAqB,EAErB,UAAU,GACX,MAAM,iBAAiB,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,YAAY,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAChD,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AACrD,YAAY,EACV,cAAc,EACd,YAAY,EACZ,iBAAiB,EAEjB,WAAW,EACX,mBAAmB,EACnB,UAAU,EACV,qBAAqB,EACrB,UAAU,EACV,aAAa,EACb,WAAW,EACX,UAAU,EAEV,UAAU,EACV,kBAAkB,GACnB,MAAM,iBAAiB,CAAA;AAExB,YAAY,EACV,SAAS,EACT,eAAe,EACf,iBAAiB,EAEjB,UAAU,EACV,SAAS,EACT,WAAW,EACX,sBAAsB,GACvB,MAAM,cAAc,CAAA;AAErB,YAAY,EACV,SAAS,EAET,WAAW,EACX,YAAY,EACZ,UAAU,EAEV,YAAY,EAEZ,OAAO,EACP,iBAAiB,EACjB,oBAAoB,EACpB,aAAa,EACb,aAAa,GACd,MAAM,iBAAiB,CAAA"}
@@ -1,3 +1,7 @@
1
+ /**
2
+ * Redis cache utilities for vehicle service
3
+ * Replaces Next.js unstable_cache with Redis-based caching
4
+ */
1
5
  /**
2
6
  * Cache key builder with tenant isolation
3
7
  */
@@ -1 +1 @@
1
- {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/utilities/cache.ts"],"names":[],"mappings":"AAQA;;GAEG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,GAAG,KAAK,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,GAC/E,MAAM,CAMR;AAED;;;GAGG;AACH,wBAAsB,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAqBrH;AAED;;;GAGG;AACH,wBAAsB,SAAS,CAC7B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,OAAO,EACd,UAAU,GAAE,MAAsC,EAClD,GAAG,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GACjD,OAAO,CAAC,IAAI,CAAC,CAUf;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAUjH;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAc/H;AAED;;;;GAIG;AACH,wBAAsB,MAAM,CAAC,CAAC,EAC5B,GAAG,EAAE,MAAM,EACX,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,UAAU,GAAE,MAAsC,EAClD,GAAG,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GACjD,OAAO,CAAC,CAAC,CAAC,CAgBZ;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,+BAAyB,CAAA;AAEvD;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/H;AAED;;;GAGG;AACH,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,GAAG,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GACjD,OAAO,CAAC,IAAI,CAAC,CAEf"}
1
+ {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/utilities/cache.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH;;GAEG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,GAAG,KAAK,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,GAC/E,MAAM,CAIR;AAED;;;GAGG;AACH,wBAAsB,SAAS,CAAC,CAAC,EAC/B,GAAG,EAAE,MAAM,EACX,GAAG,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GACjD,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAqBnB;AAED;;;GAGG;AACH,wBAAsB,SAAS,CAC7B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,OAAO,EACd,UAAU,GAAE,MAAsC,EAClD,GAAG,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GACjD,OAAO,CAAC,IAAI,CAAC,CAUf;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAChC,GAAG,EAAE,MAAM,EACX,GAAG,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GACjD,OAAO,CAAC,IAAI,CAAC,CAUf;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,MAAM,EACf,GAAG,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GACjD,OAAO,CAAC,IAAI,CAAC,CAcf;AAED;;;;GAIG;AACH,wBAAsB,MAAM,CAAC,CAAC,EAC5B,GAAG,EAAE,MAAM,EACX,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,UAAU,GAAE,MAAsC,EAClD,GAAG,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GACjD,OAAO,CAAC,CAAC,CAAC,CAgBZ;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,+BAAyB,CAAA;AAEvD;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,MAAM,EAChB,GAAG,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GACjD,OAAO,CAAC,IAAI,CAAC,CAEf;AAED;;;GAGG;AACH,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,GAAG,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GACjD,OAAO,CAAC,IAAI,CAAC,CAEf"}