Updates to database and API for dropdowns.

This commit is contained in:
Eric Gullickson
2025-11-11 10:29:02 -06:00
parent 3dc0f2a733
commit 8376aee7ed
157 changed files with 2573659 additions and 1548221 deletions

View File

@@ -32,15 +32,15 @@ export class PlatformCacheService {
/**
* Get cached makes for year
*/
async getMakes(year: number): Promise<any[] | null> {
async getMakes(year: number): Promise<string[] | null> {
const key = this.prefix + 'vehicle-data:makes:' + year;
return await this.cacheService.get<any[]>(key);
return await this.cacheService.get<string[]>(key);
}
/**
* Set cached makes for year
*/
async setMakes(year: number, makes: any[], ttl: number = 6 * 3600): Promise<void> {
async setMakes(year: number, makes: string[], ttl: number = 6 * 3600): Promise<void> {
const key = this.prefix + 'vehicle-data:makes:' + year;
await this.cacheService.set(key, makes, ttl);
}
@@ -48,51 +48,67 @@ export class PlatformCacheService {
/**
* Get cached models for year and make
*/
async getModels(year: number, makeId: number): Promise<any[] | null> {
const key = this.prefix + 'vehicle-data:models:' + year + ':' + makeId;
return await this.cacheService.get<any[]>(key);
async getModels(year: number, make: string): Promise<string[] | null> {
const key = this.prefix + 'vehicle-data:models:' + year + ':' + make;
return await this.cacheService.get<string[]>(key);
}
/**
* Set cached models for year and make
*/
async setModels(year: number, makeId: number, models: any[], ttl: number = 6 * 3600): Promise<void> {
const key = this.prefix + 'vehicle-data:models:' + year + ':' + makeId;
async setModels(year: number, make: string, models: string[], ttl: number = 6 * 3600): Promise<void> {
const key = this.prefix + 'vehicle-data:models:' + year + ':' + make;
await this.cacheService.set(key, models, ttl);
}
/**
* Get cached trims for year and model
* Get cached trims for year, make, and model
*/
async getTrims(year: number, modelId: number): Promise<any[] | null> {
const key = this.prefix + 'vehicle-data:trims:' + year + ':' + modelId;
return await this.cacheService.get<any[]>(key);
async getTrims(year: number, make: string, model: string): Promise<string[] | null> {
const key = this.prefix + 'vehicle-data:trims:' + year + ':' + make + ':' + model;
return await this.cacheService.get<string[]>(key);
}
/**
* Set cached trims for year and model
* Set cached trims for year, make, and model
*/
async setTrims(year: number, modelId: number, trims: any[], ttl: number = 6 * 3600): Promise<void> {
const key = this.prefix + 'vehicle-data:trims:' + year + ':' + modelId;
async setTrims(year: number, make: string, model: string, trims: string[], ttl: number = 6 * 3600): Promise<void> {
const key = this.prefix + 'vehicle-data:trims:' + year + ':' + make + ':' + model;
await this.cacheService.set(key, trims, ttl);
}
/**
* Get cached engines for year, model, and trim
* Get cached engines for year, make, model, and trim
*/
async getEngines(year: number, modelId: number, trimId: number): Promise<any[] | null> {
const key = this.prefix + 'vehicle-data:engines:' + year + ':' + modelId + ':' + trimId;
return await this.cacheService.get<any[]>(key);
async getEngines(year: number, make: string, model: string, trim: string): Promise<string[] | null> {
const key = this.prefix + 'vehicle-data:engines:' + year + ':' + make + ':' + model + ':' + trim;
return await this.cacheService.get<string[]>(key);
}
/**
* Set cached engines for year, model, and trim
* Set cached engines for year, make, model, and trim
*/
async setEngines(year: number, modelId: number, trimId: number, engines: any[], ttl: number = 6 * 3600): Promise<void> {
const key = this.prefix + 'vehicle-data:engines:' + year + ':' + modelId + ':' + trimId;
async setEngines(year: number, make: string, model: string, trim: string, engines: string[], ttl: number = 6 * 3600): Promise<void> {
const key = this.prefix + 'vehicle-data:engines:' + year + ':' + make + ':' + model + ':' + trim;
await this.cacheService.set(key, engines, ttl);
}
/**
* Get cached transmissions for year, make, and model
*/
async getTransmissions(year: number, make: string, model: string): Promise<string[] | null> {
const key = this.prefix + 'vehicle-data:transmissions:' + year + ':' + make + ':' + model;
return await this.cacheService.get<string[]>(key);
}
/**
* Set cached transmissions for year, make, and model
*/
async setTransmissions(year: number, make: string, model: string, transmissions: string[], ttl: number = 6 * 3600): Promise<void> {
const key = this.prefix + 'vehicle-data:transmissions:' + year + ':' + make + ':' + model;
await this.cacheService.set(key, transmissions, ttl);
}
/**
* Get cached VIN decode result
*/