Alterando lógica das rotas de vans e MER da tabela Vans
This commit is contained in:
@@ -1,64 +0,0 @@
|
||||
import { getRepository } from 'typeorm';
|
||||
import { v4 } from 'uuid';
|
||||
import { hash } from 'bcryptjs';
|
||||
|
||||
import AppError from '../errors/AppError';
|
||||
|
||||
import Van from '../models/Van';
|
||||
import VanLocator from '../models/VanLocator';
|
||||
|
||||
interface Request {
|
||||
id_van: string;
|
||||
name: string;
|
||||
address: string;
|
||||
complement: string;
|
||||
city: string;
|
||||
state: string;
|
||||
}
|
||||
|
||||
class CreateVanLocatorService {
|
||||
public async execute({
|
||||
id_van,
|
||||
name,
|
||||
address,
|
||||
complement,
|
||||
city,
|
||||
state,
|
||||
}: Request): Promise<VanLocator> {
|
||||
const vansRepository = getRepository(Van);
|
||||
const vansLocatorsRepository = getRepository(VanLocator);
|
||||
|
||||
const van = await vansRepository.findOne({
|
||||
where: { id_van },
|
||||
});
|
||||
|
||||
if (!van) {
|
||||
throw new AppError('A van informada não existe.', 404);
|
||||
}
|
||||
|
||||
if (van.locator) {
|
||||
throw new AppError(
|
||||
'A van informada já possui um locador cadastrado.',
|
||||
400,
|
||||
);
|
||||
}
|
||||
|
||||
const vanLocator = vansLocatorsRepository.create({
|
||||
name,
|
||||
address,
|
||||
complement,
|
||||
city,
|
||||
state,
|
||||
});
|
||||
|
||||
await vansLocatorsRepository.save(vanLocator);
|
||||
|
||||
// linka o locador para o registro da van
|
||||
van.locator = vanLocator
|
||||
await vansRepository.save(van);
|
||||
|
||||
return vanLocator;
|
||||
}
|
||||
}
|
||||
|
||||
export default CreateVanLocatorService;
|
||||
@@ -1,6 +1,4 @@
|
||||
import { getRepository } from 'typeorm';
|
||||
import { v4 } from 'uuid';
|
||||
import { hash } from 'bcryptjs';
|
||||
|
||||
import AppError from '../errors/AppError';
|
||||
|
||||
@@ -11,6 +9,11 @@ interface Request {
|
||||
brand: string;
|
||||
model: string;
|
||||
seats_number: string;
|
||||
locator_name: string;
|
||||
locator_address: string;
|
||||
locator_complement: string;
|
||||
locator_city: string;
|
||||
locator_state: string;
|
||||
}
|
||||
|
||||
class CreateVanService {
|
||||
@@ -19,23 +22,36 @@ class CreateVanService {
|
||||
brand,
|
||||
model,
|
||||
seats_number,
|
||||
locator_name,
|
||||
locator_address,
|
||||
locator_complement,
|
||||
locator_city,
|
||||
locator_state,
|
||||
}: Request): Promise<Van> {
|
||||
const vansRepository = getRepository(Van);
|
||||
|
||||
const checkVanPlateExists = await vansRepository.findOne({
|
||||
const vanExists = await vansRepository.findOne({
|
||||
where: { plate },
|
||||
});
|
||||
|
||||
if (checkVanPlateExists) {
|
||||
throw new AppError('Placa do veículo já cadastrado!', 409);
|
||||
if (vanExists) {
|
||||
throw new AppError(
|
||||
'Uma van com a placa informada já foi cadastrada.',
|
||||
409,
|
||||
);
|
||||
}
|
||||
|
||||
const van = vansRepository.create({
|
||||
id_van: v4(),
|
||||
plate,
|
||||
brand,
|
||||
model,
|
||||
seats_number: (Number)(seats_number),
|
||||
seats_number,
|
||||
document_status: false,
|
||||
locator_name,
|
||||
locator_address,
|
||||
locator_complement,
|
||||
locator_city,
|
||||
locator_state,
|
||||
});
|
||||
|
||||
await vansRepository.save(van);
|
||||
|
||||
@@ -1,56 +0,0 @@
|
||||
import { getRepository } from 'typeorm';
|
||||
|
||||
import AppError from '../errors/AppError';
|
||||
|
||||
import Van from '../models/Van';
|
||||
import VanLocator from '../models/VanLocator';
|
||||
|
||||
interface Request {
|
||||
id_van: string;
|
||||
name: string;
|
||||
address: string;
|
||||
complement: string;
|
||||
city: string;
|
||||
state: string;
|
||||
}
|
||||
|
||||
class UpdateVanLocatorService {
|
||||
public async execute({
|
||||
id_van,
|
||||
name,
|
||||
address,
|
||||
complement,
|
||||
city,
|
||||
state,
|
||||
}: Request): Promise<VanLocator> {
|
||||
const vansRepository = getRepository(Van);
|
||||
const vansLocatorsRepository = getRepository(VanLocator);
|
||||
|
||||
const van = await vansRepository.findOne({
|
||||
where: { id_van },
|
||||
});
|
||||
|
||||
if (!van) {
|
||||
throw new AppError('A van informada não existe.', 404);
|
||||
}
|
||||
|
||||
if (!van.locator) {
|
||||
throw new AppError(
|
||||
'A van informada não possui um locador cadastrado.',
|
||||
404,
|
||||
);
|
||||
}
|
||||
|
||||
if (name) van.locator.name = name
|
||||
if (address) van.locator.address = address
|
||||
if (complement) van.locator.complement = complement
|
||||
if (city) van.locator.city = city
|
||||
if (state) van.locator.state = state
|
||||
|
||||
await vansRepository.save(van);
|
||||
|
||||
return van.locator;
|
||||
}
|
||||
}
|
||||
|
||||
export default UpdateVanLocatorService;
|
||||
32
src/services/UpdateVanPlateService.ts
Normal file
32
src/services/UpdateVanPlateService.ts
Normal file
@@ -0,0 +1,32 @@
|
||||
import { getRepository } from 'typeorm';
|
||||
|
||||
import AppError from '../errors/AppError';
|
||||
|
||||
import Van from '../models/Van';
|
||||
|
||||
interface Request {
|
||||
oldPlate: string;
|
||||
newPlate: string;
|
||||
}
|
||||
|
||||
class UpdateVanPlateService {
|
||||
public async execute({ oldPlate, newPlate }: Request): Promise<Van> {
|
||||
const vansRepository = getRepository(Van);
|
||||
|
||||
const van = await vansRepository.findOne({
|
||||
where: { plate: oldPlate },
|
||||
});
|
||||
|
||||
if (!van) {
|
||||
throw new AppError('A van informada não existe.');
|
||||
}
|
||||
|
||||
van.plate = newPlate
|
||||
|
||||
await vansRepository.save(van);
|
||||
|
||||
return van;
|
||||
}
|
||||
}
|
||||
|
||||
export default UpdateVanPlateService;
|
||||
@@ -6,9 +6,14 @@ import Van from '../models/Van';
|
||||
|
||||
interface Request {
|
||||
plate: string;
|
||||
brand: string;
|
||||
model: string;
|
||||
seats_number: string;
|
||||
brand?: string;
|
||||
model?: string;
|
||||
seats_number?: string;
|
||||
locator_name?: string;
|
||||
locator_address?: string;
|
||||
locator_complement?: string;
|
||||
locator_city?: string;
|
||||
locator_state?: string;
|
||||
}
|
||||
|
||||
class UpdateVanService {
|
||||
@@ -17,6 +22,11 @@ class UpdateVanService {
|
||||
brand,
|
||||
model,
|
||||
seats_number,
|
||||
locator_name,
|
||||
locator_address,
|
||||
locator_complement,
|
||||
locator_city,
|
||||
locator_state,
|
||||
}: Request): Promise<Van> {
|
||||
const vansRepository = getRepository(Van);
|
||||
|
||||
@@ -25,13 +35,17 @@ class UpdateVanService {
|
||||
});
|
||||
|
||||
if (!van) {
|
||||
throw new AppError('Van informada não existe.');
|
||||
throw new AppError('A van informada não existe.');
|
||||
}
|
||||
|
||||
if (plate) van.plate = plate;
|
||||
if (brand) van.brand = brand;
|
||||
if (model) van.model = model;
|
||||
if (seats_number) van.seats_number = (Number)(seats_number);
|
||||
if (brand) van.brand = brand
|
||||
if (model) van.model = model
|
||||
if (seats_number) van.seats_number = seats_number
|
||||
if (locator_name) van.locator_name = locator_name
|
||||
if (locator_address) van.locator_address = locator_address
|
||||
if (locator_complement) van.locator_complement = locator_complement
|
||||
if (locator_city) van.locator_city = locator_city
|
||||
if (locator_state) van.locator_state = locator_state
|
||||
|
||||
await vansRepository.save(van);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user