Adicionando rota que retorna se usuário é status motorista
This commit is contained in:
@@ -2,6 +2,8 @@ import { Router } from 'express';
|
|||||||
import { getRepository } from 'typeorm';
|
import { getRepository } from 'typeorm';
|
||||||
import User from '../models/User';
|
import User from '../models/User';
|
||||||
|
|
||||||
|
import ensureAuthenticated from '../middlewares/ensureAuthenticated';
|
||||||
|
|
||||||
import CreateUserService from '../services/CreateUserService';
|
import CreateUserService from '../services/CreateUserService';
|
||||||
import FindUserService from '../services/FindUserService';
|
import FindUserService from '../services/FindUserService';
|
||||||
import FindUserSocialService from '../services/FindUserSocialService';
|
import FindUserSocialService from '../services/FindUserSocialService';
|
||||||
@@ -9,9 +11,8 @@ import UpdateUserSocialService from '../services/UpdateUserSocialService';
|
|||||||
import UpdateUserService from '../services/UpdateUserService';
|
import UpdateUserService from '../services/UpdateUserService';
|
||||||
import UpdateUserAvatarService from '../services/UpdateUserAvatarService';
|
import UpdateUserAvatarService from '../services/UpdateUserAvatarService';
|
||||||
import UpdateUserPasswordService from '../services/UpdateUserPasswordService';
|
import UpdateUserPasswordService from '../services/UpdateUserPasswordService';
|
||||||
import ensureAuthenticated from '../middlewares/ensureAuthenticated';
|
|
||||||
import ensureAdmin from '../middlewares/ensureAdmin';
|
|
||||||
import AuthenticateUserService from '../services/AuthenticateUserService';
|
import AuthenticateUserService from '../services/AuthenticateUserService';
|
||||||
|
import CheckIfUserHasVansService from '../services/CheckIfUserHasVansService';
|
||||||
|
|
||||||
const usersRouter = Router();
|
const usersRouter = Router();
|
||||||
|
|
||||||
@@ -51,13 +52,13 @@ usersRouter.get('/:id', ensureAuthenticated, async (request, response) => {
|
|||||||
const user = await findUserService.execute(id);
|
const user = await findUserService.execute(id);
|
||||||
|
|
||||||
// converting ISO 8601 date to normal date
|
// converting ISO 8601 date to normal date
|
||||||
let birth_date = new Date(user.birth_date)
|
let birth_date = new Date(user.birth_date);
|
||||||
|
|
||||||
let year = birth_date.getFullYear()
|
let year = birth_date.getFullYear();
|
||||||
let month = birth_date.getMonth()+1
|
let month = birth_date.getMonth() + 1;
|
||||||
let date = birth_date.getDate()
|
let date = birth_date.getDate();
|
||||||
|
|
||||||
const finalDate = `${date}/${month}/${year}`
|
const finalDate = `${date}/${month}/${year}`;
|
||||||
|
|
||||||
const userWithoutPassword = {
|
const userWithoutPassword = {
|
||||||
id_user: user.id_user,
|
id_user: user.id_user,
|
||||||
@@ -69,7 +70,7 @@ usersRouter.get('/:id', ensureAuthenticated, async (request, response) => {
|
|||||||
avatar_image: user.avatar_image,
|
avatar_image: user.avatar_image,
|
||||||
bio: user.bio,
|
bio: user.bio,
|
||||||
document_type: user.document_type,
|
document_type: user.document_type,
|
||||||
document: user.document
|
document: user.document,
|
||||||
// created_at: user.created_at,
|
// created_at: user.created_at,
|
||||||
// updated_at: user.updated_at,
|
// updated_at: user.updated_at,
|
||||||
};
|
};
|
||||||
@@ -101,7 +102,16 @@ usersRouter.post('/', async (request, response) => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
usersRouter.patch('/edit', ensureAuthenticated, async (request, response) => {
|
usersRouter.patch('/edit', ensureAuthenticated, async (request, response) => {
|
||||||
const { name, lastname, bio, email, phone_number, birth_date, document_type, document } = request.body;
|
const {
|
||||||
|
name,
|
||||||
|
lastname,
|
||||||
|
bio,
|
||||||
|
email,
|
||||||
|
phone_number,
|
||||||
|
birth_date,
|
||||||
|
document_type,
|
||||||
|
document,
|
||||||
|
} = request.body;
|
||||||
|
|
||||||
const updateUserService = new UpdateUserService();
|
const updateUserService = new UpdateUserService();
|
||||||
|
|
||||||
@@ -114,24 +124,44 @@ usersRouter.patch('/edit', ensureAuthenticated, async (request, response) => {
|
|||||||
phone_number,
|
phone_number,
|
||||||
birth_date,
|
birth_date,
|
||||||
document_type,
|
document_type,
|
||||||
document
|
document,
|
||||||
});
|
});
|
||||||
|
|
||||||
return response.json({ message: 'Perfil atualizado com sucesso.' });
|
return response.json({ message: 'Perfil atualizado com sucesso.' });
|
||||||
});
|
});
|
||||||
|
|
||||||
usersRouter.patch('/edit/avatar', ensureAuthenticated, async (request, response) => {
|
usersRouter.get(
|
||||||
const { avatar_image } = request.body;
|
'/isDriver/:id_user',
|
||||||
|
// ensureAuthenticated,
|
||||||
|
async (request, response) => {
|
||||||
|
const { id_user } = request.params;
|
||||||
|
|
||||||
const updateUserAvatarService = new UpdateUserAvatarService();
|
const checkIfUserHasVansService = new CheckIfUserHasVansService();
|
||||||
|
|
||||||
await updateUserAvatarService.execute({
|
const userHasVans = await checkIfUserHasVansService.execute({
|
||||||
id_user: request.user.id_user,
|
id_user,
|
||||||
avatar_image,
|
});
|
||||||
});
|
|
||||||
|
|
||||||
return response.json({ message: 'Avatar atualizado com sucesso !' });
|
return response.json({ result: userHasVans });
|
||||||
});
|
},
|
||||||
|
);
|
||||||
|
|
||||||
|
usersRouter.patch(
|
||||||
|
'/edit/avatar',
|
||||||
|
ensureAuthenticated,
|
||||||
|
async (request, response) => {
|
||||||
|
const { avatar_image } = request.body;
|
||||||
|
|
||||||
|
const updateUserAvatarService = new UpdateUserAvatarService();
|
||||||
|
|
||||||
|
await updateUserAvatarService.execute({
|
||||||
|
id_user: request.user.id_user,
|
||||||
|
avatar_image,
|
||||||
|
});
|
||||||
|
|
||||||
|
return response.json({ message: 'Avatar atualizado com sucesso !' });
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
usersRouter.get(
|
usersRouter.get(
|
||||||
'/social/:id',
|
'/social/:id',
|
||||||
@@ -196,27 +226,23 @@ usersRouter.get(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
usersRouter.patch(
|
usersRouter.patch('/social', ensureAuthenticated, async (request, response) => {
|
||||||
'/social',
|
const { id_user, phone, whatsapp, facebook, telegram } = request.body;
|
||||||
ensureAuthenticated,
|
|
||||||
async (request, response) => {
|
|
||||||
const { id_user, phone, whatsapp, facebook, telegram } = request.body;
|
|
||||||
|
|
||||||
const social_network = {
|
const social_network = {
|
||||||
phone,
|
phone,
|
||||||
whatsapp,
|
whatsapp,
|
||||||
facebook,
|
facebook,
|
||||||
telegram
|
telegram,
|
||||||
}
|
};
|
||||||
|
|
||||||
const updateUserSocialService = new UpdateUserSocialService();
|
const updateUserSocialService = new UpdateUserSocialService();
|
||||||
const social = await updateUserSocialService.execute({
|
const social = await updateUserSocialService.execute({
|
||||||
id_user,
|
id_user,
|
||||||
social_network
|
social_network,
|
||||||
});
|
});
|
||||||
|
|
||||||
return response.json({ data: social });
|
return response.json({ data: social });
|
||||||
},
|
});
|
||||||
);
|
|
||||||
|
|
||||||
export default usersRouter;
|
export default usersRouter;
|
||||||
|
|||||||
@@ -20,25 +20,33 @@ vansRouter.get('/list', async (request, response) => {
|
|||||||
return response.json({ data: vans });
|
return response.json({ data: vans });
|
||||||
});
|
});
|
||||||
|
|
||||||
vansRouter.get('/plate/:plate', ensureAuthenticated, async (request, response) => {
|
vansRouter.get(
|
||||||
const { plate } = request.params;
|
'/plate/:plate',
|
||||||
|
ensureAuthenticated,
|
||||||
|
async (request, response) => {
|
||||||
|
const { plate } = request.params;
|
||||||
|
|
||||||
const findVanService = new FindVanService();
|
const findVanService = new FindVanService();
|
||||||
|
|
||||||
const van = await findVanService.execute(plate);
|
const van = await findVanService.execute(plate);
|
||||||
|
|
||||||
return response.json({ data: van });
|
return response.json({ data: van });
|
||||||
});
|
},
|
||||||
|
);
|
||||||
|
|
||||||
vansRouter.get('/user/:id_user', ensureAuthenticated, async (request, response) => {
|
vansRouter.get(
|
||||||
const { id_user } = request.params;
|
'/user/:id_user',
|
||||||
|
// ensureAuthenticated,
|
||||||
|
async (request, response) => {
|
||||||
|
const { id_user } = request.params;
|
||||||
|
|
||||||
const findVanByUserIdService = new FindVanByUserIdService();
|
const findVanByUserIdService = new FindVanByUserIdService();
|
||||||
|
|
||||||
const vans = await findVanByUserIdService.execute(id_user);
|
const vans = await findVanByUserIdService.execute(id_user);
|
||||||
|
|
||||||
return response.json({ data: vans });
|
return response.json({ data: vans });
|
||||||
});
|
},
|
||||||
|
);
|
||||||
|
|
||||||
vansRouter.post('/', ensureAuthenticated, async (request, response) => {
|
vansRouter.post('/', ensureAuthenticated, async (request, response) => {
|
||||||
const {
|
const {
|
||||||
@@ -55,8 +63,8 @@ vansRouter.post('/', ensureAuthenticated, async (request, response) => {
|
|||||||
|
|
||||||
const createVanService = new CreateVanService();
|
const createVanService = new CreateVanService();
|
||||||
|
|
||||||
console.log('aaaaaaaaaaaaaaa')
|
console.log('aaaaaaaaaaaaaaa');
|
||||||
console.log(request.user)
|
console.log(request.user);
|
||||||
|
|
||||||
const van = await createVanService.execute({
|
const van = await createVanService.execute({
|
||||||
id_user: request.user.id_user,
|
id_user: request.user.id_user,
|
||||||
|
|||||||
33
src/services/CheckIfUserHasVansService.ts
Normal file
33
src/services/CheckIfUserHasVansService.ts
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
import { getRepository } from 'typeorm';
|
||||||
|
|
||||||
|
import AppError from '../errors/AppError';
|
||||||
|
|
||||||
|
import User from '../models/User';
|
||||||
|
import Van from '../models/Van';
|
||||||
|
|
||||||
|
interface Request {
|
||||||
|
id_user: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
class CheckIfUserHasVansService {
|
||||||
|
public async execute({ id_user }: Request): Promise<Boolean> {
|
||||||
|
const usersRepository = getRepository(User);
|
||||||
|
const vansRepository = getRepository(Van);
|
||||||
|
|
||||||
|
const user = await usersRepository.findOne({
|
||||||
|
where: { id_user },
|
||||||
|
});
|
||||||
|
|
||||||
|
if (!user) {
|
||||||
|
throw new AppError('O usuário informado não foi encontrado.', 404);
|
||||||
|
}
|
||||||
|
|
||||||
|
const vanExists = await vansRepository.findOne({
|
||||||
|
where: { user },
|
||||||
|
});
|
||||||
|
|
||||||
|
return !!vanExists
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default CheckIfUserHasVansService;
|
||||||
Reference in New Issue
Block a user