diff --git a/src/app/infra/http/middleware/authenticate.ts b/src/app/infra/http/middleware/authenticate.ts index 6e86ac6..605f926 100644 --- a/src/app/infra/http/middleware/authenticate.ts +++ b/src/app/infra/http/middleware/authenticate.ts @@ -2,11 +2,18 @@ import { Role, Status } from '@prisma/client'; import { FastifyReply, FastifyRequest } from 'fastify'; import { app } from '@app/app'; +import { + EXPIRED_TOKEN, + INVALID_TOKEN, + TOKEN_NOT_FOUND, + USER_INACTIVE, + USER_NOT_AUTHORIZED, +} from '@shared/constants/messages'; interface TokenData { id: number; role: Role; - status: string; + status: Status; } export const verifyAuthorization = (roleIds: Role[] = []) => { @@ -15,7 +22,7 @@ export const verifyAuthorization = (roleIds: Role[] = []) => { const authorization = req.headers.authorization; if (!authorization) { - return res.status(401).send({ message: 'Token não fornecido' }); + return res.status(401).send({ message: TOKEN_NOT_FOUND }); } const token = authorization.split(' ')[1]; @@ -23,14 +30,12 @@ export const verifyAuthorization = (roleIds: Role[] = []) => { if (status === Status.INACTIVE) { return res.status(403).send({ - message: 'Usuário inativo! Você está sem acesso no momento', + message: USER_INACTIVE, }); } if (!roleIds.includes(role)) { - return res - .status(403) - .send({ message: 'Acesso proibido! Tipo de usuário não autorizado' }); + return res.status(403).send({ message: USER_NOT_AUTHORIZED }); } req.user = { id, role, status }; @@ -39,11 +44,11 @@ export const verifyAuthorization = (roleIds: Role[] = []) => { } catch (err) { if (err instanceof Error) { if (err.message.includes('expired')) { - return res.status(401).send({ message: 'O token expirou' }); + return res.status(401).send({ message: EXPIRED_TOKEN }); } } - return res.status(401).send({ message: 'Token inválido' }); + return res.status(401).send({ message: INVALID_TOKEN }); } }; }; diff --git a/src/app/infra/http/middleware/update-last-access.ts b/src/app/infra/http/middleware/update-last-access.ts index f02052e..6b74ea2 100644 --- a/src/app/infra/http/middleware/update-last-access.ts +++ b/src/app/infra/http/middleware/update-last-access.ts @@ -1,15 +1,20 @@ import { FastifyReply, FastifyRequest } from 'fastify'; import { app } from '@app/app'; -import { IUserRepository } from '@shared/repositories/interfaces/user'; +import { UserRepository } from '@modules/users/repositories/user-repository'; +import { + EXPIRED_TOKEN, + INVALID_TOKEN, + TOKEN_NOT_FOUND, +} from '@shared/constants/messages'; -export const updateLastAccess = (userRepository: IUserRepository) => { +export const updateLastAccess = (userRepository: UserRepository) => { return async (req: FastifyRequest, res: FastifyReply) => { try { const authorization = req.headers.authorization; if (!authorization) { - return res.status(401).send({ message: 'Token não fornecido' }); + return res.status(401).send({ message: TOKEN_NOT_FOUND }); } const token = authorization.split(' ')[1]; @@ -21,11 +26,11 @@ export const updateLastAccess = (userRepository: IUserRepository) => { } catch (err) { if (err instanceof Error) { if (err.message.includes('expired')) { - return res.status(401).send({ message: 'O token expirou' }); + return res.status(401).send({ message: EXPIRED_TOKEN }); } } - return res.status(401).send({ message: 'Token inválido' }); + return res.status(401).send({ message: INVALID_TOKEN }); } }; }; diff --git a/src/modules/appointments/infra/http/routes.ts b/src/modules/appointments/infra/http/appointment.routes.ts similarity index 92% rename from src/modules/appointments/infra/http/routes.ts rename to src/modules/appointments/infra/http/appointment.routes.ts index 893d6a3..da8cdca 100644 --- a/src/modules/appointments/infra/http/routes.ts +++ b/src/modules/appointments/infra/http/appointment.routes.ts @@ -14,10 +14,10 @@ import { makeUpdateAppointmentController, makeUpdateAppointmentStatusController, } from '@shared/factories/controllers'; -import { makeUserRepository } from '@shared/factories/repositories'; +import { makePrismaUserRepository } from '@shared/factories/repositories'; export const appointmentRoutes = async (app: FastifyInstance) => { - app.addHook('preHandler', updateLastAccess(makeUserRepository())); + app.addHook('preHandler', updateLastAccess(makePrismaUserRepository())); app.get( '/appointments', diff --git a/src/shared/repositories/implementations/appointment-repository.ts b/src/modules/appointments/infra/prisma/prisma-appointment-repository.ts similarity index 94% rename from src/shared/repositories/implementations/appointment-repository.ts rename to src/modules/appointments/infra/prisma/prisma-appointment-repository.ts index 831410a..b003617 100644 --- a/src/shared/repositories/implementations/appointment-repository.ts +++ b/src/modules/appointments/infra/prisma/prisma-appointment-repository.ts @@ -2,6 +2,7 @@ import { AppointmentStatus, Prisma } from '@prisma/client'; import { prisma } from '@app/infra/prisma/client'; +import { AppointmentRepository } from '@modules/appointments/repositories/appointment-repository'; import { FindEntitiesAndCountResult, IAppointment, @@ -9,9 +10,7 @@ import { FindAllAppointmentsAndCountParams, } from '@shared/entities'; -import { IAppointmentRepository } from '../interfaces/appointment'; - -export class AppointmentRepository implements IAppointmentRepository { +export class PrismaAppointmentRepository implements AppointmentRepository { async findAllAppointments( params: FindAllAppointmentsAndCountParams, ): Promise> { @@ -128,7 +127,7 @@ export class AppointmentRepository implements IAppointmentRepository { async updateAppointmentStatus( appointment_id: number, status: AppointmentStatus, - ): Promise { + ): Promise { const appointment = await prisma.appointment.update({ where: { id: appointment_id }, data: { diff --git a/src/shared/repositories/interfaces/appointment.ts b/src/modules/appointments/repositories/appointment-repository.ts similarity index 91% rename from src/shared/repositories/interfaces/appointment.ts rename to src/modules/appointments/repositories/appointment-repository.ts index 109191c..8a576c2 100644 --- a/src/shared/repositories/interfaces/appointment.ts +++ b/src/modules/appointments/repositories/appointment-repository.ts @@ -7,7 +7,7 @@ import { IAppointment, } from '@shared/entities'; -export interface IAppointmentRepository { +export interface AppointmentRepository { findAndCountAll( params: FindAppointmentsAndCountParams, ): Promise>; @@ -23,5 +23,5 @@ export interface IAppointmentRepository { updateAppointmentStatus( appointment_id: number, status: AppointmentStatus, - ): Promise; + ): Promise; } diff --git a/src/modules/appointments/useCases/create-appointment/create-appointment-service.ts b/src/modules/appointments/useCases/create-appointment/create-appointment-service.ts index 23371ad..0b46618 100644 --- a/src/modules/appointments/useCases/create-appointment/create-appointment-service.ts +++ b/src/modules/appointments/useCases/create-appointment/create-appointment-service.ts @@ -1,16 +1,14 @@ import { Status } from '@prisma/client'; import { AppError } from '@app/errors/app-client'; +import { AppointmentRepository } from '@modules/appointments/repositories/appointment-repository'; +import { DoctorRepository } from '@modules/doctors/repositories/doctor-repository'; +import { PatientRepository } from '@modules/patients/repositories/patient-repository'; import { DOCTOR_INACTIVE, DOCTOR_NOT_FOUND, PATIENT_NOT_FOUND, } from '@shared/constants/messages'; -import { - PatientRepository, - AppointmentRepository, - DoctorRepository, -} from '@shared/repositories/implementations'; import { CreateAppointmentDTO } from './create-appointment-schema'; diff --git a/src/modules/appointments/useCases/get-all-appointments/get-all-appointments-service.ts b/src/modules/appointments/useCases/get-all-appointments/get-all-appointments-service.ts index 1e76931..4a6cb50 100644 --- a/src/modules/appointments/useCases/get-all-appointments/get-all-appointments-service.ts +++ b/src/modules/appointments/useCases/get-all-appointments/get-all-appointments-service.ts @@ -1,7 +1,7 @@ import { AppointmentStatus, AppointmentType } from '@prisma/client'; +import { AppointmentRepository } from '@modules/appointments/repositories/appointment-repository'; import { IAppointment, IPaginateRequest } from '@shared/entities'; -import { AppointmentRepository } from '@shared/repositories/implementations/appointment-repository'; import { validatePaginationParams } from '@shared/utils'; import { FindAndCountAll } from '@shared/utils/format-paginate'; diff --git a/src/modules/appointments/useCases/get-appointment/get-appointment-service.ts b/src/modules/appointments/useCases/get-appointment/get-appointment-service.ts index 5f95c78..78a6d29 100644 --- a/src/modules/appointments/useCases/get-appointment/get-appointment-service.ts +++ b/src/modules/appointments/useCases/get-appointment/get-appointment-service.ts @@ -1,12 +1,10 @@ import { AppError } from '@app/errors/app-client'; +import { AppointmentRepository } from '@modules/appointments/repositories/appointment-repository'; +import { PatientRepository } from '@modules/patients/repositories/patient-repository'; import { APPOINTMENT_NOT_FOUND, PATIENT_NOT_FOUND, } from '@shared/constants/messages'; -import { - PatientRepository, - AppointmentRepository, -} from '@shared/repositories/implementations'; export class GetAppointmentService { constructor( diff --git a/src/modules/appointments/useCases/get-appointments-by-patient/get-appointments-by-patient-service.ts b/src/modules/appointments/useCases/get-appointments-by-patient/get-appointments-by-patient-service.ts index 580a9e6..f88e852 100644 --- a/src/modules/appointments/useCases/get-appointments-by-patient/get-appointments-by-patient-service.ts +++ b/src/modules/appointments/useCases/get-appointments-by-patient/get-appointments-by-patient-service.ts @@ -1,12 +1,10 @@ import { AppointmentStatus, AppointmentType } from '@prisma/client'; import { AppError } from '@app/errors/app-client'; +import { AppointmentRepository } from '@modules/appointments/repositories/appointment-repository'; +import { PatientRepository } from '@modules/patients/repositories/patient-repository'; import { PATIENT_NOT_FOUND } from '@shared/constants/messages'; import { IAppointment, IPaginateRequest } from '@shared/entities'; -import { - PatientRepository, - AppointmentRepository, -} from '@shared/repositories/implementations'; import { validatePaginationParams } from '@shared/utils'; import { FindAndCountAll } from '@shared/utils/format-paginate'; diff --git a/src/modules/appointments/useCases/update-appointment-status/update-appointment-status-controller.ts b/src/modules/appointments/useCases/update-appointment-status/update-appointment-status-controller.ts index 252bb2d..ecd78bb 100644 --- a/src/modules/appointments/useCases/update-appointment-status/update-appointment-status-controller.ts +++ b/src/modules/appointments/useCases/update-appointment-status/update-appointment-status-controller.ts @@ -2,6 +2,7 @@ import { type FastifyReply } from 'fastify'; import { BaseController } from '@app/infra/http/controller/baseController'; import { appointmentParamsSchema } from '@modules/appointments/schemas'; +import { APPOINTMENT_STATUS_LABELS } from '@shared/constants/labels'; import { updateAppointmentStatusSchema } from './update-appointment-status-schema'; import { UpdateAppointmentStatusService } from './update-appointment-status-service'; @@ -27,7 +28,7 @@ export class UpdateAppointmentStatusController extends BaseController { return this.ok({ success: true, - status: `Status alterado para ${status}.`, + status: `Status alterado para ${APPOINTMENT_STATUS_LABELS[status]}.`, }); } } diff --git a/src/modules/appointments/useCases/update-appointment-status/update-appointment-status-service.ts b/src/modules/appointments/useCases/update-appointment-status/update-appointment-status-service.ts index 93c2ce7..df0121a 100644 --- a/src/modules/appointments/useCases/update-appointment-status/update-appointment-status-service.ts +++ b/src/modules/appointments/useCases/update-appointment-status/update-appointment-status-service.ts @@ -1,15 +1,13 @@ import { AppointmentStatus } from '@prisma/client'; import { AppError } from '@app/errors/app-client'; +import { AppointmentRepository } from '@modules/appointments/repositories/appointment-repository'; +import { PatientRepository } from '@modules/patients/repositories/patient-repository'; import { APPOINTMENT_NOT_FOUND, APPOINTMENT_STATUS_CANNOT_BE_CHANGED, PATIENT_NOT_FOUND, } from '@shared/constants/messages'; -import { - AppointmentRepository, - PatientRepository, -} from '@shared/repositories/implementations'; import { UpdateAppointmentStatusDTO } from './update-appointment-status-schema'; @@ -26,7 +24,7 @@ export class UpdateAppointmentStatusService { appointmentId: number, patientId: string, dto: UpdateAppointmentStatusDTO, - ): Promise { + ): Promise { const patient = await this.patientRepository.findById(patientId); if (!patient) { diff --git a/src/modules/appointments/useCases/update-appointment/update-appointment-service.ts b/src/modules/appointments/useCases/update-appointment/update-appointment-service.ts index 0576675..81cb678 100644 --- a/src/modules/appointments/useCases/update-appointment/update-appointment-service.ts +++ b/src/modules/appointments/useCases/update-appointment/update-appointment-service.ts @@ -1,17 +1,15 @@ import { Status } from '@prisma/client'; import { AppError } from '@app/errors/app-client'; +import { AppointmentRepository } from '@modules/appointments/repositories/appointment-repository'; +import { DoctorRepository } from '@modules/doctors/repositories/doctor-repository'; +import { PatientRepository } from '@modules/patients/repositories/patient-repository'; import { APPOINTMENT_NOT_FOUND, DOCTOR_INACTIVE, DOCTOR_NOT_FOUND, PATIENT_NOT_FOUND, } from '@shared/constants/messages'; -import { - PatientRepository, - AppointmentRepository, -} from '@shared/repositories/implementations'; -import { DoctorRepository } from '@shared/repositories/implementations/doctor-repository'; import { UpdateAppointmentDTO } from './update-appointment-schema'; diff --git a/src/modules/auth/infra/http/routes.ts b/src/modules/auth/infra/http/auth.routes.ts similarity index 100% rename from src/modules/auth/infra/http/routes.ts rename to src/modules/auth/infra/http/auth.routes.ts diff --git a/src/modules/auth/useCases/forgot-password/forgot-password-service.ts b/src/modules/auth/useCases/forgot-password/forgot-password-service.ts index fc76f2d..0b3511e 100644 --- a/src/modules/auth/useCases/forgot-password/forgot-password-service.ts +++ b/src/modules/auth/useCases/forgot-password/forgot-password-service.ts @@ -2,9 +2,9 @@ import { Status } from '@prisma/client'; import nodemailer from 'nodemailer'; import { AppError } from '@app/errors/app-client'; -import { getMailClient } from '@shared/configs/mailer'; +import { UserRepository } from '@modules/users/repositories/user-repository'; +import { sendResetPasswordEmail } from '@shared/config/emails/reset-password'; import { USER_INACTIVE, USER_NOT_FOUND } from '@shared/constants/messages'; -import { UserRepository } from '@shared/repositories/implementations'; import { generateProvisionalPassword, hashPassword, @@ -36,35 +36,15 @@ export class ForgotPasswordService { password: hashedPassword, }); + // TO-DO console.log({ provisionalPassword }); - const mail = await getMailClient(); - - const message = await mail.sendMail({ - from: { - name: 'Equipe Teste', - address: 'equipe@example.com', - }, - to: user.email, - subject: 'Sua nova senha já está disponivel', - html: ` -
-

Olá, ${user.name}!

-

Recebemos seu pedido para redefinir a senha e estamos aqui para ajudar!

-

Use a senha provisória abaixo para acessar sua conta novamente:

-

${provisionalPassword}

-

Não se esqueça de trocar essa senha assim que possível para manter sua conta segura.

-

Você pode acessar o sistema clicando no link abaixo:

-

Clique aqui para fazer login

-

Caso você não tenha solicitado a redefinição de senha, pode ignorar esta mensagem sem preocupações.

-

Estamos sempre aqui para ajudar!

-

Abraços,

-

Equipe Teste

-
- `.trim(), + const message = await sendResetPasswordEmail({ + user, + temporaryPassword: provisionalPassword, }); - // Remover + // TO-DO console.error(nodemailer.getTestMessageUrl(message)); } } diff --git a/src/modules/auth/useCases/login/login-service.ts b/src/modules/auth/useCases/login/login-service.ts index 6425dc1..e470a62 100644 --- a/src/modules/auth/useCases/login/login-service.ts +++ b/src/modules/auth/useCases/login/login-service.ts @@ -3,12 +3,12 @@ import { Status } from '@prisma/client'; import { app } from '@app/app'; import { AppError } from '@app/errors/app-client'; +import { UserRepository } from '@modules/users/repositories/user-repository'; import { - EMAIL_INVALID, - PASSWORD_INVALID, + INVALID_EMAIL, + INVALID_PASSWORD, USER_INACTIVE, } from '@shared/constants/messages'; -import { UserRepository } from '@shared/repositories/implementations'; import { AuthenticationDTO } from './login-schema'; @@ -21,7 +21,7 @@ export class LoginService { const user = await this.userRepository.findByEmail(email); if (!user) { - throw new AppError(EMAIL_INVALID); + throw new AppError(INVALID_EMAIL); } const isPasswordValid = await app.bcrypt.compare( @@ -30,7 +30,7 @@ export class LoginService { ); if (!isPasswordValid) { - throw new AppError(PASSWORD_INVALID); + throw new AppError(INVALID_PASSWORD); } if (user.status === Status.INACTIVE) { diff --git a/src/modules/doctors/infra/http/routes.ts b/src/modules/doctors/infra/http/doctor.routes.ts similarity index 88% rename from src/modules/doctors/infra/http/routes.ts rename to src/modules/doctors/infra/http/doctor.routes.ts index 87c0dd2..252cc70 100644 --- a/src/modules/doctors/infra/http/routes.ts +++ b/src/modules/doctors/infra/http/doctor.routes.ts @@ -14,14 +14,14 @@ import { makeUpdateDoctorController, makeUpdateDoctorStatusController, } from '@shared/factories/controllers'; -import { makeUserRepository } from '@shared/factories/repositories'; +import { makePrismaUserRepository } from '@shared/factories/repositories'; export const doctorRoutes = async (app: FastifyInstance) => { app.addHook( 'preHandler', verifyAuthorization([Role.ADMIN, Role.EDITOR, Role.CLINICAL]), ); - app.addHook('preHandler', updateLastAccess(makeUserRepository())); + app.addHook('preHandler', updateLastAccess(makePrismaUserRepository())); app.get('/doctors', bindController(makeGetAllDoctorsController())); app.get('/doctors/:id', bindController(makeGetDoctorController())); diff --git a/src/shared/repositories/implementations/doctor-repository.ts b/src/modules/doctors/infra/prisma/prisma-doctor-repository.ts similarity index 89% rename from src/shared/repositories/implementations/doctor-repository.ts rename to src/modules/doctors/infra/prisma/prisma-doctor-repository.ts index 13edc7d..f0a9e09 100644 --- a/src/shared/repositories/implementations/doctor-repository.ts +++ b/src/modules/doctors/infra/prisma/prisma-doctor-repository.ts @@ -1,15 +1,14 @@ import { Status } from '@prisma/client'; import { prisma } from '@app/infra/prisma/client'; +import { DoctorRepository } from '@modules/doctors/repositories/doctor-repository'; import { FindEntitiesAndCountParams, FindEntitiesAndCountResult, IDoctor, } from '@shared/entities'; -import { IDoctorRepository } from '../interfaces/doctor'; - -export class DoctorRepository implements IDoctorRepository { +export class PrismaDoctorRepository implements DoctorRepository { async findAndCountAll( params: FindEntitiesAndCountParams, ): Promise> { @@ -73,7 +72,7 @@ export class DoctorRepository implements IDoctorRepository { }); } - async updateStatus(id: number, status: Status): Promise { + async updateStatus(id: number, status: Status): Promise { const doctor = await prisma.doctor.update({ where: { id }, data: { status }, diff --git a/src/shared/repositories/interfaces/doctor.ts b/src/modules/doctors/repositories/doctor-repository.ts similarity index 85% rename from src/shared/repositories/interfaces/doctor.ts rename to src/modules/doctors/repositories/doctor-repository.ts index 2dca3da..7f2b3be 100644 --- a/src/shared/repositories/interfaces/doctor.ts +++ b/src/modules/doctors/repositories/doctor-repository.ts @@ -6,7 +6,7 @@ import { IDoctor, } from '@shared/entities'; -export interface IDoctorRepository { +export interface DoctorRepository { findAndCountAll( params: FindEntitiesAndCountParams, ): Promise>; @@ -15,6 +15,6 @@ export interface IDoctorRepository { findByCNS(cns: string): Promise; create(dto: IDoctor): Promise; update(id: number, dto: Partial): Promise; - updateStatus(id: number, status: Status): Promise; + updateStatus(id: number, status: Status): Promise; delete(id: number): Promise; } diff --git a/src/modules/doctors/useCases/create-doctor/create-doctor-service.ts b/src/modules/doctors/useCases/create-doctor/create-doctor-service.ts index 8ef4f65..dfb1123 100644 --- a/src/modules/doctors/useCases/create-doctor/create-doctor-service.ts +++ b/src/modules/doctors/useCases/create-doctor/create-doctor-service.ts @@ -1,7 +1,7 @@ import { AppError } from '@app/errors/app-client'; +import { DoctorRepository } from '@modules/doctors/repositories/doctor-repository'; import { CNS_EXISTS } from '@shared/constants/messages'; import { IDoctor } from '@shared/entities'; -import { DoctorRepository } from '@shared/repositories/implementations/doctor-repository'; import { CreateDoctorDTO } from './create-doctor-schema'; diff --git a/src/modules/doctors/useCases/delete-doctor/delete-doctor-service.ts b/src/modules/doctors/useCases/delete-doctor/delete-doctor-service.ts index 8863e7a..c81a395 100644 --- a/src/modules/doctors/useCases/delete-doctor/delete-doctor-service.ts +++ b/src/modules/doctors/useCases/delete-doctor/delete-doctor-service.ts @@ -1,7 +1,7 @@ import { AppError } from '@app/errors/app-client'; +import { DoctorRepository } from '@modules/doctors/repositories/doctor-repository'; import { DOCTOR_NOT_FOUND } from '@shared/constants/messages'; import { IDoctor } from '@shared/entities'; -import { DoctorRepository } from '@shared/repositories/implementations/doctor-repository'; export class DeleteDoctorService { constructor(private readonly doctorRepository: DoctorRepository) { diff --git a/src/modules/doctors/useCases/get-all-doctors/get-all-doctors-service.ts b/src/modules/doctors/useCases/get-all-doctors/get-all-doctors-service.ts index eb2bb87..e712309 100644 --- a/src/modules/doctors/useCases/get-all-doctors/get-all-doctors-service.ts +++ b/src/modules/doctors/useCases/get-all-doctors/get-all-doctors-service.ts @@ -1,5 +1,5 @@ +import { DoctorRepository } from '@modules/doctors/repositories/doctor-repository'; import { IDoctor, IPaginateRequest } from '@shared/entities'; -import { DoctorRepository } from '@shared/repositories/implementations/doctor-repository'; import { validatePaginationParams } from '@shared/utils'; import { FindAndCountAll } from '@shared/utils/format-paginate'; diff --git a/src/modules/doctors/useCases/get-doctor/get-doctor-service.ts b/src/modules/doctors/useCases/get-doctor/get-doctor-service.ts index efd8ace..c3f90a6 100644 --- a/src/modules/doctors/useCases/get-doctor/get-doctor-service.ts +++ b/src/modules/doctors/useCases/get-doctor/get-doctor-service.ts @@ -1,7 +1,7 @@ import { AppError } from '@app/errors/app-client'; +import { DoctorRepository } from '@modules/doctors/repositories/doctor-repository'; import { DOCTOR_NOT_FOUND } from '@shared/constants/messages'; import { IDoctor } from '@shared/entities'; -import { DoctorRepository } from '@shared/repositories/implementations/doctor-repository'; export class GetDoctorService { constructor(private readonly doctorRepository: DoctorRepository) { diff --git a/src/modules/doctors/useCases/update-doctor-status/update-doctor-status-controller.ts b/src/modules/doctors/useCases/update-doctor-status/update-doctor-status-controller.ts index 0d8e063..c172457 100644 --- a/src/modules/doctors/useCases/update-doctor-status/update-doctor-status-controller.ts +++ b/src/modules/doctors/useCases/update-doctor-status/update-doctor-status-controller.ts @@ -1,6 +1,7 @@ import { type FastifyReply } from 'fastify'; import { BaseController } from '@app/infra/http/controller/baseController'; +import { STATUS_LABELS } from '@shared/constants/labels'; import { intIdParamSchema } from '@shared/utils'; import { updateDoctorStatusSchema } from './update-doctor-status-schema'; @@ -21,7 +22,7 @@ export class UpdateDoctorStatusController extends BaseController { return this.ok({ success: true, - message: `Status do médico atualizado para ${status}`, + message: `Status do médico atualizado para ${STATUS_LABELS[status]}`, }); } } diff --git a/src/modules/doctors/useCases/update-doctor-status/update-doctor-status-service.ts b/src/modules/doctors/useCases/update-doctor-status/update-doctor-status-service.ts index 3ea101c..d451cb0 100644 --- a/src/modules/doctors/useCases/update-doctor-status/update-doctor-status-service.ts +++ b/src/modules/doctors/useCases/update-doctor-status/update-doctor-status-service.ts @@ -1,6 +1,8 @@ +import { Status } from '@prisma/client'; + import { AppError } from '@app/errors/app-client'; +import { DoctorRepository } from '@modules/doctors/repositories/doctor-repository'; import { DOCTOR_NOT_FOUND } from '@shared/constants/messages'; -import { DoctorRepository } from '@shared/repositories/implementations'; import { UpdateDoctorStatusDTO } from './update-doctor-status-schema'; @@ -9,7 +11,7 @@ export class UpdateDoctorStatusService { this.doctorRepository = doctorRepository; } - async execute(id: number, dto: UpdateDoctorStatusDTO): Promise { + async execute(id: number, dto: UpdateDoctorStatusDTO): Promise { const doctor = await this.doctorRepository.findById(id); if (!doctor) { diff --git a/src/modules/doctors/useCases/update-doctor/update-doctor-service.ts b/src/modules/doctors/useCases/update-doctor/update-doctor-service.ts index d3dd886..c96a215 100644 --- a/src/modules/doctors/useCases/update-doctor/update-doctor-service.ts +++ b/src/modules/doctors/useCases/update-doctor/update-doctor-service.ts @@ -1,7 +1,7 @@ import { AppError } from '@app/errors/app-client'; +import { DoctorRepository } from '@modules/doctors/repositories/doctor-repository'; import { CNS_EXISTS, DOCTOR_NOT_FOUND } from '@shared/constants/messages'; import { IDoctor } from '@shared/entities'; -import { DoctorRepository } from '@shared/repositories/implementations/doctor-repository'; import { UpdateDoctorDTO } from './update-doctor-schema'; diff --git a/src/modules/exports.ts b/src/modules/exports.ts index 66f579b..0a74be2 100644 --- a/src/modules/exports.ts +++ b/src/modules/exports.ts @@ -1,6 +1,6 @@ -export * from './auth/infra/http/routes'; -export * from './patients/infra/http/routes'; -export * from './appointments/infra/http/routes'; -export * from './upload/infra/http/routes'; -export * from './users/infra/http/routes'; -export * from './doctors/infra/http/routes'; +export * from './auth/infra/http/auth.routes'; +export * from './patients/infra/http/patient.routes'; +export * from './appointments/infra/http/appointment.routes'; +export * from './upload/infra/http/upload.routes'; +export * from './users/infra/http/user.routes'; +export * from './doctors/infra/http/doctor.routes'; diff --git a/src/modules/patients/infra/http/routes.ts b/src/modules/patients/infra/http/patient.routes.ts similarity index 88% rename from src/modules/patients/infra/http/routes.ts rename to src/modules/patients/infra/http/patient.routes.ts index e8e0b63..40ac2b0 100644 --- a/src/modules/patients/infra/http/routes.ts +++ b/src/modules/patients/infra/http/patient.routes.ts @@ -12,10 +12,10 @@ import { makeUpdatePatientController, makeCreatePatientController, } from '@shared/factories/controllers'; -import { makeUserRepository } from '@shared/factories/repositories'; +import { makePrismaUserRepository } from '@shared/factories/repositories'; export const patientRoutes = async (app: FastifyInstance) => { - app.addHook('preHandler', updateLastAccess(makeUserRepository())); + app.addHook('preHandler', updateLastAccess(makePrismaUserRepository())); app.post( '/patients', diff --git a/src/shared/repositories/implementations/patient-repository.ts b/src/modules/patients/infra/prisma/prisma-patient-repository.ts similarity index 92% rename from src/shared/repositories/implementations/patient-repository.ts rename to src/modules/patients/infra/prisma/prisma-patient-repository.ts index 1f3ea7d..45b99f0 100644 --- a/src/shared/repositories/implementations/patient-repository.ts +++ b/src/modules/patients/infra/prisma/prisma-patient-repository.ts @@ -1,17 +1,15 @@ -/* eslint-disable @typescript-eslint/no-explicit-any */ import { Prisma } from '@prisma/client'; import { prisma } from '@app/infra/prisma/client'; +import { PatientRepository } from '@modules/patients/repositories/patient-repository'; import { type FindAllPatientsAndCountParams, type FindEntitiesAndCountResult, IPatient, } from '@shared/entities'; +import { convertDecimalToNumber } from '@shared/utils'; -import { convertDecimalToNumber } from '../../utils'; -import { IPatientRepository } from '../interfaces/patient'; - -export class PatientRepository implements IPatientRepository { +export class PrismaPatientRepository implements PatientRepository { async findAndCountAll( params: FindAllPatientsAndCountParams, ): Promise> { diff --git a/src/shared/repositories/interfaces/patient.ts b/src/modules/patients/repositories/patient-repository.ts similarity index 94% rename from src/shared/repositories/interfaces/patient.ts rename to src/modules/patients/repositories/patient-repository.ts index 5ef64da..9774bc1 100644 --- a/src/shared/repositories/interfaces/patient.ts +++ b/src/modules/patients/repositories/patient-repository.ts @@ -4,7 +4,7 @@ import { IPatient, } from '@shared/entities'; -export interface IPatientRepository { +export interface PatientRepository { findAndCountAll( params: FindAllPatientsAndCountParams, ): Promise>; diff --git a/src/modules/patients/useCases/create-patient/create-patient-service.ts b/src/modules/patients/useCases/create-patient/create-patient-service.ts index 8c9e9a4..b13d74a 100644 --- a/src/modules/patients/useCases/create-patient/create-patient-service.ts +++ b/src/modules/patients/useCases/create-patient/create-patient-service.ts @@ -1,7 +1,7 @@ import { AppError } from '@app/errors/app-client'; +import { PatientRepository } from '@modules/patients/repositories/patient-repository'; import { CNS_EXISTS, CPF_EXISTS } from '@shared/constants/messages'; import { IPatient } from '@shared/entities'; -import { PatientRepository } from '@shared/repositories/implementations'; import { CreatePatientDTO } from './create-patient-schema'; diff --git a/src/modules/patients/useCases/get-all-patients/get-all-patients-service.ts b/src/modules/patients/useCases/get-all-patients/get-all-patients-service.ts index 0020932..cfec048 100644 --- a/src/modules/patients/useCases/get-all-patients/get-all-patients-service.ts +++ b/src/modules/patients/useCases/get-all-patients/get-all-patients-service.ts @@ -1,5 +1,5 @@ +import { PatientRepository } from '@modules/patients/repositories/patient-repository'; import { IPatient, IPatientFilters } from '@shared/entities'; -import { PatientRepository } from '@shared/repositories/implementations'; import { FindAndCountAll } from '@shared/utils/format-paginate'; import { validatePaginationParams } from '@shared/utils/validate-paginate'; diff --git a/src/modules/patients/useCases/get-patient/get-patient-service.ts b/src/modules/patients/useCases/get-patient/get-patient-service.ts index c18e499..78696e1 100644 --- a/src/modules/patients/useCases/get-patient/get-patient-service.ts +++ b/src/modules/patients/useCases/get-patient/get-patient-service.ts @@ -1,7 +1,7 @@ import { AppError } from '@app/errors/app-client'; +import { PatientRepository } from '@modules/patients/repositories/patient-repository'; import { PATIENT_NOT_FOUND } from '@shared/constants/messages'; import { IPatient } from '@shared/entities'; -import { PatientRepository } from '@shared/repositories/implementations'; export class GetPatientService { constructor(private readonly patientRepository: PatientRepository) { diff --git a/src/modules/patients/useCases/update-patient/update-patient-service.ts b/src/modules/patients/useCases/update-patient/update-patient-service.ts index eacd557..954acec 100644 --- a/src/modules/patients/useCases/update-patient/update-patient-service.ts +++ b/src/modules/patients/useCases/update-patient/update-patient-service.ts @@ -1,11 +1,11 @@ import { AppError } from '@app/errors/app-client'; +import { PatientRepository } from '@modules/patients/repositories/patient-repository'; import { CNS_EXISTS, CPF_EXISTS, PATIENT_NOT_FOUND, } from '@shared/constants/messages'; import { IPatient } from '@shared/entities'; -import { PatientRepository } from '@shared/repositories/implementations'; import { UpdatePatientDTO } from './update-patient-schema'; diff --git a/src/modules/upload/infra/http/routes.ts b/src/modules/upload/infra/http/upload.routes.ts similarity index 100% rename from src/modules/upload/infra/http/routes.ts rename to src/modules/upload/infra/http/upload.routes.ts diff --git a/src/modules/upload/useCases/upload/upload-service.ts b/src/modules/upload/useCases/upload/upload-service.ts index 521920c..11a6b4f 100644 --- a/src/modules/upload/useCases/upload/upload-service.ts +++ b/src/modules/upload/useCases/upload/upload-service.ts @@ -12,11 +12,11 @@ const pump = util.promisify(pipeline); export class UploadService { async execute(uploadData: MultipartFile | undefined): Promise { if (!uploadData) { - throw new AppError('No file uploaded'); + throw new AppError('Nenhum arquivo carregado'); } if (!uploadData.mimetype.startsWith('image/')) { - throw new AppError('Only image files are allowed'); + throw new AppError('Somente arquivos de imagem são permitidos'); } const fileId = randomUUID(); diff --git a/src/modules/users/infra/http/routes.ts b/src/modules/users/infra/http/user.routes.ts similarity index 91% rename from src/modules/users/infra/http/routes.ts rename to src/modules/users/infra/http/user.routes.ts index e24c013..aae7665 100644 --- a/src/modules/users/infra/http/routes.ts +++ b/src/modules/users/infra/http/user.routes.ts @@ -15,10 +15,10 @@ import { makeUpdateUserController, makeUpdateUserStatusController, } from '@shared/factories/controllers'; -import { makeUserRepository } from '@shared/factories/repositories'; +import { makePrismaUserRepository } from '@shared/factories/repositories'; const userRoutes = async (app: FastifyInstance) => { - app.addHook('preHandler', updateLastAccess(makeUserRepository())); + app.addHook('preHandler', updateLastAccess(makePrismaUserRepository())); app.get( '/users', diff --git a/src/shared/repositories/implementations/user-repository.ts b/src/modules/users/infra/prisma/prisma-user-repository.ts similarity index 93% rename from src/shared/repositories/implementations/user-repository.ts rename to src/modules/users/infra/prisma/prisma-user-repository.ts index 9f63de2..4d2c123 100644 --- a/src/shared/repositories/implementations/user-repository.ts +++ b/src/modules/users/infra/prisma/prisma-user-repository.ts @@ -1,15 +1,14 @@ import { Status } from '@prisma/client'; import { prisma } from '@app/infra/prisma/client'; +import { UserRepository } from '@modules/users/repositories/user-repository'; import { type FindEntitiesAndCountParams, type FindEntitiesAndCountResult, IUser, } from '@shared/entities'; -import { IUserRepository } from '../interfaces/user'; - -export class UserRepository implements IUserRepository { +export class PrismaUserRepository implements UserRepository { async findAndCountAll( params: FindEntitiesAndCountParams, ): Promise> { @@ -103,7 +102,7 @@ export class UserRepository implements IUserRepository { }); } - async updateStatus(id: number, status: Status): Promise { + async updateStatus(id: number, status: Status): Promise { const doctor = await prisma.user.update({ where: { id }, data: { status }, diff --git a/src/shared/repositories/interfaces/user.ts b/src/modules/users/repositories/user-repository.ts similarity index 86% rename from src/shared/repositories/interfaces/user.ts rename to src/modules/users/repositories/user-repository.ts index 3917823..4a927c5 100644 --- a/src/shared/repositories/interfaces/user.ts +++ b/src/modules/users/repositories/user-repository.ts @@ -6,7 +6,7 @@ import { IUser, } from '@shared/entities'; -export interface IUserRepository { +export interface UserRepository { findAndCountAll( params: FindEntitiesAndCountParams, ): Promise>; @@ -14,7 +14,7 @@ export interface IUserRepository { findByEmail(email: string): Promise; create(dto: IUser): Promise; update(id: number, dto: Partial): Promise; - updateStatus(id: number, status: Status): Promise; + updateStatus(id: number, status: Status): Promise; changePassword(id: number, dto: Partial): Promise; delete(id: number): Promise; updateLastAccess(id: number): Promise; diff --git a/src/modules/users/useCases/change-password-user/change-password-user-service.ts b/src/modules/users/useCases/change-password-user/change-password-user-service.ts index ef6b5b9..d36b85c 100644 --- a/src/modules/users/useCases/change-password-user/change-password-user-service.ts +++ b/src/modules/users/useCases/change-password-user/change-password-user-service.ts @@ -1,10 +1,10 @@ import { AppError } from '@app/errors/app-client'; +import { UserRepository } from '@modules/users/repositories/user-repository'; import { INCONPATIBLE_PASSWORDS, USER_NOT_FOUND, } from '@shared/constants/messages'; import { IUser } from '@shared/entities'; -import { UserRepository } from '@shared/repositories/implementations'; import { hashPassword } from '@shared/utils/generate-password'; import { ChangePasswordUserDTO } from './change-password-user-schema'; diff --git a/src/modules/users/useCases/create-user/create-user-service.ts b/src/modules/users/useCases/create-user/create-user-service.ts index df72bcd..0e6087e 100644 --- a/src/modules/users/useCases/create-user/create-user-service.ts +++ b/src/modules/users/useCases/create-user/create-user-service.ts @@ -1,10 +1,10 @@ import nodemailer from 'nodemailer'; import { AppError } from '@app/errors/app-client'; -import { getMailClient } from '@shared/configs/mailer'; +import { UserRepository } from '@modules/users/repositories/user-repository'; +import { sendWelcomeEmail } from '@shared/config/emails/welcome'; import { EMAIL_IS_ALREADY_IN_USE } from '@shared/constants/messages'; import { IUser } from '@shared/entities'; -import { UserRepository } from '@shared/repositories/implementations'; import { generateProvisionalPassword, hashPassword, @@ -32,36 +32,12 @@ export class CreateUserService { password: hashedPassword, }); - const mail = await getMailClient(); - - const message = await mail.sendMail({ - from: { - name: 'Equipe Teste', - address: 'equipe@example.com', - }, - to: newUser.email, - subject: 'Bem-vindo ao Sistema de Gerenciamento Hospitalar!', - html: ` -
-

Olá, ${newUser.name}!

-

Seja muito bem-vindo ao Sistema de Gerenciamento Hospitalar!

-

Seu acesso foi criado com sucesso e estamos felizes em ter você em nossa equipe.

-

Para acessar o sistema, use a senha provisória: ${provisionalPassword}

-

-

Por favor, troque sua senha assim que possível para garantir a segurança do seu acesso.

-

Você pode acessar o sistema clicando no link abaixo:

-

-

Clique aqui para fazer login

-

-

Caso não tenha solicitado este e-mail, apenas ignore esta mensagem.

-

-

Abraços,

-

Equipe Teste

-
- `.trim(), + const message = await sendWelcomeEmail({ + user: newUser, + password: provisionalPassword, }); - // Remover + // TO-DO console.error(nodemailer.getTestMessageUrl(message)); return newUser; diff --git a/src/modules/users/useCases/delete-user/delete-user-service.ts b/src/modules/users/useCases/delete-user/delete-user-service.ts index 0310a5b..340f9a7 100644 --- a/src/modules/users/useCases/delete-user/delete-user-service.ts +++ b/src/modules/users/useCases/delete-user/delete-user-service.ts @@ -1,7 +1,7 @@ import { AppError } from '@app/errors/app-client'; +import { UserRepository } from '@modules/users/repositories/user-repository'; import { USER_NOT_FOUND } from '@shared/constants/messages'; import { IUser } from '@shared/entities'; -import { UserRepository } from '@shared/repositories/implementations'; export class DeleteUserService { constructor(private readonly userRepository: UserRepository) { diff --git a/src/modules/users/useCases/gell-all-users/get-all-users-service.ts b/src/modules/users/useCases/gell-all-users/get-all-users-service.ts index a14ab5b..69890f5 100644 --- a/src/modules/users/useCases/gell-all-users/get-all-users-service.ts +++ b/src/modules/users/useCases/gell-all-users/get-all-users-service.ts @@ -1,5 +1,5 @@ +import { UserRepository } from '@modules/users/repositories/user-repository'; import { IPaginateRequest, IUser } from '@shared/entities'; -import { UserRepository } from '@shared/repositories/implementations'; import { type FindAndCountAll } from '@shared/utils/format-paginate'; import { validatePaginationParams } from '@shared/utils/validate-paginate'; diff --git a/src/modules/users/useCases/get-user/get-user-service.ts b/src/modules/users/useCases/get-user/get-user-service.ts index 5e67f28..ea6654c 100644 --- a/src/modules/users/useCases/get-user/get-user-service.ts +++ b/src/modules/users/useCases/get-user/get-user-service.ts @@ -1,7 +1,7 @@ import { AppError } from '@app/errors/app-client'; +import { UserRepository } from '@modules/users/repositories/user-repository'; import { USER_NOT_FOUND } from '@shared/constants/messages'; import { IUser } from '@shared/entities'; -import { UserRepository } from '@shared/repositories/implementations'; export class GetUserService { constructor(private readonly userRepository: UserRepository) { diff --git a/src/modules/users/useCases/update-user-status/update-user-status-controller.ts b/src/modules/users/useCases/update-user-status/update-user-status-controller.ts index 0430368..6c0205b 100644 --- a/src/modules/users/useCases/update-user-status/update-user-status-controller.ts +++ b/src/modules/users/useCases/update-user-status/update-user-status-controller.ts @@ -1,6 +1,7 @@ import { type FastifyReply } from 'fastify'; import { BaseController } from '@app/infra/http/controller/baseController'; +import { STATUS_LABELS } from '@shared/constants/labels'; import { IUser } from '@shared/entities'; import { intIdParamSchema } from '@shared/utils'; @@ -27,7 +28,7 @@ export class UpdateUserStatusController extends BaseController { return this.ok({ success: true, - message: `Status do usuário atualizado para ${status}.`, + message: `Status do usuário atualizado para ${STATUS_LABELS[status]}.`, }); } } diff --git a/src/modules/users/useCases/update-user-status/update-user-status-service.ts b/src/modules/users/useCases/update-user-status/update-user-status-service.ts index f9e6e36..c680f40 100644 --- a/src/modules/users/useCases/update-user-status/update-user-status-service.ts +++ b/src/modules/users/useCases/update-user-status/update-user-status-service.ts @@ -1,10 +1,13 @@ +import { Status } from '@prisma/client'; + import { AppError } from '@app/errors/app-client'; +import { UserRepository } from '@modules/users/repositories/user-repository'; +import { STATUS_LABELS } from '@shared/constants/labels'; import { USER_NOT_FOUND, STATUS_CANNOT_BE_CHANGED, } from '@shared/constants/messages'; import { IUser } from '@shared/entities'; -import { UserRepository } from '@shared/repositories/implementations'; import { UpdateUserStatusDTO } from './update-user-status-schema'; @@ -17,7 +20,7 @@ export class UpdateUserStatusService { id: number, dto: UpdateUserStatusDTO, loggedInUser: IUser, - ): Promise { + ): Promise { const user = await this.userRepository.findById(id); if (!user) throw new AppError(USER_NOT_FOUND, 404); @@ -27,7 +30,9 @@ export class UpdateUserStatusService { } if (user.status === dto.status) { - throw new AppError(`O status já está definido como "${user.status}".`); + throw new AppError( + `O status já está definido como "${STATUS_LABELS[user.status]}".`, + ); } const status = await this.userRepository.updateStatus(id, dto.status); diff --git a/src/modules/users/useCases/update-user/update-user-service.ts b/src/modules/users/useCases/update-user/update-user-service.ts index afa2b21..f7674e8 100644 --- a/src/modules/users/useCases/update-user/update-user-service.ts +++ b/src/modules/users/useCases/update-user/update-user-service.ts @@ -1,4 +1,5 @@ import { AppError } from '@app/errors/app-client'; +import { UserRepository } from '@modules/users/repositories/user-repository'; import { EMAIL_CANNOT_BE_CHANGED, EMAIL_IS_ALREADY_IN_USE, @@ -6,7 +7,6 @@ import { USER_NOT_FOUND, } from '@shared/constants/messages'; import { IUser } from '@shared/entities'; -import { UserRepository } from '@shared/repositories/implementations'; import { UpdateUserDTO } from './update-user-schema'; diff --git a/src/shared/config/emails/reset-password.ts b/src/shared/config/emails/reset-password.ts new file mode 100644 index 0000000..4b4c369 --- /dev/null +++ b/src/shared/config/emails/reset-password.ts @@ -0,0 +1,53 @@ +import { IUser } from '@shared/entities'; + +import { getMailClient } from '../mailer'; + +interface SendResetPasswordEmailProps { + user: IUser; + temporaryPassword: string; +} + +export const sendResetPasswordEmail = async ({ + user, + temporaryPassword, +}: SendResetPasswordEmailProps) => { + const mail = await getMailClient(); + + const sender = { + name: 'Equipe Suporte', + address: 'suporte@example.com', + }; + + const message = await mail.sendMail({ + from: sender, + to: user.email, + subject: 'Redefinição de senha - Sua nova senha está disponível', + html: ` +
+

Olá, ${user.name}!

+

Recebemos seu pedido para redefinir a senha e estamos aqui para ajudar!

+

Use a senha provisória abaixo para acessar sua conta novamente:

+

${temporaryPassword}

+

Não se esqueça de trocar essa senha assim que possível para manter sua conta segura.

+

Você pode acessar o sistema clicando no link abaixo:

+

+ + Clique aqui para fazer login + +

+

Caso você não tenha solicitado a redefinição de senha, pode ignorar esta mensagem sem preocupações.

+
+

Estamos sempre aqui para ajudar!

+

Abraços,

+

Equipe Suporte

+
+
+ `.trim(), + }); + + return message; +}; diff --git a/src/shared/config/emails/welcome.ts b/src/shared/config/emails/welcome.ts new file mode 100644 index 0000000..cb92446 --- /dev/null +++ b/src/shared/config/emails/welcome.ts @@ -0,0 +1,53 @@ +import { IUser } from '@shared/entities'; + +import { getMailClient } from '../mailer'; + +interface SendWelcomeEmailProps { + user: IUser; + password: string; +} + +export const sendWelcomeEmail = async ({ + user, + password, +}: SendWelcomeEmailProps) => { + const mail = await getMailClient(); + + const sender = { + name: 'Equipe Suporte', + address: 'suporte@example.com', + }; + + const message = await mail.sendMail({ + from: sender, + to: user.email, + subject: 'Bem-vindo ao Sistema de Gerenciamento Hospitalar!', + html: ` +
+

Olá, ${user.name}!

+

Seja muito bem-vindo ao Sistema de Gerenciamento Hospitalar!

+

Seu acesso foi criado com sucesso e estamos felizes em ter você em nossa equipe.

+

Para acessar o sistema, utilize a senha provisória abaixo:

+

${password}

+

Recomendamos que você troque sua senha assim que possível para garantir a segurança do seu acesso.

+

Você pode acessar o sistema clicando no link abaixo:

+

+ + Clique aqui para fazer login + +

+

Caso você não tenha solicitado este e-mail, apenas ignore esta mensagem.

+ +
+ `.trim(), + }); + + return message; +}; diff --git a/src/shared/configs/mailer.ts b/src/shared/config/mailer.ts similarity index 100% rename from src/shared/configs/mailer.ts rename to src/shared/config/mailer.ts diff --git a/src/shared/constants/labels.ts b/src/shared/constants/labels.ts new file mode 100644 index 0000000..61d8629 --- /dev/null +++ b/src/shared/constants/labels.ts @@ -0,0 +1,10 @@ +export const STATUS_LABELS = { + ACTIVE: 'Ativo', + INACTIVE: 'Inativo', +}; + +export const APPOINTMENT_STATUS_LABELS = { + COMPLETED: 'Concluído', + CANCELLED: 'Cancelado', + PENDING: 'Pendente', +}; diff --git a/src/shared/constants/messages.ts b/src/shared/constants/messages.ts index be48924..b3f37a2 100644 --- a/src/shared/constants/messages.ts +++ b/src/shared/constants/messages.ts @@ -9,9 +9,14 @@ export const STATUS_CANNOT_BE_CHANGED = 'Não é permitido alterar o próprio status.'; export const USER_INACTIVE = 'Usuário inativo! Você está sem acesso no momento.'; -export const EMAIL_INVALID = 'E-mail inválido.'; -export const PASSWORD_INVALID = 'Senha inválida.'; +export const INVALID_EMAIL = 'E-mail inválido.'; +export const INVALID_PASSWORD = 'Senha inválida.'; export const INCONPATIBLE_PASSWORDS = 'Confirme se as senhas são iguais.'; +export const USER_NOT_AUTHORIZED = + 'Acesso proibido! Tipo de usuário não autorizado'; +export const INVALID_TOKEN = 'Token inválido'; +export const EXPIRED_TOKEN = 'O token expirou'; +export const TOKEN_NOT_FOUND = 'Token não fornecido'; // Patient export const CNS_EXISTS = 'O CNS já existe.'; diff --git a/src/shared/factories/repositories/index.ts b/src/shared/factories/repositories/index.ts index b3b292a..a3b7b6f 100644 --- a/src/shared/factories/repositories/index.ts +++ b/src/shared/factories/repositories/index.ts @@ -1,4 +1,4 @@ -export * from './make-appointment-repository'; -export * from './make-doctor-repository'; -export * from './make-patient-repository'; -export * from './make-user-repository'; +export * from './make-prisma-appointment-repository'; +export * from './make-prisma-doctor-repository'; +export * from './make-prisma-patient-repository'; +export * from './make-prisma-user-repository'; diff --git a/src/shared/factories/repositories/make-appointment-repository.ts b/src/shared/factories/repositories/make-appointment-repository.ts deleted file mode 100644 index 1210303..0000000 --- a/src/shared/factories/repositories/make-appointment-repository.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { AppointmentRepository } from '@shared/repositories/implementations'; -import { IAppointmentRepository } from '@shared/repositories/interfaces/appointment'; - -export const makeAppointmentRepository = (): IAppointmentRepository => { - return new AppointmentRepository(); -}; diff --git a/src/shared/factories/repositories/make-doctor-repository.ts b/src/shared/factories/repositories/make-doctor-repository.ts deleted file mode 100644 index 46277a1..0000000 --- a/src/shared/factories/repositories/make-doctor-repository.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { DoctorRepository } from '@shared/repositories/implementations'; -import { IDoctorRepository } from '@shared/repositories/interfaces/doctor'; - -export const makeDoctorRepoistory = (): IDoctorRepository => { - return new DoctorRepository(); -}; diff --git a/src/shared/factories/repositories/make-patient-repository.ts b/src/shared/factories/repositories/make-patient-repository.ts deleted file mode 100644 index f9487a0..0000000 --- a/src/shared/factories/repositories/make-patient-repository.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { PatientRepository } from '@shared/repositories/implementations'; -import { IPatientRepository } from '@shared/repositories/interfaces/patient'; - -export const makePatientRepository = (): IPatientRepository => { - return new PatientRepository(); -}; diff --git a/src/shared/factories/repositories/make-prisma-appointment-repository.ts b/src/shared/factories/repositories/make-prisma-appointment-repository.ts new file mode 100644 index 0000000..91562a7 --- /dev/null +++ b/src/shared/factories/repositories/make-prisma-appointment-repository.ts @@ -0,0 +1,6 @@ +import { PrismaAppointmentRepository } from '@modules/appointments/infra/prisma/prisma-appointment-repository'; +import { AppointmentRepository } from '@modules/appointments/repositories/appointment-repository'; + +export const makePrismaAppointmentRepository = (): AppointmentRepository => { + return new PrismaAppointmentRepository(); +}; diff --git a/src/shared/factories/repositories/make-prisma-doctor-repository.ts b/src/shared/factories/repositories/make-prisma-doctor-repository.ts new file mode 100644 index 0000000..123c46c --- /dev/null +++ b/src/shared/factories/repositories/make-prisma-doctor-repository.ts @@ -0,0 +1,6 @@ +import { PrismaDoctorRepository } from '@modules/doctors/infra/prisma/prisma-doctor-repository'; +import { DoctorRepository } from '@modules/doctors/repositories/doctor-repository'; + +export const makePrismaDoctorRepoistory = (): DoctorRepository => { + return new PrismaDoctorRepository(); +}; diff --git a/src/shared/factories/repositories/make-prisma-patient-repository.ts b/src/shared/factories/repositories/make-prisma-patient-repository.ts new file mode 100644 index 0000000..b708c42 --- /dev/null +++ b/src/shared/factories/repositories/make-prisma-patient-repository.ts @@ -0,0 +1,6 @@ +import { PrismaPatientRepository } from '@modules/patients/infra/prisma/prisma-patient-repository'; +import { PatientRepository } from '@modules/patients/repositories/patient-repository'; + +export const makePrismaPatientRepository = (): PatientRepository => { + return new PrismaPatientRepository(); +}; diff --git a/src/shared/factories/repositories/make-prisma-user-repository.ts b/src/shared/factories/repositories/make-prisma-user-repository.ts new file mode 100644 index 0000000..ff0ec5d --- /dev/null +++ b/src/shared/factories/repositories/make-prisma-user-repository.ts @@ -0,0 +1,6 @@ +import { PrismaUserRepository } from '@modules/users/infra/prisma/prisma-user-repository'; +import { UserRepository } from '@modules/users/repositories/user-repository'; + +export const makePrismaUserRepository = (): UserRepository => { + return new PrismaUserRepository(); +}; diff --git a/src/shared/factories/repositories/make-user-repository.ts b/src/shared/factories/repositories/make-user-repository.ts deleted file mode 100644 index 5c7511f..0000000 --- a/src/shared/factories/repositories/make-user-repository.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { UserRepository } from '@shared/repositories/implementations'; -import { IUserRepository } from '@shared/repositories/interfaces/user'; - -export const makeUserRepository = (): IUserRepository => { - return new UserRepository(); -}; diff --git a/src/shared/factories/services/appointments/make-create-appointment-service.ts b/src/shared/factories/services/appointments/make-create-appointment-service.ts index 789070a..8833a09 100644 --- a/src/shared/factories/services/appointments/make-create-appointment-service.ts +++ b/src/shared/factories/services/appointments/make-create-appointment-service.ts @@ -1,14 +1,14 @@ import { CreateAppointmentService } from '@modules/appointments/useCases/create-appointment/create-appointment-service'; import { - makeAppointmentRepository, - makeDoctorRepoistory, - makePatientRepository, + makePrismaAppointmentRepository, + makePrismaDoctorRepoistory, + makePrismaPatientRepository, } from '@shared/factories/repositories'; export const makeCreateAppointmentService = (): CreateAppointmentService => { return new CreateAppointmentService( - makeAppointmentRepository(), - makePatientRepository(), - makeDoctorRepoistory(), + makePrismaAppointmentRepository(), + makePrismaPatientRepository(), + makePrismaDoctorRepoistory(), ); }; diff --git a/src/shared/factories/services/appointments/make-get-all-appointments-service.ts b/src/shared/factories/services/appointments/make-get-all-appointments-service.ts index 26a7bbe..6f21f68 100644 --- a/src/shared/factories/services/appointments/make-get-all-appointments-service.ts +++ b/src/shared/factories/services/appointments/make-get-all-appointments-service.ts @@ -1,6 +1,6 @@ import { GetAllAppointmentsService } from '@modules/appointments/useCases/get-all-appointments/get-all-appointments-service'; -import { makeAppointmentRepository } from '@shared/factories/repositories'; +import { makePrismaAppointmentRepository } from '@shared/factories/repositories'; export const makeGetAllAppointmentsService = (): GetAllAppointmentsService => { - return new GetAllAppointmentsService(makeAppointmentRepository()); + return new GetAllAppointmentsService(makePrismaAppointmentRepository()); }; diff --git a/src/shared/factories/services/appointments/make-get-appointment-service.ts b/src/shared/factories/services/appointments/make-get-appointment-service.ts index 53af43d..0f74d40 100644 --- a/src/shared/factories/services/appointments/make-get-appointment-service.ts +++ b/src/shared/factories/services/appointments/make-get-appointment-service.ts @@ -1,12 +1,12 @@ import { GetAppointmentService } from '@modules/appointments/useCases/get-appointment/get-appointment-service'; import { - makeAppointmentRepository, - makePatientRepository, + makePrismaAppointmentRepository, + makePrismaPatientRepository, } from '@shared/factories/repositories'; export const makeGetAppointmentService = (): GetAppointmentService => { return new GetAppointmentService( - makeAppointmentRepository(), - makePatientRepository(), + makePrismaAppointmentRepository(), + makePrismaPatientRepository(), ); }; diff --git a/src/shared/factories/services/appointments/make-get-appointments-by-patient-service.ts b/src/shared/factories/services/appointments/make-get-appointments-by-patient-service.ts index 058882b..bce0b64 100644 --- a/src/shared/factories/services/appointments/make-get-appointments-by-patient-service.ts +++ b/src/shared/factories/services/appointments/make-get-appointments-by-patient-service.ts @@ -1,13 +1,13 @@ import { GetAppointmentsByPatientService } from '@modules/appointments/useCases/get-appointments-by-patient/get-appointments-by-patient-service'; import { - makeAppointmentRepository, - makePatientRepository, + makePrismaAppointmentRepository, + makePrismaPatientRepository, } from '@shared/factories/repositories'; export const makeGetAppointmentsByPatientService = (): GetAppointmentsByPatientService => { return new GetAppointmentsByPatientService( - makeAppointmentRepository(), - makePatientRepository(), + makePrismaAppointmentRepository(), + makePrismaPatientRepository(), ); }; diff --git a/src/shared/factories/services/appointments/make-update-appointment-service.ts b/src/shared/factories/services/appointments/make-update-appointment-service.ts index 3ef758b..1f30e50 100644 --- a/src/shared/factories/services/appointments/make-update-appointment-service.ts +++ b/src/shared/factories/services/appointments/make-update-appointment-service.ts @@ -1,14 +1,14 @@ import { UpdateAppointmentService } from '@modules/appointments/useCases/update-appointment/update-appointment-service'; import { - makeAppointmentRepository, - makeDoctorRepoistory, - makePatientRepository, + makePrismaAppointmentRepository, + makePrismaDoctorRepoistory, + makePrismaPatientRepository, } from '@shared/factories/repositories'; export const makeUpdateAppointmentService = (): UpdateAppointmentService => { return new UpdateAppointmentService( - makeAppointmentRepository(), - makePatientRepository(), - makeDoctorRepoistory(), + makePrismaAppointmentRepository(), + makePrismaPatientRepository(), + makePrismaDoctorRepoistory(), ); }; diff --git a/src/shared/factories/services/appointments/make-update-appointment-status-service.ts b/src/shared/factories/services/appointments/make-update-appointment-status-service.ts index 96d7ff8..c6ce58f 100644 --- a/src/shared/factories/services/appointments/make-update-appointment-status-service.ts +++ b/src/shared/factories/services/appointments/make-update-appointment-status-service.ts @@ -1,13 +1,13 @@ import { UpdateAppointmentStatusService } from '@modules/appointments/useCases/update-appointment-status/update-appointment-status-service'; import { - makeAppointmentRepository, - makePatientRepository, + makePrismaAppointmentRepository, + makePrismaPatientRepository, } from '@shared/factories/repositories'; export const makeUpdateAppointmentStatusService = (): UpdateAppointmentStatusService => { return new UpdateAppointmentStatusService( - makeAppointmentRepository(), - makePatientRepository(), + makePrismaAppointmentRepository(), + makePrismaPatientRepository(), ); }; diff --git a/src/shared/factories/services/auth/make-forgot-password-service.ts b/src/shared/factories/services/auth/make-forgot-password-service.ts index 1b66062..8b7bc04 100644 --- a/src/shared/factories/services/auth/make-forgot-password-service.ts +++ b/src/shared/factories/services/auth/make-forgot-password-service.ts @@ -1,6 +1,6 @@ import { ForgotPasswordService } from '@modules/auth/useCases/forgot-password/forgot-password-service'; -import { makeUserRepository } from '@shared/factories/repositories'; +import { makePrismaUserRepository } from '@shared/factories/repositories'; export const makeForgotPasswordService = (): ForgotPasswordService => { - return new ForgotPasswordService(makeUserRepository()); + return new ForgotPasswordService(makePrismaUserRepository()); }; diff --git a/src/shared/factories/services/auth/make-login-service.ts b/src/shared/factories/services/auth/make-login-service.ts index 205de89..11fb087 100644 --- a/src/shared/factories/services/auth/make-login-service.ts +++ b/src/shared/factories/services/auth/make-login-service.ts @@ -1,6 +1,6 @@ import { LoginService } from '@modules/auth/useCases/login/login-service'; -import { makeUserRepository } from '@shared/factories/repositories'; +import { makePrismaUserRepository } from '@shared/factories/repositories'; export const makeLoginService = (): LoginService => { - return new LoginService(makeUserRepository()); + return new LoginService(makePrismaUserRepository()); }; diff --git a/src/shared/factories/services/doctor/make-create-doctor-service.ts b/src/shared/factories/services/doctor/make-create-doctor-service.ts index 0a3f185..f0b3fb7 100644 --- a/src/shared/factories/services/doctor/make-create-doctor-service.ts +++ b/src/shared/factories/services/doctor/make-create-doctor-service.ts @@ -1,6 +1,6 @@ import { CreateDoctorService } from '@modules/doctors/useCases/create-doctor/create-doctor-service'; -import { makeDoctorRepoistory } from '@shared/factories/repositories/make-doctor-repository'; +import { makePrismaDoctorRepoistory } from '@shared/factories/repositories'; export const makeCreateDoctorService = (): CreateDoctorService => { - return new CreateDoctorService(makeDoctorRepoistory()); + return new CreateDoctorService(makePrismaDoctorRepoistory()); }; diff --git a/src/shared/factories/services/doctor/make-delete-doctor-service.ts b/src/shared/factories/services/doctor/make-delete-doctor-service.ts index feb617f..29793e1 100644 --- a/src/shared/factories/services/doctor/make-delete-doctor-service.ts +++ b/src/shared/factories/services/doctor/make-delete-doctor-service.ts @@ -1,6 +1,6 @@ import { DeleteDoctorService } from '@modules/doctors/useCases/delete-doctor/delete-doctor-service'; -import { makeDoctorRepoistory } from '@shared/factories/repositories/make-doctor-repository'; +import { makePrismaDoctorRepoistory } from '@shared/factories/repositories'; export const makeDeleteDoctorService = (): DeleteDoctorService => { - return new DeleteDoctorService(makeDoctorRepoistory()); + return new DeleteDoctorService(makePrismaDoctorRepoistory()); }; diff --git a/src/shared/factories/services/doctor/make-get-all-doctors-service.ts b/src/shared/factories/services/doctor/make-get-all-doctors-service.ts index 8bedfdd..437be7f 100644 --- a/src/shared/factories/services/doctor/make-get-all-doctors-service.ts +++ b/src/shared/factories/services/doctor/make-get-all-doctors-service.ts @@ -1,6 +1,6 @@ import { GetAllDoctorsService } from '@modules/doctors/useCases/get-all-doctors/get-all-doctors-service'; -import { makeDoctorRepoistory } from '@shared/factories/repositories/make-doctor-repository'; +import { makePrismaDoctorRepoistory } from '@shared/factories/repositories'; export const makeGetAllDoctorsService = (): GetAllDoctorsService => { - return new GetAllDoctorsService(makeDoctorRepoistory()); + return new GetAllDoctorsService(makePrismaDoctorRepoistory()); }; diff --git a/src/shared/factories/services/doctor/make-get-doctor-service.ts b/src/shared/factories/services/doctor/make-get-doctor-service.ts index 459cf1f..a2d1227 100644 --- a/src/shared/factories/services/doctor/make-get-doctor-service.ts +++ b/src/shared/factories/services/doctor/make-get-doctor-service.ts @@ -1,6 +1,6 @@ import { GetDoctorService } from '@modules/doctors/useCases/get-doctor/get-doctor-service'; -import { makeDoctorRepoistory } from '@shared/factories/repositories/make-doctor-repository'; +import { makePrismaDoctorRepoistory } from '@shared/factories/repositories'; export const makeGetDoctorService = (): GetDoctorService => { - return new GetDoctorService(makeDoctorRepoistory()); + return new GetDoctorService(makePrismaDoctorRepoistory()); }; diff --git a/src/shared/factories/services/doctor/make-update-doctor-service.ts b/src/shared/factories/services/doctor/make-update-doctor-service.ts index 33100db..255590b 100644 --- a/src/shared/factories/services/doctor/make-update-doctor-service.ts +++ b/src/shared/factories/services/doctor/make-update-doctor-service.ts @@ -1,6 +1,6 @@ import { UpdateDoctorService } from '@modules/doctors/useCases/update-doctor/update-doctor-service'; -import { makeDoctorRepoistory } from '@shared/factories/repositories/make-doctor-repository'; +import { makePrismaDoctorRepoistory } from '@shared/factories/repositories'; export const makeUpdateDoctorService = (): UpdateDoctorService => { - return new UpdateDoctorService(makeDoctorRepoistory()); + return new UpdateDoctorService(makePrismaDoctorRepoistory()); }; diff --git a/src/shared/factories/services/doctor/make-update-doctor-status-service.ts b/src/shared/factories/services/doctor/make-update-doctor-status-service.ts index 723661b..2706dae 100644 --- a/src/shared/factories/services/doctor/make-update-doctor-status-service.ts +++ b/src/shared/factories/services/doctor/make-update-doctor-status-service.ts @@ -1,6 +1,6 @@ import { UpdateDoctorStatusService } from '@modules/doctors/useCases/update-doctor-status/update-doctor-status-service'; -import { makeDoctorRepoistory } from '@shared/factories/repositories'; +import { makePrismaDoctorRepoistory } from '@shared/factories/repositories'; export const makeUpdateDoctorStatusService = (): UpdateDoctorStatusService => { - return new UpdateDoctorStatusService(makeDoctorRepoistory()); + return new UpdateDoctorStatusService(makePrismaDoctorRepoistory()); }; diff --git a/src/shared/factories/services/patient/make-create-patient-service.ts b/src/shared/factories/services/patient/make-create-patient-service.ts index fc02a9a..540cdb2 100644 --- a/src/shared/factories/services/patient/make-create-patient-service.ts +++ b/src/shared/factories/services/patient/make-create-patient-service.ts @@ -1,6 +1,6 @@ import { CreatePatientService } from '@modules/patients/useCases/create-patient/create-patient-service'; -import { makePatientRepository } from '@shared/factories/repositories'; +import { makePrismaPatientRepository } from '@shared/factories/repositories'; export const makeCreatePatientService = (): CreatePatientService => { - return new CreatePatientService(makePatientRepository()); + return new CreatePatientService(makePrismaPatientRepository()); }; diff --git a/src/shared/factories/services/patient/make-get-all-patients-service.ts b/src/shared/factories/services/patient/make-get-all-patients-service.ts index 80cbc4f..0b6ab8b 100644 --- a/src/shared/factories/services/patient/make-get-all-patients-service.ts +++ b/src/shared/factories/services/patient/make-get-all-patients-service.ts @@ -1,6 +1,6 @@ import { GetAllPatientsService } from '@modules/patients/useCases/get-all-patients/get-all-patients-service'; -import { makePatientRepository } from '@shared/factories/repositories'; +import { makePrismaPatientRepository } from '@shared/factories/repositories'; export const makeGetAllPatientsService = (): GetAllPatientsService => { - return new GetAllPatientsService(makePatientRepository()); + return new GetAllPatientsService(makePrismaPatientRepository()); }; diff --git a/src/shared/factories/services/patient/make-get-patient-service.ts b/src/shared/factories/services/patient/make-get-patient-service.ts index 7595a54..82e8144 100644 --- a/src/shared/factories/services/patient/make-get-patient-service.ts +++ b/src/shared/factories/services/patient/make-get-patient-service.ts @@ -1,6 +1,6 @@ import { GetPatientService } from '@modules/patients/useCases/get-patient/get-patient-service'; -import { makePatientRepository } from '@shared/factories/repositories'; +import { makePrismaPatientRepository } from '@shared/factories/repositories'; export const makeGetPatientService = (): GetPatientService => { - return new GetPatientService(makePatientRepository()); + return new GetPatientService(makePrismaPatientRepository()); }; diff --git a/src/shared/factories/services/patient/make-update-patient-service.ts b/src/shared/factories/services/patient/make-update-patient-service.ts index 278bca0..dc98ad7 100644 --- a/src/shared/factories/services/patient/make-update-patient-service.ts +++ b/src/shared/factories/services/patient/make-update-patient-service.ts @@ -1,6 +1,6 @@ import { UpdatePatientService } from '@modules/patients/useCases/update-patient/update-patient-service'; -import { makePatientRepository } from '@shared/factories/repositories'; +import { makePrismaPatientRepository } from '@shared/factories/repositories'; export const makeUpdatePatientService = (): UpdatePatientService => { - return new UpdatePatientService(makePatientRepository()); + return new UpdatePatientService(makePrismaPatientRepository()); }; diff --git a/src/shared/factories/services/user/make-change-password-user-service.ts b/src/shared/factories/services/user/make-change-password-user-service.ts index 90b8b06..4b0b4a2 100644 --- a/src/shared/factories/services/user/make-change-password-user-service.ts +++ b/src/shared/factories/services/user/make-change-password-user-service.ts @@ -1,6 +1,6 @@ import { ChangePasswordUserService } from '@modules/users/useCases/change-password-user/change-password-user-service'; -import { makeUserRepository } from '@shared/factories/repositories'; +import { makePrismaUserRepository } from '@shared/factories/repositories'; export const makeChangePasswordUserService = (): ChangePasswordUserService => { - return new ChangePasswordUserService(makeUserRepository()); + return new ChangePasswordUserService(makePrismaUserRepository()); }; diff --git a/src/shared/factories/services/user/make-create-user-service.ts b/src/shared/factories/services/user/make-create-user-service.ts index 3aa1895..b36c0c7 100644 --- a/src/shared/factories/services/user/make-create-user-service.ts +++ b/src/shared/factories/services/user/make-create-user-service.ts @@ -1,6 +1,6 @@ import { CreateUserService } from '@modules/users/useCases/create-user/create-user-service'; -import { makeUserRepository } from '@shared/factories/repositories'; +import { makePrismaUserRepository } from '@shared/factories/repositories'; export const makeCreateUserService = (): CreateUserService => { - return new CreateUserService(makeUserRepository()); + return new CreateUserService(makePrismaUserRepository()); }; diff --git a/src/shared/factories/services/user/make-delete-user-service.ts b/src/shared/factories/services/user/make-delete-user-service.ts index fb403a1..88ab8e5 100644 --- a/src/shared/factories/services/user/make-delete-user-service.ts +++ b/src/shared/factories/services/user/make-delete-user-service.ts @@ -1,6 +1,6 @@ import { DeleteUserService } from '@modules/users/useCases/delete-user/delete-user-service'; -import { makeUserRepository } from '@shared/factories/repositories'; +import { makePrismaUserRepository } from '@shared/factories/repositories'; export const makeDeleteUserService = (): DeleteUserService => { - return new DeleteUserService(makeUserRepository()); + return new DeleteUserService(makePrismaUserRepository()); }; diff --git a/src/shared/factories/services/user/make-get-all-users-service.ts b/src/shared/factories/services/user/make-get-all-users-service.ts index ba9105b..bc1d835 100644 --- a/src/shared/factories/services/user/make-get-all-users-service.ts +++ b/src/shared/factories/services/user/make-get-all-users-service.ts @@ -1,6 +1,6 @@ import { GetAllUsersService } from '@modules/users/useCases/gell-all-users/get-all-users-service'; -import { makeUserRepository } from '@shared/factories/repositories'; +import { makePrismaUserRepository } from '@shared/factories/repositories'; export const makeGetAllUsersService = (): GetAllUsersService => { - return new GetAllUsersService(makeUserRepository()); + return new GetAllUsersService(makePrismaUserRepository()); }; diff --git a/src/shared/factories/services/user/make-get-user-service.ts b/src/shared/factories/services/user/make-get-user-service.ts index ea989cd..a93b5f0 100644 --- a/src/shared/factories/services/user/make-get-user-service.ts +++ b/src/shared/factories/services/user/make-get-user-service.ts @@ -1,6 +1,6 @@ import { GetUserService } from '@modules/users/useCases/get-user/get-user-service'; -import { makeUserRepository } from '@shared/factories/repositories'; +import { makePrismaUserRepository } from '@shared/factories/repositories'; export const makeGetUserService = (): GetUserService => { - return new GetUserService(makeUserRepository()); + return new GetUserService(makePrismaUserRepository()); }; diff --git a/src/shared/factories/services/user/make-update-user-service.ts b/src/shared/factories/services/user/make-update-user-service.ts index 2fc1f1b..a92befb 100644 --- a/src/shared/factories/services/user/make-update-user-service.ts +++ b/src/shared/factories/services/user/make-update-user-service.ts @@ -1,6 +1,6 @@ import { UpdateUserService } from '@modules/users/useCases/update-user/update-user-service'; -import { makeUserRepository } from '@shared/factories/repositories'; +import { makePrismaUserRepository } from '@shared/factories/repositories'; export const makeUpdateUserService = (): UpdateUserService => { - return new UpdateUserService(makeUserRepository()); + return new UpdateUserService(makePrismaUserRepository()); }; diff --git a/src/shared/factories/services/user/make-update-user-status-service.ts b/src/shared/factories/services/user/make-update-user-status-service.ts index 65a931e..a2a63d4 100644 --- a/src/shared/factories/services/user/make-update-user-status-service.ts +++ b/src/shared/factories/services/user/make-update-user-status-service.ts @@ -1,6 +1,6 @@ import { UpdateUserStatusService } from '@modules/users/useCases/update-user-status/update-user-status-service'; -import { makeUserRepository } from '@shared/factories/repositories'; +import { makePrismaUserRepository } from '@shared/factories/repositories'; export const makeUpdateUserStatusService = (): UpdateUserStatusService => { - return new UpdateUserStatusService(makeUserRepository()); + return new UpdateUserStatusService(makePrismaUserRepository()); }; diff --git a/src/shared/repositories/implementations/index.ts b/src/shared/repositories/implementations/index.ts deleted file mode 100644 index d5ecc85..0000000 --- a/src/shared/repositories/implementations/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -export * from './patient-repository'; -export * from './appointment-repository'; -export * from './user-repository'; -export * from './doctor-repository';