├── .editorconfig ├── .env.example ├── .eslintignore ├── .eslintrc.json ├── .gitignore ├── .yarn └── releases │ └── yarn-1.22.4.js ├── .yarnrc ├── README.md ├── REQUIREMENTS.MD ├── jest.config.js ├── ormconfig.json ├── package.json ├── prettier.config.js ├── src ├── @types │ └── express.d.ts ├── config │ ├── auth.ts │ ├── mail.ts │ └── upload.ts ├── modules │ ├── appointments │ │ ├── dtos │ │ │ ├── ICreateAppointmentDTO.ts │ │ │ ├── IFindAllAppointmentsByProviderAndDayDTO.ts │ │ │ └── IFindAllAppointmentsByProviderAndMonthDTO.ts │ │ ├── infra │ │ │ ├── http │ │ │ │ ├── controllers │ │ │ │ │ ├── AppointmentsController.ts │ │ │ │ │ ├── ProviderAppointmentsController.ts │ │ │ │ │ ├── ProviderDayAvailabilityController.ts │ │ │ │ │ ├── ProviderMonthAvailabilityController.ts │ │ │ │ │ └── ProvidersController.ts │ │ │ │ └── routes │ │ │ │ │ ├── appointments.routes.ts │ │ │ │ │ └── providers.routes.ts │ │ │ └── typeorm │ │ │ │ ├── entities │ │ │ │ └── Appointment.ts │ │ │ │ └── repositories │ │ │ │ └── AppointmentsRepository.ts │ │ ├── repositories │ │ │ ├── IAppointmentsRepository.ts │ │ │ └── fakes │ │ │ │ └── FakeAppointmentsRepository.ts │ │ └── services │ │ │ ├── CreateAppointmentService.spec.ts │ │ │ ├── CreateAppointmentService.ts │ │ │ ├── ListProviderAppointmentsService.spec.ts │ │ │ ├── ListProviderAppointmentsService.ts │ │ │ ├── ListProviderDayAvailabilityService.spec.ts │ │ │ ├── ListProviderDayAvailabilityService.ts │ │ │ ├── ListProviderMonthAvailabilityService.spec.ts │ │ │ ├── ListProviderMonthAvailabilityService.ts │ │ │ ├── ListProvidersService.spec.ts │ │ │ └── ListProvidersService.ts │ ├── notifications │ │ ├── dtos │ │ │ └── ICreateNotificationDTO.ts │ │ ├── infra │ │ │ └── typeorm │ │ │ │ ├── repositories │ │ │ │ └── NotificationsRepository.ts │ │ │ │ └── schemas │ │ │ │ └── Notification.ts │ │ └── repositories │ │ │ ├── INotificationsRepository.ts │ │ │ └── fakes │ │ │ └── FakeNotificationsRepository.ts │ └── users │ │ ├── dtos │ │ ├── ICreateUserDTO.ts │ │ └── IFindAllProvidersDTO.ts │ │ ├── infra │ │ ├── http │ │ │ ├── controllers │ │ │ │ ├── ForgotPasswordController.ts │ │ │ │ ├── ProfileController.ts │ │ │ │ ├── ResetPasswordController.ts │ │ │ │ ├── SessionsController.ts │ │ │ │ ├── UserAvatarController.ts │ │ │ │ └── UsersController.ts │ │ │ ├── middlewares │ │ │ │ └── ensureAuthenticated.ts │ │ │ └── routes │ │ │ │ ├── password.routes.ts │ │ │ │ ├── profile.routes.ts │ │ │ │ ├── sessions.routes.ts │ │ │ │ └── users.routes.ts │ │ └── typeorm │ │ │ ├── entities │ │ │ ├── User.ts │ │ │ └── UserToken.ts │ │ │ └── repositories │ │ │ ├── UserTokensRepository.ts │ │ │ └── UsersRepository.ts │ │ ├── providers │ │ ├── HashProvider │ │ │ ├── fakes │ │ │ │ └── FakeHashProvider.ts │ │ │ ├── implementations │ │ │ │ └── BCryptHashProvider.ts │ │ │ └── models │ │ │ │ └── IHashProvider.ts │ │ └── index.ts │ │ ├── repositories │ │ ├── IUserTokensRepository.ts │ │ ├── IUsersRepository.ts │ │ └── fakes │ │ │ ├── FakeUserTokensRepository.ts │ │ │ └── FakeUsersRepository.ts │ │ ├── services │ │ ├── AuthenticateUserService.spec.ts │ │ ├── AuthenticateUserService.ts │ │ ├── CreateUserService.spec.ts │ │ ├── CreateUserService.ts │ │ ├── ResetPasswordService.spec.ts │ │ ├── ResetPasswordService.ts │ │ ├── SendEmailPasswordRecoveryService.spec.ts │ │ ├── SendEmailPasswordRecoveryService.ts │ │ ├── ShowProfileService.spec.ts │ │ ├── ShowProfileService.ts │ │ ├── UpdateProfileService.spec.ts │ │ ├── UpdateProfileService.ts │ │ ├── UpdateUserAvatarService.spec.ts │ │ └── UpdateUserAvatarService.ts │ │ └── views │ │ └── forgot_password.hbs └── shared │ ├── container │ ├── index.ts │ └── providers │ │ ├── MailProvider │ │ ├── dtos │ │ │ └── ISendMailDTO.ts │ │ ├── fakes │ │ │ └── FakeMailProvider.ts │ │ ├── implementations │ │ │ ├── EtherealMailProvider.ts │ │ │ └── SESMailProvider.ts │ │ ├── index.ts │ │ └── models │ │ │ └── IMailProvider.ts │ │ ├── MailTemplateProvider │ │ ├── dtos │ │ │ └── IParseMailTemplateDTO.ts │ │ ├── fakes │ │ │ └── FakeMailTemplateProvider.ts │ │ ├── implementations │ │ │ └── HandlebarsMailTemplateProvider.ts │ │ ├── index.ts │ │ └── models │ │ │ └── IMailTemplateProvider.ts │ │ ├── StorageProvider │ │ ├── fakes │ │ │ └── FakeStorageProvider.ts │ │ ├── implementations │ │ │ ├── DiskStorageProvider.ts │ │ │ └── S3StorageProvider.ts │ │ ├── index.ts │ │ └── models │ │ │ └── IStorageProvider.ts │ │ └── index.ts │ ├── errors │ └── AppError.ts │ └── infra │ ├── http │ ├── routes │ │ └── index.ts │ └── server.ts │ └── typeorm │ ├── index.ts │ └── migrations │ ├── 1589486437046-CreateAppointments.ts │ ├── 1589614792943-CreateUsers.ts │ ├── 1589698189002-AlterProviderFieldToProviderId.ts │ ├── 1590023376645-AddAvatarFieldToUsers.ts │ ├── 1608975659141-CreateUserTokens.ts │ └── 1610779277932-AddUserIdFieldToAppointments.ts ├── tmp └── .gitkeep ├── tsconfig.json └── yarn.lock /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/.editorconfig -------------------------------------------------------------------------------- /.env.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/.env.example -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | /*.js 2 | node_modules 3 | dist 4 | -------------------------------------------------------------------------------- /.eslintrc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/.eslintrc.json -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/.gitignore -------------------------------------------------------------------------------- /.yarn/releases/yarn-1.22.4.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/.yarn/releases/yarn-1.22.4.js -------------------------------------------------------------------------------- /.yarnrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/.yarnrc -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/README.md -------------------------------------------------------------------------------- /REQUIREMENTS.MD: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/REQUIREMENTS.MD -------------------------------------------------------------------------------- /jest.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/jest.config.js -------------------------------------------------------------------------------- /ormconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/ormconfig.json -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/package.json -------------------------------------------------------------------------------- /prettier.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/prettier.config.js -------------------------------------------------------------------------------- /src/@types/express.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/@types/express.d.ts -------------------------------------------------------------------------------- /src/config/auth.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/config/auth.ts -------------------------------------------------------------------------------- /src/config/mail.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/config/mail.ts -------------------------------------------------------------------------------- /src/config/upload.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/config/upload.ts -------------------------------------------------------------------------------- /src/modules/appointments/dtos/ICreateAppointmentDTO.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/modules/appointments/dtos/ICreateAppointmentDTO.ts -------------------------------------------------------------------------------- /src/modules/appointments/dtos/IFindAllAppointmentsByProviderAndDayDTO.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/modules/appointments/dtos/IFindAllAppointmentsByProviderAndDayDTO.ts -------------------------------------------------------------------------------- /src/modules/appointments/dtos/IFindAllAppointmentsByProviderAndMonthDTO.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/modules/appointments/dtos/IFindAllAppointmentsByProviderAndMonthDTO.ts -------------------------------------------------------------------------------- /src/modules/appointments/infra/http/controllers/AppointmentsController.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/modules/appointments/infra/http/controllers/AppointmentsController.ts -------------------------------------------------------------------------------- /src/modules/appointments/infra/http/controllers/ProviderAppointmentsController.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/modules/appointments/infra/http/controllers/ProviderAppointmentsController.ts -------------------------------------------------------------------------------- /src/modules/appointments/infra/http/controllers/ProviderDayAvailabilityController.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/modules/appointments/infra/http/controllers/ProviderDayAvailabilityController.ts -------------------------------------------------------------------------------- /src/modules/appointments/infra/http/controllers/ProviderMonthAvailabilityController.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/modules/appointments/infra/http/controllers/ProviderMonthAvailabilityController.ts -------------------------------------------------------------------------------- /src/modules/appointments/infra/http/controllers/ProvidersController.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/modules/appointments/infra/http/controllers/ProvidersController.ts -------------------------------------------------------------------------------- /src/modules/appointments/infra/http/routes/appointments.routes.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/modules/appointments/infra/http/routes/appointments.routes.ts -------------------------------------------------------------------------------- /src/modules/appointments/infra/http/routes/providers.routes.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/modules/appointments/infra/http/routes/providers.routes.ts -------------------------------------------------------------------------------- /src/modules/appointments/infra/typeorm/entities/Appointment.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/modules/appointments/infra/typeorm/entities/Appointment.ts -------------------------------------------------------------------------------- /src/modules/appointments/infra/typeorm/repositories/AppointmentsRepository.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/modules/appointments/infra/typeorm/repositories/AppointmentsRepository.ts -------------------------------------------------------------------------------- /src/modules/appointments/repositories/IAppointmentsRepository.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/modules/appointments/repositories/IAppointmentsRepository.ts -------------------------------------------------------------------------------- /src/modules/appointments/repositories/fakes/FakeAppointmentsRepository.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/modules/appointments/repositories/fakes/FakeAppointmentsRepository.ts -------------------------------------------------------------------------------- /src/modules/appointments/services/CreateAppointmentService.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/modules/appointments/services/CreateAppointmentService.spec.ts -------------------------------------------------------------------------------- /src/modules/appointments/services/CreateAppointmentService.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/modules/appointments/services/CreateAppointmentService.ts -------------------------------------------------------------------------------- /src/modules/appointments/services/ListProviderAppointmentsService.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/modules/appointments/services/ListProviderAppointmentsService.spec.ts -------------------------------------------------------------------------------- /src/modules/appointments/services/ListProviderAppointmentsService.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/modules/appointments/services/ListProviderAppointmentsService.ts -------------------------------------------------------------------------------- /src/modules/appointments/services/ListProviderDayAvailabilityService.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/modules/appointments/services/ListProviderDayAvailabilityService.spec.ts -------------------------------------------------------------------------------- /src/modules/appointments/services/ListProviderDayAvailabilityService.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/modules/appointments/services/ListProviderDayAvailabilityService.ts -------------------------------------------------------------------------------- /src/modules/appointments/services/ListProviderMonthAvailabilityService.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/modules/appointments/services/ListProviderMonthAvailabilityService.spec.ts -------------------------------------------------------------------------------- /src/modules/appointments/services/ListProviderMonthAvailabilityService.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/modules/appointments/services/ListProviderMonthAvailabilityService.ts -------------------------------------------------------------------------------- /src/modules/appointments/services/ListProvidersService.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/modules/appointments/services/ListProvidersService.spec.ts -------------------------------------------------------------------------------- /src/modules/appointments/services/ListProvidersService.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/modules/appointments/services/ListProvidersService.ts -------------------------------------------------------------------------------- /src/modules/notifications/dtos/ICreateNotificationDTO.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/modules/notifications/dtos/ICreateNotificationDTO.ts -------------------------------------------------------------------------------- /src/modules/notifications/infra/typeorm/repositories/NotificationsRepository.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/modules/notifications/infra/typeorm/repositories/NotificationsRepository.ts -------------------------------------------------------------------------------- /src/modules/notifications/infra/typeorm/schemas/Notification.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/modules/notifications/infra/typeorm/schemas/Notification.ts -------------------------------------------------------------------------------- /src/modules/notifications/repositories/INotificationsRepository.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/modules/notifications/repositories/INotificationsRepository.ts -------------------------------------------------------------------------------- /src/modules/notifications/repositories/fakes/FakeNotificationsRepository.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/modules/notifications/repositories/fakes/FakeNotificationsRepository.ts -------------------------------------------------------------------------------- /src/modules/users/dtos/ICreateUserDTO.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/modules/users/dtos/ICreateUserDTO.ts -------------------------------------------------------------------------------- /src/modules/users/dtos/IFindAllProvidersDTO.ts: -------------------------------------------------------------------------------- 1 | export default interface IFindAllProvidersDTO { 2 | except_user_id?: string; 3 | } 4 | -------------------------------------------------------------------------------- /src/modules/users/infra/http/controllers/ForgotPasswordController.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/modules/users/infra/http/controllers/ForgotPasswordController.ts -------------------------------------------------------------------------------- /src/modules/users/infra/http/controllers/ProfileController.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/modules/users/infra/http/controllers/ProfileController.ts -------------------------------------------------------------------------------- /src/modules/users/infra/http/controllers/ResetPasswordController.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/modules/users/infra/http/controllers/ResetPasswordController.ts -------------------------------------------------------------------------------- /src/modules/users/infra/http/controllers/SessionsController.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/modules/users/infra/http/controllers/SessionsController.ts -------------------------------------------------------------------------------- /src/modules/users/infra/http/controllers/UserAvatarController.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/modules/users/infra/http/controllers/UserAvatarController.ts -------------------------------------------------------------------------------- /src/modules/users/infra/http/controllers/UsersController.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/modules/users/infra/http/controllers/UsersController.ts -------------------------------------------------------------------------------- /src/modules/users/infra/http/middlewares/ensureAuthenticated.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/modules/users/infra/http/middlewares/ensureAuthenticated.ts -------------------------------------------------------------------------------- /src/modules/users/infra/http/routes/password.routes.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/modules/users/infra/http/routes/password.routes.ts -------------------------------------------------------------------------------- /src/modules/users/infra/http/routes/profile.routes.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/modules/users/infra/http/routes/profile.routes.ts -------------------------------------------------------------------------------- /src/modules/users/infra/http/routes/sessions.routes.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/modules/users/infra/http/routes/sessions.routes.ts -------------------------------------------------------------------------------- /src/modules/users/infra/http/routes/users.routes.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/modules/users/infra/http/routes/users.routes.ts -------------------------------------------------------------------------------- /src/modules/users/infra/typeorm/entities/User.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/modules/users/infra/typeorm/entities/User.ts -------------------------------------------------------------------------------- /src/modules/users/infra/typeorm/entities/UserToken.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/modules/users/infra/typeorm/entities/UserToken.ts -------------------------------------------------------------------------------- /src/modules/users/infra/typeorm/repositories/UserTokensRepository.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/modules/users/infra/typeorm/repositories/UserTokensRepository.ts -------------------------------------------------------------------------------- /src/modules/users/infra/typeorm/repositories/UsersRepository.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/modules/users/infra/typeorm/repositories/UsersRepository.ts -------------------------------------------------------------------------------- /src/modules/users/providers/HashProvider/fakes/FakeHashProvider.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/modules/users/providers/HashProvider/fakes/FakeHashProvider.ts -------------------------------------------------------------------------------- /src/modules/users/providers/HashProvider/implementations/BCryptHashProvider.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/modules/users/providers/HashProvider/implementations/BCryptHashProvider.ts -------------------------------------------------------------------------------- /src/modules/users/providers/HashProvider/models/IHashProvider.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/modules/users/providers/HashProvider/models/IHashProvider.ts -------------------------------------------------------------------------------- /src/modules/users/providers/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/modules/users/providers/index.ts -------------------------------------------------------------------------------- /src/modules/users/repositories/IUserTokensRepository.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/modules/users/repositories/IUserTokensRepository.ts -------------------------------------------------------------------------------- /src/modules/users/repositories/IUsersRepository.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/modules/users/repositories/IUsersRepository.ts -------------------------------------------------------------------------------- /src/modules/users/repositories/fakes/FakeUserTokensRepository.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/modules/users/repositories/fakes/FakeUserTokensRepository.ts -------------------------------------------------------------------------------- /src/modules/users/repositories/fakes/FakeUsersRepository.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/modules/users/repositories/fakes/FakeUsersRepository.ts -------------------------------------------------------------------------------- /src/modules/users/services/AuthenticateUserService.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/modules/users/services/AuthenticateUserService.spec.ts -------------------------------------------------------------------------------- /src/modules/users/services/AuthenticateUserService.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/modules/users/services/AuthenticateUserService.ts -------------------------------------------------------------------------------- /src/modules/users/services/CreateUserService.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/modules/users/services/CreateUserService.spec.ts -------------------------------------------------------------------------------- /src/modules/users/services/CreateUserService.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/modules/users/services/CreateUserService.ts -------------------------------------------------------------------------------- /src/modules/users/services/ResetPasswordService.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/modules/users/services/ResetPasswordService.spec.ts -------------------------------------------------------------------------------- /src/modules/users/services/ResetPasswordService.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/modules/users/services/ResetPasswordService.ts -------------------------------------------------------------------------------- /src/modules/users/services/SendEmailPasswordRecoveryService.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/modules/users/services/SendEmailPasswordRecoveryService.spec.ts -------------------------------------------------------------------------------- /src/modules/users/services/SendEmailPasswordRecoveryService.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/modules/users/services/SendEmailPasswordRecoveryService.ts -------------------------------------------------------------------------------- /src/modules/users/services/ShowProfileService.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/modules/users/services/ShowProfileService.spec.ts -------------------------------------------------------------------------------- /src/modules/users/services/ShowProfileService.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/modules/users/services/ShowProfileService.ts -------------------------------------------------------------------------------- /src/modules/users/services/UpdateProfileService.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/modules/users/services/UpdateProfileService.spec.ts -------------------------------------------------------------------------------- /src/modules/users/services/UpdateProfileService.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/modules/users/services/UpdateProfileService.ts -------------------------------------------------------------------------------- /src/modules/users/services/UpdateUserAvatarService.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/modules/users/services/UpdateUserAvatarService.spec.ts -------------------------------------------------------------------------------- /src/modules/users/services/UpdateUserAvatarService.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/modules/users/services/UpdateUserAvatarService.ts -------------------------------------------------------------------------------- /src/modules/users/views/forgot_password.hbs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/modules/users/views/forgot_password.hbs -------------------------------------------------------------------------------- /src/shared/container/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/shared/container/index.ts -------------------------------------------------------------------------------- /src/shared/container/providers/MailProvider/dtos/ISendMailDTO.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/shared/container/providers/MailProvider/dtos/ISendMailDTO.ts -------------------------------------------------------------------------------- /src/shared/container/providers/MailProvider/fakes/FakeMailProvider.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/shared/container/providers/MailProvider/fakes/FakeMailProvider.ts -------------------------------------------------------------------------------- /src/shared/container/providers/MailProvider/implementations/EtherealMailProvider.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/shared/container/providers/MailProvider/implementations/EtherealMailProvider.ts -------------------------------------------------------------------------------- /src/shared/container/providers/MailProvider/implementations/SESMailProvider.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/shared/container/providers/MailProvider/implementations/SESMailProvider.ts -------------------------------------------------------------------------------- /src/shared/container/providers/MailProvider/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/shared/container/providers/MailProvider/index.ts -------------------------------------------------------------------------------- /src/shared/container/providers/MailProvider/models/IMailProvider.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/shared/container/providers/MailProvider/models/IMailProvider.ts -------------------------------------------------------------------------------- /src/shared/container/providers/MailTemplateProvider/dtos/IParseMailTemplateDTO.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/shared/container/providers/MailTemplateProvider/dtos/IParseMailTemplateDTO.ts -------------------------------------------------------------------------------- /src/shared/container/providers/MailTemplateProvider/fakes/FakeMailTemplateProvider.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/shared/container/providers/MailTemplateProvider/fakes/FakeMailTemplateProvider.ts -------------------------------------------------------------------------------- /src/shared/container/providers/MailTemplateProvider/implementations/HandlebarsMailTemplateProvider.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/shared/container/providers/MailTemplateProvider/implementations/HandlebarsMailTemplateProvider.ts -------------------------------------------------------------------------------- /src/shared/container/providers/MailTemplateProvider/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/shared/container/providers/MailTemplateProvider/index.ts -------------------------------------------------------------------------------- /src/shared/container/providers/MailTemplateProvider/models/IMailTemplateProvider.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/shared/container/providers/MailTemplateProvider/models/IMailTemplateProvider.ts -------------------------------------------------------------------------------- /src/shared/container/providers/StorageProvider/fakes/FakeStorageProvider.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/shared/container/providers/StorageProvider/fakes/FakeStorageProvider.ts -------------------------------------------------------------------------------- /src/shared/container/providers/StorageProvider/implementations/DiskStorageProvider.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/shared/container/providers/StorageProvider/implementations/DiskStorageProvider.ts -------------------------------------------------------------------------------- /src/shared/container/providers/StorageProvider/implementations/S3StorageProvider.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/shared/container/providers/StorageProvider/implementations/S3StorageProvider.ts -------------------------------------------------------------------------------- /src/shared/container/providers/StorageProvider/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/shared/container/providers/StorageProvider/index.ts -------------------------------------------------------------------------------- /src/shared/container/providers/StorageProvider/models/IStorageProvider.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/shared/container/providers/StorageProvider/models/IStorageProvider.ts -------------------------------------------------------------------------------- /src/shared/container/providers/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/shared/container/providers/index.ts -------------------------------------------------------------------------------- /src/shared/errors/AppError.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/shared/errors/AppError.ts -------------------------------------------------------------------------------- /src/shared/infra/http/routes/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/shared/infra/http/routes/index.ts -------------------------------------------------------------------------------- /src/shared/infra/http/server.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/shared/infra/http/server.ts -------------------------------------------------------------------------------- /src/shared/infra/typeorm/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/shared/infra/typeorm/index.ts -------------------------------------------------------------------------------- /src/shared/infra/typeorm/migrations/1589486437046-CreateAppointments.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/shared/infra/typeorm/migrations/1589486437046-CreateAppointments.ts -------------------------------------------------------------------------------- /src/shared/infra/typeorm/migrations/1589614792943-CreateUsers.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/shared/infra/typeorm/migrations/1589614792943-CreateUsers.ts -------------------------------------------------------------------------------- /src/shared/infra/typeorm/migrations/1589698189002-AlterProviderFieldToProviderId.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/shared/infra/typeorm/migrations/1589698189002-AlterProviderFieldToProviderId.ts -------------------------------------------------------------------------------- /src/shared/infra/typeorm/migrations/1590023376645-AddAvatarFieldToUsers.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/shared/infra/typeorm/migrations/1590023376645-AddAvatarFieldToUsers.ts -------------------------------------------------------------------------------- /src/shared/infra/typeorm/migrations/1608975659141-CreateUserTokens.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/shared/infra/typeorm/migrations/1608975659141-CreateUserTokens.ts -------------------------------------------------------------------------------- /src/shared/infra/typeorm/migrations/1610779277932-AddUserIdFieldToAppointments.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/src/shared/infra/typeorm/migrations/1610779277932-AddUserIdFieldToAppointments.ts -------------------------------------------------------------------------------- /tmp/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/tsconfig.json -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevescruz/ebarber_backend/HEAD/yarn.lock --------------------------------------------------------------------------------