Initial Commit

This commit is contained in:
Eric Gullickson
2025-09-17 16:09:15 -05:00
parent 0cdb9803de
commit a052040e3a
373 changed files with 437090 additions and 6773 deletions

View File

@@ -13,18 +13,24 @@ export class VehiclesRepository {
const query = `
INSERT INTO vehicles (
user_id, vin, make, model, year,
engine, transmission, trim_level, drive_type, fuel_type,
nickname, color, license_plate, odometer_reading
)
VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9)
VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14)
RETURNING *
`;
const values = [
data.userId,
data.vin,
(data.vin && data.vin.trim().length > 0) ? data.vin.trim() : null,
data.make,
data.model,
data.year,
data.engine,
data.transmission,
data.trimLevel,
data.driveType,
data.fuelType,
data.nickname,
data.color,
data.licensePlate,
@@ -74,6 +80,38 @@ export class VehiclesRepository {
let paramCount = 1;
// Build dynamic update query
if (data.make !== undefined) {
fields.push(`make = $${paramCount++}`);
values.push(data.make);
}
if (data.model !== undefined) {
fields.push(`model = $${paramCount++}`);
values.push(data.model);
}
if (data.year !== undefined) {
fields.push(`year = $${paramCount++}`);
values.push(data.year);
}
if (data.engine !== undefined) {
fields.push(`engine = $${paramCount++}`);
values.push(data.engine);
}
if (data.transmission !== undefined) {
fields.push(`transmission = $${paramCount++}`);
values.push(data.transmission);
}
if (data.trimLevel !== undefined) {
fields.push(`trim_level = $${paramCount++}`);
values.push(data.trimLevel);
}
if (data.driveType !== undefined) {
fields.push(`drive_type = $${paramCount++}`);
values.push(data.driveType);
}
if (data.fuelType !== undefined) {
fields.push(`fuel_type = $${paramCount++}`);
values.push(data.fuelType);
}
if (data.nickname !== undefined) {
fields.push(`nickname = $${paramCount++}`);
values.push(data.nickname);
@@ -164,6 +202,11 @@ export class VehiclesRepository {
make: row.make,
model: row.model,
year: row.year,
engine: row.engine,
transmission: row.transmission,
trimLevel: row.trim_level,
driveType: row.drive_type,
fuelType: row.fuel_type,
nickname: row.nickname,
color: row.color,
licensePlate: row.license_plate,
@@ -174,4 +217,4 @@ export class VehiclesRepository {
updatedAt: row.updated_at,
};
}
}
}