Vehicle Admin improvements
This commit is contained in:
@@ -130,13 +130,19 @@ export class CatalogController {
|
||||
try {
|
||||
const { makeId, name } = request.body;
|
||||
const actorId = request.userContext?.userId || 'unknown';
|
||||
const parsedMakeId = Number(makeId);
|
||||
|
||||
if (!makeId || !name || name.trim().length === 0) {
|
||||
if (!Number.isFinite(parsedMakeId) || parsedMakeId <= 0) {
|
||||
reply.code(400).send({ error: 'Valid make ID is required' });
|
||||
return;
|
||||
}
|
||||
|
||||
if (!name || name.trim().length === 0) {
|
||||
reply.code(400).send({ error: 'Make ID and model name are required' });
|
||||
return;
|
||||
}
|
||||
|
||||
const model = await this.catalogService.createModel(makeId, name.trim(), actorId);
|
||||
const model = await this.catalogService.createModel(parsedMakeId, name.trim(), actorId);
|
||||
reply.code(201).send(model);
|
||||
} catch (error: any) {
|
||||
logger.error('Error creating model', { error });
|
||||
@@ -156,18 +162,24 @@ export class CatalogController {
|
||||
const modelId = parseInt(request.params.modelId);
|
||||
const { makeId, name } = request.body;
|
||||
const actorId = request.userContext?.userId || 'unknown';
|
||||
const parsedMakeId = Number(makeId);
|
||||
|
||||
if (isNaN(modelId)) {
|
||||
reply.code(400).send({ error: 'Invalid model ID' });
|
||||
return;
|
||||
}
|
||||
|
||||
if (!makeId || !name || name.trim().length === 0) {
|
||||
if (!Number.isFinite(parsedMakeId) || parsedMakeId <= 0) {
|
||||
reply.code(400).send({ error: 'Valid make ID is required' });
|
||||
return;
|
||||
}
|
||||
|
||||
if (!name || name.trim().length === 0) {
|
||||
reply.code(400).send({ error: 'Make ID and model name are required' });
|
||||
return;
|
||||
}
|
||||
|
||||
const model = await this.catalogService.updateModel(modelId, makeId, name.trim(), actorId);
|
||||
const model = await this.catalogService.updateModel(modelId, parsedMakeId, name.trim(), actorId);
|
||||
reply.code(200).send(model);
|
||||
} catch (error: any) {
|
||||
logger.error('Error updating model', { error });
|
||||
@@ -235,13 +247,20 @@ export class CatalogController {
|
||||
try {
|
||||
const { modelId, year } = request.body;
|
||||
const actorId = request.userContext?.userId || 'unknown';
|
||||
const parsedModelId = Number(modelId);
|
||||
const parsedYear = Number(year);
|
||||
|
||||
if (!modelId || !year || year < 1900 || year > 2100) {
|
||||
if (!Number.isFinite(parsedModelId) || parsedModelId <= 0) {
|
||||
reply.code(400).send({ error: 'Valid model ID is required' });
|
||||
return;
|
||||
}
|
||||
|
||||
if (!Number.isInteger(parsedYear) || parsedYear < 1900 || parsedYear > 2100) {
|
||||
reply.code(400).send({ error: 'Valid model ID and year (1900-2100) are required' });
|
||||
return;
|
||||
}
|
||||
|
||||
const yearData = await this.catalogService.createYear(modelId, year, actorId);
|
||||
const yearData = await this.catalogService.createYear(parsedModelId, parsedYear, actorId);
|
||||
reply.code(201).send(yearData);
|
||||
} catch (error: any) {
|
||||
logger.error('Error creating year', { error });
|
||||
@@ -261,18 +280,25 @@ export class CatalogController {
|
||||
const yearId = parseInt(request.params.yearId);
|
||||
const { modelId, year } = request.body;
|
||||
const actorId = request.userContext?.userId || 'unknown';
|
||||
const parsedModelId = Number(modelId);
|
||||
const parsedYear = Number(year);
|
||||
|
||||
if (isNaN(yearId)) {
|
||||
reply.code(400).send({ error: 'Invalid year ID' });
|
||||
return;
|
||||
}
|
||||
|
||||
if (!modelId || !year || year < 1900 || year > 2100) {
|
||||
if (!Number.isFinite(parsedModelId) || parsedModelId <= 0) {
|
||||
reply.code(400).send({ error: 'Valid model ID is required' });
|
||||
return;
|
||||
}
|
||||
|
||||
if (!Number.isInteger(parsedYear) || parsedYear < 1900 || parsedYear > 2100) {
|
||||
reply.code(400).send({ error: 'Valid model ID and year (1900-2100) are required' });
|
||||
return;
|
||||
}
|
||||
|
||||
const yearData = await this.catalogService.updateYear(yearId, modelId, year, actorId);
|
||||
const yearData = await this.catalogService.updateYear(yearId, parsedModelId, parsedYear, actorId);
|
||||
reply.code(200).send(yearData);
|
||||
} catch (error: any) {
|
||||
logger.error('Error updating year', { error });
|
||||
@@ -340,13 +366,19 @@ export class CatalogController {
|
||||
try {
|
||||
const { yearId, name } = request.body;
|
||||
const actorId = request.userContext?.userId || 'unknown';
|
||||
const parsedYearId = Number(yearId);
|
||||
|
||||
if (!yearId || !name || name.trim().length === 0) {
|
||||
if (!Number.isFinite(parsedYearId) || parsedYearId <= 0) {
|
||||
reply.code(400).send({ error: 'Valid year ID is required' });
|
||||
return;
|
||||
}
|
||||
|
||||
if (!name || name.trim().length === 0) {
|
||||
reply.code(400).send({ error: 'Year ID and trim name are required' });
|
||||
return;
|
||||
}
|
||||
|
||||
const trim = await this.catalogService.createTrim(yearId, name.trim(), actorId);
|
||||
const trim = await this.catalogService.createTrim(parsedYearId, name.trim(), actorId);
|
||||
reply.code(201).send(trim);
|
||||
} catch (error: any) {
|
||||
logger.error('Error creating trim', { error });
|
||||
@@ -366,18 +398,24 @@ export class CatalogController {
|
||||
const trimId = parseInt(request.params.trimId);
|
||||
const { yearId, name } = request.body;
|
||||
const actorId = request.userContext?.userId || 'unknown';
|
||||
const parsedYearId = Number(yearId);
|
||||
|
||||
if (isNaN(trimId)) {
|
||||
reply.code(400).send({ error: 'Invalid trim ID' });
|
||||
return;
|
||||
}
|
||||
|
||||
if (!yearId || !name || name.trim().length === 0) {
|
||||
if (!Number.isFinite(parsedYearId) || parsedYearId <= 0) {
|
||||
reply.code(400).send({ error: 'Valid year ID is required' });
|
||||
return;
|
||||
}
|
||||
|
||||
if (!name || name.trim().length === 0) {
|
||||
reply.code(400).send({ error: 'Year ID and trim name are required' });
|
||||
return;
|
||||
}
|
||||
|
||||
const trim = await this.catalogService.updateTrim(trimId, yearId, name.trim(), actorId);
|
||||
const trim = await this.catalogService.updateTrim(trimId, parsedYearId, name.trim(), actorId);
|
||||
reply.code(200).send(trim);
|
||||
} catch (error: any) {
|
||||
logger.error('Error updating trim', { error });
|
||||
@@ -445,13 +483,19 @@ export class CatalogController {
|
||||
try {
|
||||
const { trimId, name, description } = request.body;
|
||||
const actorId = request.userContext?.userId || 'unknown';
|
||||
const parsedTrimId = Number(trimId);
|
||||
|
||||
if (!trimId || !name || name.trim().length === 0) {
|
||||
if (!Number.isFinite(parsedTrimId) || parsedTrimId <= 0) {
|
||||
reply.code(400).send({ error: 'Valid trim ID is required' });
|
||||
return;
|
||||
}
|
||||
|
||||
if (!name || name.trim().length === 0) {
|
||||
reply.code(400).send({ error: 'Trim ID and engine name are required' });
|
||||
return;
|
||||
}
|
||||
|
||||
const engine = await this.catalogService.createEngine(trimId, name.trim(), description, actorId);
|
||||
const engine = await this.catalogService.createEngine(parsedTrimId, name.trim(), description, actorId);
|
||||
reply.code(201).send(engine);
|
||||
} catch (error: any) {
|
||||
logger.error('Error creating engine', { error });
|
||||
@@ -471,18 +515,30 @@ export class CatalogController {
|
||||
const engineId = parseInt(request.params.engineId);
|
||||
const { trimId, name, description } = request.body;
|
||||
const actorId = request.userContext?.userId || 'unknown';
|
||||
const parsedTrimId = Number(trimId);
|
||||
|
||||
if (isNaN(engineId)) {
|
||||
reply.code(400).send({ error: 'Invalid engine ID' });
|
||||
return;
|
||||
}
|
||||
|
||||
if (!trimId || !name || name.trim().length === 0) {
|
||||
if (!Number.isFinite(parsedTrimId) || parsedTrimId <= 0) {
|
||||
reply.code(400).send({ error: 'Valid trim ID is required' });
|
||||
return;
|
||||
}
|
||||
|
||||
if (!name || name.trim().length === 0) {
|
||||
reply.code(400).send({ error: 'Trim ID and engine name are required' });
|
||||
return;
|
||||
}
|
||||
|
||||
const engine = await this.catalogService.updateEngine(engineId, trimId, name.trim(), description, actorId);
|
||||
const engine = await this.catalogService.updateEngine(
|
||||
engineId,
|
||||
parsedTrimId,
|
||||
name.trim(),
|
||||
description,
|
||||
actorId
|
||||
);
|
||||
reply.code(200).send(engine);
|
||||
} catch (error: any) {
|
||||
logger.error('Error updating engine', { error });
|
||||
|
||||
Reference in New Issue
Block a user