├── .editorconfig ├── .env-example ├── .eslintignore ├── .eslintrc.js ├── .gitignore ├── .huskyrc.js ├── .lintstagedrc.js ├── .prettierrc.js ├── .vscode └── settings.json ├── LICENSE ├── README.md ├── babel.config.js ├── docker-compose.yml ├── docs └── clean-architecture.png ├── jest.config.js ├── misc └── Insomnia_2020-12-09 ├── package.json ├── src ├── application │ ├── errors │ │ ├── bad-request-error.spec.ts │ │ ├── bad-request-error.ts │ │ ├── date-time-error.spec.ts │ │ ├── date-time-error.ts │ │ ├── default-application-error.ts │ │ ├── email-validation-error.spec.ts │ │ ├── email-validation-error.ts │ │ ├── internal-server-error.spec.ts │ │ ├── internal-server-error.ts │ │ ├── not-found-error.spec.ts │ │ ├── not-found-error.ts │ │ ├── repository-error.spec.ts │ │ ├── repository-error.ts │ │ ├── request-validation-error.spec.ts │ │ ├── request-validation-error.ts │ │ ├── sanitizer-error.spec.ts │ │ ├── sanitizer-error.ts │ │ ├── unauthorized-error.spec.ts │ │ ├── unauthorized-error.ts │ │ ├── user-exists-error.spec.ts │ │ └── user-exists-error.ts │ ├── ports │ │ ├── controllers │ │ │ └── controller.ts │ │ ├── middlewares │ │ │ └── middleware.ts │ │ ├── repositories │ │ │ ├── token │ │ │ │ ├── create-token-repository.ts │ │ │ │ ├── delete-token-by-user-id-repository.ts │ │ │ │ ├── find-token-by-id-repository.ts │ │ │ │ ├── find-token-by-token-repository.ts │ │ │ │ └── find-token-by-user-id-repository.ts │ │ │ └── user │ │ │ │ ├── create-user-repository.ts │ │ │ │ ├── delete-user-by-id-repository.ts │ │ │ │ ├── find-all-users-repository.ts │ │ │ │ ├── find-user-by-email-repository.ts │ │ │ │ ├── find-user-by-id-repository.ts │ │ │ │ ├── find-user-with-roles-repository.ts │ │ │ │ └── update-user-repository.ts │ │ ├── requests │ │ │ ├── middleware-request-model.ts │ │ │ └── request-model.ts │ │ ├── responses │ │ │ ├── response-handler.ts │ │ │ └── response-model.ts │ │ ├── sanitizers │ │ │ └── sanitizer.ts │ │ ├── security │ │ │ ├── jwt-token.ts │ │ │ └── password-hashing.ts │ │ └── validation │ │ │ ├── email-validator.ts │ │ │ └── validation-composite.ts │ ├── use-cases │ │ ├── sign-in │ │ │ ├── sign-in.spec.ts │ │ │ └── sign-in.ts │ │ ├── token │ │ │ ├── refresh-token.spec.ts │ │ │ └── refresh-token.ts │ │ └── user │ │ │ ├── create-user.spec.ts │ │ │ ├── create-user.ts │ │ │ ├── delete-user-by-id.spec.ts │ │ │ ├── delete-user-by-id.ts │ │ │ ├── find-all-users.spec.ts │ │ │ ├── find-all-users.ts │ │ │ ├── find-user-by-id.spec.ts │ │ │ ├── find-user-by-id.ts │ │ │ ├── update-user.spec.ts │ │ │ └── update-user.ts │ └── validation │ │ ├── common │ │ └── leaf │ │ │ ├── validate-string-not-empty.spec.ts │ │ │ └── validate-string-not-empty.ts │ │ ├── sign-in │ │ └── composite │ │ │ ├── sign-in-validation.spec.ts │ │ │ └── sign-in-validation.ts │ │ └── user │ │ ├── composite │ │ ├── create-user-validation.ts │ │ ├── update-user-validation.ts │ │ ├── user-composite-validation.spec.ts │ │ └── user-composite-validation.ts │ │ └── leaf │ │ ├── find-all-users-validation.spec.ts │ │ ├── find-all-users-validation.ts │ │ ├── user-email-validation.spec.ts │ │ ├── user-email-validation.ts │ │ ├── user-partial-required-fields-validation.spec.ts │ │ ├── user-partial-required-fields-validation.ts │ │ ├── user-passwords-must-match-validation.spec.ts │ │ ├── user-passwords-must-match-validation.ts │ │ ├── user-required-fields-validation.spec.ts │ │ └── user-required-fields-validation.ts ├── common │ ├── adapters │ │ ├── sanitizers │ │ │ └── generic │ │ │ │ ├── generic-string-sanitizer-adapter.spec.ts │ │ │ │ └── generic-string-sanitizer-adapter.ts │ │ ├── security │ │ │ ├── bcrypt-adapter.spec.ts │ │ │ ├── bcrypt-adapter.ts │ │ │ ├── jwt-token-adapter.spec.ts │ │ │ └── jwt-token-adapter.ts │ │ └── validators │ │ │ ├── email-validator-adapter.spec.ts │ │ │ └── email-validator-adapter.ts │ └── helpers │ │ ├── date │ │ ├── create-future-date.spec.ts │ │ ├── create-future-date.ts │ │ ├── format-date-time.spec.ts │ │ └── format-date-time.ts │ │ ├── numbers │ │ ├── zero-pad-left.spec.ts │ │ └── zero-pad-left.ts │ │ ├── objects │ │ ├── object-key-exists.ts │ │ └── remove-object-empty-keys.ts │ │ └── strings │ │ └── is_string.ts ├── domain │ ├── models │ │ ├── role │ │ │ └── role.ts │ │ ├── sign-in │ │ │ ├── sign-in-request-model.ts │ │ │ └── sign-in-response-model.ts │ │ ├── token │ │ │ ├── signed-token.ts │ │ │ ├── token-request-model.ts │ │ │ └── token.ts │ │ └── user │ │ │ ├── user-request-partial-fields.ts │ │ │ ├── user-request-required-fields.ts │ │ │ └── user.ts │ └── use-cases │ │ ├── sign-in │ │ └── sign-in-use-case.ts │ │ ├── token │ │ └── refresh-token-use-case.ts │ │ └── user │ │ ├── create-user-use-case.ts │ │ ├── delete-user-by-id-use-case.ts │ │ ├── find-all-users-use-case.ts │ │ ├── find-user-by-id-use-case.ts │ │ └── update-user-use-case.ts ├── infrastructure │ ├── express │ │ ├── adapters │ │ │ ├── express-middleware-adapter.ts │ │ │ └── express-route-adapter.ts │ │ ├── middlewares │ │ │ └── rate-limit.ts │ │ ├── routes │ │ │ ├── refresh-token.ts │ │ │ ├── sign-in.test.ts │ │ │ ├── sign-in.ts │ │ │ ├── user.test.ts │ │ │ └── user.ts │ │ ├── server.ts │ │ └── setup │ │ │ ├── setup-app.ts │ │ │ ├── setup-async-errors.test.ts │ │ │ ├── setup-async-errors.ts │ │ │ ├── setup-global-middlewares.test.ts │ │ │ ├── setup-global-middlewares.ts │ │ │ └── setup-routes.ts │ ├── knex │ │ ├── connection.ts │ │ ├── knexfile.ts │ │ ├── migrations │ │ │ ├── 20201119051948_create_users.ts │ │ │ ├── 20201202132246_create_token.ts │ │ │ ├── 20201206220538_create_roles.ts │ │ │ └── 20201206220633_create_user_roles.ts │ │ └── seeds │ │ │ ├── 01_users.ts │ │ │ ├── 02_roles.ts │ │ │ └── 03_user_roles.ts │ └── repositories │ │ ├── token │ │ ├── sql │ │ │ ├── token-sql-repository.test.ts │ │ │ └── token-sql-repository.ts │ │ └── token-default-repository.ts │ │ └── user │ │ ├── sql │ │ ├── helpers │ │ │ ├── map-user-fields.spec.ts │ │ │ └── map-user-fields.ts │ │ ├── models │ │ │ └── user-with-roles.ts │ │ └── repositories │ │ │ ├── user-sql-repository.test.ts │ │ │ └── user-sql-repository.ts │ │ └── user-default-repository.ts ├── main │ └── factories │ │ ├── controllers │ │ ├── sign-in │ │ │ └── sign-in-controller-factory.ts │ │ ├── token │ │ │ └── refresh-token-controller-factory.ts │ │ └── user │ │ │ ├── create-user-controller-factory.ts │ │ │ ├── delete-user-by-id-controller-factory.ts │ │ │ ├── find-all-users-controller-factory.ts │ │ │ ├── find-user-by-id-controller-factory.ts │ │ │ └── update-user-controller-factory.ts │ │ └── middlewares │ │ └── authentication │ │ ├── is-authenticated-middleware-factory.ts │ │ └── logged-user-is-target-user-middleware-factory.ts └── presentation │ ├── controllers │ ├── sign-in │ │ ├── sign-in-controller.spec.ts │ │ └── sign-in-controller.ts │ ├── token │ │ ├── refresh-token-controller.spec.ts │ │ └── refresh-token-controller.ts │ └── user │ │ ├── create-user-controller.spec.ts │ │ ├── create-user-controller.ts │ │ ├── delete-user-by-id-controller.spec.ts │ │ ├── delete-user-by-id-controller.ts │ │ ├── find-all-users-controller.spec.ts │ │ ├── find-all-users-controller.ts │ │ ├── find-by-id-controller.spec.ts │ │ ├── find-by-id-controller.ts │ │ ├── update-user-controller.spec.ts │ │ └── update-user-controller.ts │ ├── middlewares │ └── authentication │ │ ├── is-authenticated.spec.ts │ │ ├── is-authenticated.ts │ │ ├── logged-user-is-target-user.spec.ts │ │ └── logged-user-is-target-user.ts │ └── responses │ ├── generic-created-response.spec.ts │ ├── generic-created-response.ts │ ├── generic-deleted-response.spec.ts │ ├── generic-deleted-response.ts │ ├── generic-success-response.spec.ts │ ├── generic-success-response.ts │ ├── generic-updated-response.spec.ts │ └── generic-updated-response.ts ├── tsconfig-build.json └── tsconfig.json /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/.editorconfig -------------------------------------------------------------------------------- /.env-example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/.env-example -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | dist 2 | -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/.eslintrc.js -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/.gitignore -------------------------------------------------------------------------------- /.huskyrc.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/.huskyrc.js -------------------------------------------------------------------------------- /.lintstagedrc.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/.lintstagedrc.js -------------------------------------------------------------------------------- /.prettierrc.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/.prettierrc.js -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/.vscode/settings.json -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/README.md -------------------------------------------------------------------------------- /babel.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/babel.config.js -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/docker-compose.yml -------------------------------------------------------------------------------- /docs/clean-architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/docs/clean-architecture.png -------------------------------------------------------------------------------- /jest.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/jest.config.js -------------------------------------------------------------------------------- /misc/Insomnia_2020-12-09: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/misc/Insomnia_2020-12-09 -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/package.json -------------------------------------------------------------------------------- /src/application/errors/bad-request-error.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/errors/bad-request-error.spec.ts -------------------------------------------------------------------------------- /src/application/errors/bad-request-error.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/errors/bad-request-error.ts -------------------------------------------------------------------------------- /src/application/errors/date-time-error.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/errors/date-time-error.spec.ts -------------------------------------------------------------------------------- /src/application/errors/date-time-error.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/errors/date-time-error.ts -------------------------------------------------------------------------------- /src/application/errors/default-application-error.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/errors/default-application-error.ts -------------------------------------------------------------------------------- /src/application/errors/email-validation-error.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/errors/email-validation-error.spec.ts -------------------------------------------------------------------------------- /src/application/errors/email-validation-error.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/errors/email-validation-error.ts -------------------------------------------------------------------------------- /src/application/errors/internal-server-error.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/errors/internal-server-error.spec.ts -------------------------------------------------------------------------------- /src/application/errors/internal-server-error.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/errors/internal-server-error.ts -------------------------------------------------------------------------------- /src/application/errors/not-found-error.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/errors/not-found-error.spec.ts -------------------------------------------------------------------------------- /src/application/errors/not-found-error.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/errors/not-found-error.ts -------------------------------------------------------------------------------- /src/application/errors/repository-error.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/errors/repository-error.spec.ts -------------------------------------------------------------------------------- /src/application/errors/repository-error.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/errors/repository-error.ts -------------------------------------------------------------------------------- /src/application/errors/request-validation-error.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/errors/request-validation-error.spec.ts -------------------------------------------------------------------------------- /src/application/errors/request-validation-error.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/errors/request-validation-error.ts -------------------------------------------------------------------------------- /src/application/errors/sanitizer-error.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/errors/sanitizer-error.spec.ts -------------------------------------------------------------------------------- /src/application/errors/sanitizer-error.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/errors/sanitizer-error.ts -------------------------------------------------------------------------------- /src/application/errors/unauthorized-error.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/errors/unauthorized-error.spec.ts -------------------------------------------------------------------------------- /src/application/errors/unauthorized-error.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/errors/unauthorized-error.ts -------------------------------------------------------------------------------- /src/application/errors/user-exists-error.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/errors/user-exists-error.spec.ts -------------------------------------------------------------------------------- /src/application/errors/user-exists-error.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/errors/user-exists-error.ts -------------------------------------------------------------------------------- /src/application/ports/controllers/controller.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/ports/controllers/controller.ts -------------------------------------------------------------------------------- /src/application/ports/middlewares/middleware.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/ports/middlewares/middleware.ts -------------------------------------------------------------------------------- /src/application/ports/repositories/token/create-token-repository.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/ports/repositories/token/create-token-repository.ts -------------------------------------------------------------------------------- /src/application/ports/repositories/token/delete-token-by-user-id-repository.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/ports/repositories/token/delete-token-by-user-id-repository.ts -------------------------------------------------------------------------------- /src/application/ports/repositories/token/find-token-by-id-repository.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/ports/repositories/token/find-token-by-id-repository.ts -------------------------------------------------------------------------------- /src/application/ports/repositories/token/find-token-by-token-repository.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/ports/repositories/token/find-token-by-token-repository.ts -------------------------------------------------------------------------------- /src/application/ports/repositories/token/find-token-by-user-id-repository.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/ports/repositories/token/find-token-by-user-id-repository.ts -------------------------------------------------------------------------------- /src/application/ports/repositories/user/create-user-repository.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/ports/repositories/user/create-user-repository.ts -------------------------------------------------------------------------------- /src/application/ports/repositories/user/delete-user-by-id-repository.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/ports/repositories/user/delete-user-by-id-repository.ts -------------------------------------------------------------------------------- /src/application/ports/repositories/user/find-all-users-repository.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/ports/repositories/user/find-all-users-repository.ts -------------------------------------------------------------------------------- /src/application/ports/repositories/user/find-user-by-email-repository.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/ports/repositories/user/find-user-by-email-repository.ts -------------------------------------------------------------------------------- /src/application/ports/repositories/user/find-user-by-id-repository.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/ports/repositories/user/find-user-by-id-repository.ts -------------------------------------------------------------------------------- /src/application/ports/repositories/user/find-user-with-roles-repository.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/ports/repositories/user/find-user-with-roles-repository.ts -------------------------------------------------------------------------------- /src/application/ports/repositories/user/update-user-repository.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/ports/repositories/user/update-user-repository.ts -------------------------------------------------------------------------------- /src/application/ports/requests/middleware-request-model.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/ports/requests/middleware-request-model.ts -------------------------------------------------------------------------------- /src/application/ports/requests/request-model.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/ports/requests/request-model.ts -------------------------------------------------------------------------------- /src/application/ports/responses/response-handler.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/ports/responses/response-handler.ts -------------------------------------------------------------------------------- /src/application/ports/responses/response-model.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/ports/responses/response-model.ts -------------------------------------------------------------------------------- /src/application/ports/sanitizers/sanitizer.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/ports/sanitizers/sanitizer.ts -------------------------------------------------------------------------------- /src/application/ports/security/jwt-token.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/ports/security/jwt-token.ts -------------------------------------------------------------------------------- /src/application/ports/security/password-hashing.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/ports/security/password-hashing.ts -------------------------------------------------------------------------------- /src/application/ports/validation/email-validator.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/ports/validation/email-validator.ts -------------------------------------------------------------------------------- /src/application/ports/validation/validation-composite.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/ports/validation/validation-composite.ts -------------------------------------------------------------------------------- /src/application/use-cases/sign-in/sign-in.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/use-cases/sign-in/sign-in.spec.ts -------------------------------------------------------------------------------- /src/application/use-cases/sign-in/sign-in.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/use-cases/sign-in/sign-in.ts -------------------------------------------------------------------------------- /src/application/use-cases/token/refresh-token.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/use-cases/token/refresh-token.spec.ts -------------------------------------------------------------------------------- /src/application/use-cases/token/refresh-token.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/use-cases/token/refresh-token.ts -------------------------------------------------------------------------------- /src/application/use-cases/user/create-user.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/use-cases/user/create-user.spec.ts -------------------------------------------------------------------------------- /src/application/use-cases/user/create-user.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/use-cases/user/create-user.ts -------------------------------------------------------------------------------- /src/application/use-cases/user/delete-user-by-id.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/use-cases/user/delete-user-by-id.spec.ts -------------------------------------------------------------------------------- /src/application/use-cases/user/delete-user-by-id.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/use-cases/user/delete-user-by-id.ts -------------------------------------------------------------------------------- /src/application/use-cases/user/find-all-users.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/use-cases/user/find-all-users.spec.ts -------------------------------------------------------------------------------- /src/application/use-cases/user/find-all-users.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/use-cases/user/find-all-users.ts -------------------------------------------------------------------------------- /src/application/use-cases/user/find-user-by-id.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/use-cases/user/find-user-by-id.spec.ts -------------------------------------------------------------------------------- /src/application/use-cases/user/find-user-by-id.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/use-cases/user/find-user-by-id.ts -------------------------------------------------------------------------------- /src/application/use-cases/user/update-user.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/use-cases/user/update-user.spec.ts -------------------------------------------------------------------------------- /src/application/use-cases/user/update-user.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/use-cases/user/update-user.ts -------------------------------------------------------------------------------- /src/application/validation/common/leaf/validate-string-not-empty.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/validation/common/leaf/validate-string-not-empty.spec.ts -------------------------------------------------------------------------------- /src/application/validation/common/leaf/validate-string-not-empty.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/validation/common/leaf/validate-string-not-empty.ts -------------------------------------------------------------------------------- /src/application/validation/sign-in/composite/sign-in-validation.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/validation/sign-in/composite/sign-in-validation.spec.ts -------------------------------------------------------------------------------- /src/application/validation/sign-in/composite/sign-in-validation.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/validation/sign-in/composite/sign-in-validation.ts -------------------------------------------------------------------------------- /src/application/validation/user/composite/create-user-validation.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/validation/user/composite/create-user-validation.ts -------------------------------------------------------------------------------- /src/application/validation/user/composite/update-user-validation.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/validation/user/composite/update-user-validation.ts -------------------------------------------------------------------------------- /src/application/validation/user/composite/user-composite-validation.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/validation/user/composite/user-composite-validation.spec.ts -------------------------------------------------------------------------------- /src/application/validation/user/composite/user-composite-validation.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/validation/user/composite/user-composite-validation.ts -------------------------------------------------------------------------------- /src/application/validation/user/leaf/find-all-users-validation.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/validation/user/leaf/find-all-users-validation.spec.ts -------------------------------------------------------------------------------- /src/application/validation/user/leaf/find-all-users-validation.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/validation/user/leaf/find-all-users-validation.ts -------------------------------------------------------------------------------- /src/application/validation/user/leaf/user-email-validation.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/validation/user/leaf/user-email-validation.spec.ts -------------------------------------------------------------------------------- /src/application/validation/user/leaf/user-email-validation.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/validation/user/leaf/user-email-validation.ts -------------------------------------------------------------------------------- /src/application/validation/user/leaf/user-partial-required-fields-validation.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/validation/user/leaf/user-partial-required-fields-validation.spec.ts -------------------------------------------------------------------------------- /src/application/validation/user/leaf/user-partial-required-fields-validation.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/validation/user/leaf/user-partial-required-fields-validation.ts -------------------------------------------------------------------------------- /src/application/validation/user/leaf/user-passwords-must-match-validation.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/validation/user/leaf/user-passwords-must-match-validation.spec.ts -------------------------------------------------------------------------------- /src/application/validation/user/leaf/user-passwords-must-match-validation.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/validation/user/leaf/user-passwords-must-match-validation.ts -------------------------------------------------------------------------------- /src/application/validation/user/leaf/user-required-fields-validation.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/validation/user/leaf/user-required-fields-validation.spec.ts -------------------------------------------------------------------------------- /src/application/validation/user/leaf/user-required-fields-validation.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/application/validation/user/leaf/user-required-fields-validation.ts -------------------------------------------------------------------------------- /src/common/adapters/sanitizers/generic/generic-string-sanitizer-adapter.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/common/adapters/sanitizers/generic/generic-string-sanitizer-adapter.spec.ts -------------------------------------------------------------------------------- /src/common/adapters/sanitizers/generic/generic-string-sanitizer-adapter.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/common/adapters/sanitizers/generic/generic-string-sanitizer-adapter.ts -------------------------------------------------------------------------------- /src/common/adapters/security/bcrypt-adapter.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/common/adapters/security/bcrypt-adapter.spec.ts -------------------------------------------------------------------------------- /src/common/adapters/security/bcrypt-adapter.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/common/adapters/security/bcrypt-adapter.ts -------------------------------------------------------------------------------- /src/common/adapters/security/jwt-token-adapter.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/common/adapters/security/jwt-token-adapter.spec.ts -------------------------------------------------------------------------------- /src/common/adapters/security/jwt-token-adapter.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/common/adapters/security/jwt-token-adapter.ts -------------------------------------------------------------------------------- /src/common/adapters/validators/email-validator-adapter.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/common/adapters/validators/email-validator-adapter.spec.ts -------------------------------------------------------------------------------- /src/common/adapters/validators/email-validator-adapter.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/common/adapters/validators/email-validator-adapter.ts -------------------------------------------------------------------------------- /src/common/helpers/date/create-future-date.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/common/helpers/date/create-future-date.spec.ts -------------------------------------------------------------------------------- /src/common/helpers/date/create-future-date.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/common/helpers/date/create-future-date.ts -------------------------------------------------------------------------------- /src/common/helpers/date/format-date-time.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/common/helpers/date/format-date-time.spec.ts -------------------------------------------------------------------------------- /src/common/helpers/date/format-date-time.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/common/helpers/date/format-date-time.ts -------------------------------------------------------------------------------- /src/common/helpers/numbers/zero-pad-left.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/common/helpers/numbers/zero-pad-left.spec.ts -------------------------------------------------------------------------------- /src/common/helpers/numbers/zero-pad-left.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/common/helpers/numbers/zero-pad-left.ts -------------------------------------------------------------------------------- /src/common/helpers/objects/object-key-exists.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/common/helpers/objects/object-key-exists.ts -------------------------------------------------------------------------------- /src/common/helpers/objects/remove-object-empty-keys.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/common/helpers/objects/remove-object-empty-keys.ts -------------------------------------------------------------------------------- /src/common/helpers/strings/is_string.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/common/helpers/strings/is_string.ts -------------------------------------------------------------------------------- /src/domain/models/role/role.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/domain/models/role/role.ts -------------------------------------------------------------------------------- /src/domain/models/sign-in/sign-in-request-model.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/domain/models/sign-in/sign-in-request-model.ts -------------------------------------------------------------------------------- /src/domain/models/sign-in/sign-in-response-model.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/domain/models/sign-in/sign-in-response-model.ts -------------------------------------------------------------------------------- /src/domain/models/token/signed-token.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/domain/models/token/signed-token.ts -------------------------------------------------------------------------------- /src/domain/models/token/token-request-model.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/domain/models/token/token-request-model.ts -------------------------------------------------------------------------------- /src/domain/models/token/token.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/domain/models/token/token.ts -------------------------------------------------------------------------------- /src/domain/models/user/user-request-partial-fields.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/domain/models/user/user-request-partial-fields.ts -------------------------------------------------------------------------------- /src/domain/models/user/user-request-required-fields.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/domain/models/user/user-request-required-fields.ts -------------------------------------------------------------------------------- /src/domain/models/user/user.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/domain/models/user/user.ts -------------------------------------------------------------------------------- /src/domain/use-cases/sign-in/sign-in-use-case.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/domain/use-cases/sign-in/sign-in-use-case.ts -------------------------------------------------------------------------------- /src/domain/use-cases/token/refresh-token-use-case.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/domain/use-cases/token/refresh-token-use-case.ts -------------------------------------------------------------------------------- /src/domain/use-cases/user/create-user-use-case.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/domain/use-cases/user/create-user-use-case.ts -------------------------------------------------------------------------------- /src/domain/use-cases/user/delete-user-by-id-use-case.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/domain/use-cases/user/delete-user-by-id-use-case.ts -------------------------------------------------------------------------------- /src/domain/use-cases/user/find-all-users-use-case.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/domain/use-cases/user/find-all-users-use-case.ts -------------------------------------------------------------------------------- /src/domain/use-cases/user/find-user-by-id-use-case.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/domain/use-cases/user/find-user-by-id-use-case.ts -------------------------------------------------------------------------------- /src/domain/use-cases/user/update-user-use-case.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/domain/use-cases/user/update-user-use-case.ts -------------------------------------------------------------------------------- /src/infrastructure/express/adapters/express-middleware-adapter.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/infrastructure/express/adapters/express-middleware-adapter.ts -------------------------------------------------------------------------------- /src/infrastructure/express/adapters/express-route-adapter.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/infrastructure/express/adapters/express-route-adapter.ts -------------------------------------------------------------------------------- /src/infrastructure/express/middlewares/rate-limit.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/infrastructure/express/middlewares/rate-limit.ts -------------------------------------------------------------------------------- /src/infrastructure/express/routes/refresh-token.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/infrastructure/express/routes/refresh-token.ts -------------------------------------------------------------------------------- /src/infrastructure/express/routes/sign-in.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/infrastructure/express/routes/sign-in.test.ts -------------------------------------------------------------------------------- /src/infrastructure/express/routes/sign-in.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/infrastructure/express/routes/sign-in.ts -------------------------------------------------------------------------------- /src/infrastructure/express/routes/user.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/infrastructure/express/routes/user.test.ts -------------------------------------------------------------------------------- /src/infrastructure/express/routes/user.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/infrastructure/express/routes/user.ts -------------------------------------------------------------------------------- /src/infrastructure/express/server.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/infrastructure/express/server.ts -------------------------------------------------------------------------------- /src/infrastructure/express/setup/setup-app.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/infrastructure/express/setup/setup-app.ts -------------------------------------------------------------------------------- /src/infrastructure/express/setup/setup-async-errors.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/infrastructure/express/setup/setup-async-errors.test.ts -------------------------------------------------------------------------------- /src/infrastructure/express/setup/setup-async-errors.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/infrastructure/express/setup/setup-async-errors.ts -------------------------------------------------------------------------------- /src/infrastructure/express/setup/setup-global-middlewares.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/infrastructure/express/setup/setup-global-middlewares.test.ts -------------------------------------------------------------------------------- /src/infrastructure/express/setup/setup-global-middlewares.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/infrastructure/express/setup/setup-global-middlewares.ts -------------------------------------------------------------------------------- /src/infrastructure/express/setup/setup-routes.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/infrastructure/express/setup/setup-routes.ts -------------------------------------------------------------------------------- /src/infrastructure/knex/connection.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/infrastructure/knex/connection.ts -------------------------------------------------------------------------------- /src/infrastructure/knex/knexfile.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/infrastructure/knex/knexfile.ts -------------------------------------------------------------------------------- /src/infrastructure/knex/migrations/20201119051948_create_users.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/infrastructure/knex/migrations/20201119051948_create_users.ts -------------------------------------------------------------------------------- /src/infrastructure/knex/migrations/20201202132246_create_token.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/infrastructure/knex/migrations/20201202132246_create_token.ts -------------------------------------------------------------------------------- /src/infrastructure/knex/migrations/20201206220538_create_roles.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/infrastructure/knex/migrations/20201206220538_create_roles.ts -------------------------------------------------------------------------------- /src/infrastructure/knex/migrations/20201206220633_create_user_roles.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/infrastructure/knex/migrations/20201206220633_create_user_roles.ts -------------------------------------------------------------------------------- /src/infrastructure/knex/seeds/01_users.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/infrastructure/knex/seeds/01_users.ts -------------------------------------------------------------------------------- /src/infrastructure/knex/seeds/02_roles.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/infrastructure/knex/seeds/02_roles.ts -------------------------------------------------------------------------------- /src/infrastructure/knex/seeds/03_user_roles.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/infrastructure/knex/seeds/03_user_roles.ts -------------------------------------------------------------------------------- /src/infrastructure/repositories/token/sql/token-sql-repository.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/infrastructure/repositories/token/sql/token-sql-repository.test.ts -------------------------------------------------------------------------------- /src/infrastructure/repositories/token/sql/token-sql-repository.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/infrastructure/repositories/token/sql/token-sql-repository.ts -------------------------------------------------------------------------------- /src/infrastructure/repositories/token/token-default-repository.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/infrastructure/repositories/token/token-default-repository.ts -------------------------------------------------------------------------------- /src/infrastructure/repositories/user/sql/helpers/map-user-fields.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/infrastructure/repositories/user/sql/helpers/map-user-fields.spec.ts -------------------------------------------------------------------------------- /src/infrastructure/repositories/user/sql/helpers/map-user-fields.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/infrastructure/repositories/user/sql/helpers/map-user-fields.ts -------------------------------------------------------------------------------- /src/infrastructure/repositories/user/sql/models/user-with-roles.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/infrastructure/repositories/user/sql/models/user-with-roles.ts -------------------------------------------------------------------------------- /src/infrastructure/repositories/user/sql/repositories/user-sql-repository.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/infrastructure/repositories/user/sql/repositories/user-sql-repository.test.ts -------------------------------------------------------------------------------- /src/infrastructure/repositories/user/sql/repositories/user-sql-repository.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/infrastructure/repositories/user/sql/repositories/user-sql-repository.ts -------------------------------------------------------------------------------- /src/infrastructure/repositories/user/user-default-repository.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/infrastructure/repositories/user/user-default-repository.ts -------------------------------------------------------------------------------- /src/main/factories/controllers/sign-in/sign-in-controller-factory.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/main/factories/controllers/sign-in/sign-in-controller-factory.ts -------------------------------------------------------------------------------- /src/main/factories/controllers/token/refresh-token-controller-factory.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/main/factories/controllers/token/refresh-token-controller-factory.ts -------------------------------------------------------------------------------- /src/main/factories/controllers/user/create-user-controller-factory.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/main/factories/controllers/user/create-user-controller-factory.ts -------------------------------------------------------------------------------- /src/main/factories/controllers/user/delete-user-by-id-controller-factory.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/main/factories/controllers/user/delete-user-by-id-controller-factory.ts -------------------------------------------------------------------------------- /src/main/factories/controllers/user/find-all-users-controller-factory.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/main/factories/controllers/user/find-all-users-controller-factory.ts -------------------------------------------------------------------------------- /src/main/factories/controllers/user/find-user-by-id-controller-factory.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/main/factories/controllers/user/find-user-by-id-controller-factory.ts -------------------------------------------------------------------------------- /src/main/factories/controllers/user/update-user-controller-factory.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/main/factories/controllers/user/update-user-controller-factory.ts -------------------------------------------------------------------------------- /src/main/factories/middlewares/authentication/is-authenticated-middleware-factory.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/main/factories/middlewares/authentication/is-authenticated-middleware-factory.ts -------------------------------------------------------------------------------- /src/main/factories/middlewares/authentication/logged-user-is-target-user-middleware-factory.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/main/factories/middlewares/authentication/logged-user-is-target-user-middleware-factory.ts -------------------------------------------------------------------------------- /src/presentation/controllers/sign-in/sign-in-controller.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/presentation/controllers/sign-in/sign-in-controller.spec.ts -------------------------------------------------------------------------------- /src/presentation/controllers/sign-in/sign-in-controller.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/presentation/controllers/sign-in/sign-in-controller.ts -------------------------------------------------------------------------------- /src/presentation/controllers/token/refresh-token-controller.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/presentation/controllers/token/refresh-token-controller.spec.ts -------------------------------------------------------------------------------- /src/presentation/controllers/token/refresh-token-controller.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/presentation/controllers/token/refresh-token-controller.ts -------------------------------------------------------------------------------- /src/presentation/controllers/user/create-user-controller.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/presentation/controllers/user/create-user-controller.spec.ts -------------------------------------------------------------------------------- /src/presentation/controllers/user/create-user-controller.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/presentation/controllers/user/create-user-controller.ts -------------------------------------------------------------------------------- /src/presentation/controllers/user/delete-user-by-id-controller.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/presentation/controllers/user/delete-user-by-id-controller.spec.ts -------------------------------------------------------------------------------- /src/presentation/controllers/user/delete-user-by-id-controller.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/presentation/controllers/user/delete-user-by-id-controller.ts -------------------------------------------------------------------------------- /src/presentation/controllers/user/find-all-users-controller.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/presentation/controllers/user/find-all-users-controller.spec.ts -------------------------------------------------------------------------------- /src/presentation/controllers/user/find-all-users-controller.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/presentation/controllers/user/find-all-users-controller.ts -------------------------------------------------------------------------------- /src/presentation/controllers/user/find-by-id-controller.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/presentation/controllers/user/find-by-id-controller.spec.ts -------------------------------------------------------------------------------- /src/presentation/controllers/user/find-by-id-controller.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/presentation/controllers/user/find-by-id-controller.ts -------------------------------------------------------------------------------- /src/presentation/controllers/user/update-user-controller.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/presentation/controllers/user/update-user-controller.spec.ts -------------------------------------------------------------------------------- /src/presentation/controllers/user/update-user-controller.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/presentation/controllers/user/update-user-controller.ts -------------------------------------------------------------------------------- /src/presentation/middlewares/authentication/is-authenticated.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/presentation/middlewares/authentication/is-authenticated.spec.ts -------------------------------------------------------------------------------- /src/presentation/middlewares/authentication/is-authenticated.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/presentation/middlewares/authentication/is-authenticated.ts -------------------------------------------------------------------------------- /src/presentation/middlewares/authentication/logged-user-is-target-user.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/presentation/middlewares/authentication/logged-user-is-target-user.spec.ts -------------------------------------------------------------------------------- /src/presentation/middlewares/authentication/logged-user-is-target-user.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/presentation/middlewares/authentication/logged-user-is-target-user.ts -------------------------------------------------------------------------------- /src/presentation/responses/generic-created-response.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/presentation/responses/generic-created-response.spec.ts -------------------------------------------------------------------------------- /src/presentation/responses/generic-created-response.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/presentation/responses/generic-created-response.ts -------------------------------------------------------------------------------- /src/presentation/responses/generic-deleted-response.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/presentation/responses/generic-deleted-response.spec.ts -------------------------------------------------------------------------------- /src/presentation/responses/generic-deleted-response.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/presentation/responses/generic-deleted-response.ts -------------------------------------------------------------------------------- /src/presentation/responses/generic-success-response.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/presentation/responses/generic-success-response.spec.ts -------------------------------------------------------------------------------- /src/presentation/responses/generic-success-response.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/presentation/responses/generic-success-response.ts -------------------------------------------------------------------------------- /src/presentation/responses/generic-updated-response.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/presentation/responses/generic-updated-response.spec.ts -------------------------------------------------------------------------------- /src/presentation/responses/generic-updated-response.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/src/presentation/responses/generic-updated-response.ts -------------------------------------------------------------------------------- /tsconfig-build.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/tsconfig-build.json -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/clean-architecture-api-boilerplate/HEAD/tsconfig.json --------------------------------------------------------------------------------