├── .env.example ├── .env.test ├── .eslintrc.js ├── .gitignore ├── .prettierrc ├── README.md ├── nest-cli.json ├── package.json ├── src ├── app.controller.spec.ts ├── app.controller.ts ├── app.module.ts ├── app.service.ts ├── auth │ ├── auth.controller.ts │ ├── auth.module.ts │ ├── constants.ts │ ├── decorators │ │ ├── scopes.decorator.ts │ │ └── user.decorator.ts │ ├── dtos │ │ ├── create-user.dto.ts │ │ └── login-user.dto.ts │ ├── jwt-auth.guard.spec.ts │ ├── jwt-auth.guard.ts │ └── machines │ │ ├── jwt-validator.machine.ts │ │ ├── jwt-validator.types.ts │ │ ├── user-creator.machine.ts │ │ ├── user-creator.types.ts │ │ ├── user-login.machine.ts │ │ └── user-login.types.ts ├── constants │ └── route.ts ├── crypto │ ├── crypto.module.ts │ ├── crypto.service.spec.ts │ └── crypto.service.ts ├── i18n │ └── en │ │ ├── auth.json │ │ └── errors.json ├── jwt │ ├── interfaces │ │ ├── jwt-module-options.interface.ts │ │ ├── jwt-service-sign-options.interface.ts │ │ └── jwt-service-sign.interface.ts │ ├── jwt.module-definition.ts │ ├── jwt.module.ts │ ├── jwt.service.spec.ts │ └── jwt.service.ts ├── logger │ ├── app-logger.service.ts │ └── logger.module.ts ├── main.ts ├── mongoose │ ├── base-model.schema.ts │ ├── helpers │ │ └── change-mongoose-documents-to-class.ts │ └── interceptors │ │ └── mongoose-class-serializer.interceptor.ts ├── swagger │ └── setup.ts ├── user │ ├── interfaces │ │ └── user-service-create-token-options.interface.ts │ ├── schemas │ │ ├── user-token.schema.ts │ │ └── user.schema.ts │ ├── token.service.spec.ts │ ├── token.service.ts │ ├── user.module.ts │ ├── user.service.spec.ts │ └── user.service.ts └── utils │ ├── common │ ├── is-object.spec.ts │ ├── is-object.ts │ ├── string-to-bool.spec.ts │ └── string-to-bool.ts │ ├── machine │ └── start-machine.ts │ └── test │ ├── factories │ ├── factory.ts │ └── user.factory.ts │ ├── helpers │ ├── module.ts │ └── request.ts │ └── modules │ └── mongoose-test.module.ts ├── test ├── app.e2e-spec.ts ├── auth.e2e-spec.ts └── jest-e2e.json ├── tsconfig.build.json ├── tsconfig.json └── vercel.json /.env.example: -------------------------------------------------------------------------------- 1 | MONGO_URI= 2 | JWT_SECRET=secret 3 | PORT=3000 4 | SWAGGER_ENABLED=TRUE 5 | -------------------------------------------------------------------------------- /.env.test: -------------------------------------------------------------------------------- 1 | MONGO_URI= 2 | JWT_SECRET=secret -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hsndmr/nestjs-auth-starter/HEAD/.eslintrc.js -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hsndmr/nestjs-auth-starter/HEAD/.gitignore -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hsndmr/nestjs-auth-starter/HEAD/.prettierrc -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hsndmr/nestjs-auth-starter/HEAD/README.md -------------------------------------------------------------------------------- /nest-cli.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hsndmr/nestjs-auth-starter/HEAD/nest-cli.json -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hsndmr/nestjs-auth-starter/HEAD/package.json -------------------------------------------------------------------------------- /src/app.controller.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hsndmr/nestjs-auth-starter/HEAD/src/app.controller.spec.ts -------------------------------------------------------------------------------- /src/app.controller.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hsndmr/nestjs-auth-starter/HEAD/src/app.controller.ts -------------------------------------------------------------------------------- /src/app.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hsndmr/nestjs-auth-starter/HEAD/src/app.module.ts -------------------------------------------------------------------------------- /src/app.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hsndmr/nestjs-auth-starter/HEAD/src/app.service.ts -------------------------------------------------------------------------------- /src/auth/auth.controller.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hsndmr/nestjs-auth-starter/HEAD/src/auth/auth.controller.ts -------------------------------------------------------------------------------- /src/auth/auth.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hsndmr/nestjs-auth-starter/HEAD/src/auth/auth.module.ts -------------------------------------------------------------------------------- /src/auth/constants.ts: -------------------------------------------------------------------------------- 1 | export const COOKIE_JWT_KEY = 'token'; 2 | -------------------------------------------------------------------------------- /src/auth/decorators/scopes.decorator.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hsndmr/nestjs-auth-starter/HEAD/src/auth/decorators/scopes.decorator.ts -------------------------------------------------------------------------------- /src/auth/decorators/user.decorator.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hsndmr/nestjs-auth-starter/HEAD/src/auth/decorators/user.decorator.ts -------------------------------------------------------------------------------- /src/auth/dtos/create-user.dto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hsndmr/nestjs-auth-starter/HEAD/src/auth/dtos/create-user.dto.ts -------------------------------------------------------------------------------- /src/auth/dtos/login-user.dto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hsndmr/nestjs-auth-starter/HEAD/src/auth/dtos/login-user.dto.ts -------------------------------------------------------------------------------- /src/auth/jwt-auth.guard.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hsndmr/nestjs-auth-starter/HEAD/src/auth/jwt-auth.guard.spec.ts -------------------------------------------------------------------------------- /src/auth/jwt-auth.guard.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hsndmr/nestjs-auth-starter/HEAD/src/auth/jwt-auth.guard.ts -------------------------------------------------------------------------------- /src/auth/machines/jwt-validator.machine.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hsndmr/nestjs-auth-starter/HEAD/src/auth/machines/jwt-validator.machine.ts -------------------------------------------------------------------------------- /src/auth/machines/jwt-validator.types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hsndmr/nestjs-auth-starter/HEAD/src/auth/machines/jwt-validator.types.ts -------------------------------------------------------------------------------- /src/auth/machines/user-creator.machine.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hsndmr/nestjs-auth-starter/HEAD/src/auth/machines/user-creator.machine.ts -------------------------------------------------------------------------------- /src/auth/machines/user-creator.types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hsndmr/nestjs-auth-starter/HEAD/src/auth/machines/user-creator.types.ts -------------------------------------------------------------------------------- /src/auth/machines/user-login.machine.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hsndmr/nestjs-auth-starter/HEAD/src/auth/machines/user-login.machine.ts -------------------------------------------------------------------------------- /src/auth/machines/user-login.types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hsndmr/nestjs-auth-starter/HEAD/src/auth/machines/user-login.types.ts -------------------------------------------------------------------------------- /src/constants/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hsndmr/nestjs-auth-starter/HEAD/src/constants/route.ts -------------------------------------------------------------------------------- /src/crypto/crypto.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hsndmr/nestjs-auth-starter/HEAD/src/crypto/crypto.module.ts -------------------------------------------------------------------------------- /src/crypto/crypto.service.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hsndmr/nestjs-auth-starter/HEAD/src/crypto/crypto.service.spec.ts -------------------------------------------------------------------------------- /src/crypto/crypto.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hsndmr/nestjs-auth-starter/HEAD/src/crypto/crypto.service.ts -------------------------------------------------------------------------------- /src/i18n/en/auth.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hsndmr/nestjs-auth-starter/HEAD/src/i18n/en/auth.json -------------------------------------------------------------------------------- /src/i18n/en/errors.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hsndmr/nestjs-auth-starter/HEAD/src/i18n/en/errors.json -------------------------------------------------------------------------------- /src/jwt/interfaces/jwt-module-options.interface.ts: -------------------------------------------------------------------------------- 1 | export interface JwtModuleOptions { 2 | secret: string; 3 | exp?: number; 4 | } 5 | -------------------------------------------------------------------------------- /src/jwt/interfaces/jwt-service-sign-options.interface.ts: -------------------------------------------------------------------------------- 1 | export interface SignOptions { 2 | exp?: number; 3 | subject: string; 4 | } 5 | -------------------------------------------------------------------------------- /src/jwt/interfaces/jwt-service-sign.interface.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hsndmr/nestjs-auth-starter/HEAD/src/jwt/interfaces/jwt-service-sign.interface.ts -------------------------------------------------------------------------------- /src/jwt/jwt.module-definition.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hsndmr/nestjs-auth-starter/HEAD/src/jwt/jwt.module-definition.ts -------------------------------------------------------------------------------- /src/jwt/jwt.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hsndmr/nestjs-auth-starter/HEAD/src/jwt/jwt.module.ts -------------------------------------------------------------------------------- /src/jwt/jwt.service.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hsndmr/nestjs-auth-starter/HEAD/src/jwt/jwt.service.spec.ts -------------------------------------------------------------------------------- /src/jwt/jwt.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hsndmr/nestjs-auth-starter/HEAD/src/jwt/jwt.service.ts -------------------------------------------------------------------------------- /src/logger/app-logger.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hsndmr/nestjs-auth-starter/HEAD/src/logger/app-logger.service.ts -------------------------------------------------------------------------------- /src/logger/logger.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hsndmr/nestjs-auth-starter/HEAD/src/logger/logger.module.ts -------------------------------------------------------------------------------- /src/main.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hsndmr/nestjs-auth-starter/HEAD/src/main.ts -------------------------------------------------------------------------------- /src/mongoose/base-model.schema.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hsndmr/nestjs-auth-starter/HEAD/src/mongoose/base-model.schema.ts -------------------------------------------------------------------------------- /src/mongoose/helpers/change-mongoose-documents-to-class.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hsndmr/nestjs-auth-starter/HEAD/src/mongoose/helpers/change-mongoose-documents-to-class.ts -------------------------------------------------------------------------------- /src/mongoose/interceptors/mongoose-class-serializer.interceptor.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hsndmr/nestjs-auth-starter/HEAD/src/mongoose/interceptors/mongoose-class-serializer.interceptor.ts -------------------------------------------------------------------------------- /src/swagger/setup.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hsndmr/nestjs-auth-starter/HEAD/src/swagger/setup.ts -------------------------------------------------------------------------------- /src/user/interfaces/user-service-create-token-options.interface.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hsndmr/nestjs-auth-starter/HEAD/src/user/interfaces/user-service-create-token-options.interface.ts -------------------------------------------------------------------------------- /src/user/schemas/user-token.schema.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hsndmr/nestjs-auth-starter/HEAD/src/user/schemas/user-token.schema.ts -------------------------------------------------------------------------------- /src/user/schemas/user.schema.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hsndmr/nestjs-auth-starter/HEAD/src/user/schemas/user.schema.ts -------------------------------------------------------------------------------- /src/user/token.service.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hsndmr/nestjs-auth-starter/HEAD/src/user/token.service.spec.ts -------------------------------------------------------------------------------- /src/user/token.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hsndmr/nestjs-auth-starter/HEAD/src/user/token.service.ts -------------------------------------------------------------------------------- /src/user/user.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hsndmr/nestjs-auth-starter/HEAD/src/user/user.module.ts -------------------------------------------------------------------------------- /src/user/user.service.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hsndmr/nestjs-auth-starter/HEAD/src/user/user.service.spec.ts -------------------------------------------------------------------------------- /src/user/user.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hsndmr/nestjs-auth-starter/HEAD/src/user/user.service.ts -------------------------------------------------------------------------------- /src/utils/common/is-object.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hsndmr/nestjs-auth-starter/HEAD/src/utils/common/is-object.spec.ts -------------------------------------------------------------------------------- /src/utils/common/is-object.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hsndmr/nestjs-auth-starter/HEAD/src/utils/common/is-object.ts -------------------------------------------------------------------------------- /src/utils/common/string-to-bool.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hsndmr/nestjs-auth-starter/HEAD/src/utils/common/string-to-bool.spec.ts -------------------------------------------------------------------------------- /src/utils/common/string-to-bool.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hsndmr/nestjs-auth-starter/HEAD/src/utils/common/string-to-bool.ts -------------------------------------------------------------------------------- /src/utils/machine/start-machine.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hsndmr/nestjs-auth-starter/HEAD/src/utils/machine/start-machine.ts -------------------------------------------------------------------------------- /src/utils/test/factories/factory.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hsndmr/nestjs-auth-starter/HEAD/src/utils/test/factories/factory.ts -------------------------------------------------------------------------------- /src/utils/test/factories/user.factory.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hsndmr/nestjs-auth-starter/HEAD/src/utils/test/factories/user.factory.ts -------------------------------------------------------------------------------- /src/utils/test/helpers/module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hsndmr/nestjs-auth-starter/HEAD/src/utils/test/helpers/module.ts -------------------------------------------------------------------------------- /src/utils/test/helpers/request.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hsndmr/nestjs-auth-starter/HEAD/src/utils/test/helpers/request.ts -------------------------------------------------------------------------------- /src/utils/test/modules/mongoose-test.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hsndmr/nestjs-auth-starter/HEAD/src/utils/test/modules/mongoose-test.module.ts -------------------------------------------------------------------------------- /test/app.e2e-spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hsndmr/nestjs-auth-starter/HEAD/test/app.e2e-spec.ts -------------------------------------------------------------------------------- /test/auth.e2e-spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hsndmr/nestjs-auth-starter/HEAD/test/auth.e2e-spec.ts -------------------------------------------------------------------------------- /test/jest-e2e.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hsndmr/nestjs-auth-starter/HEAD/test/jest-e2e.json -------------------------------------------------------------------------------- /tsconfig.build.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hsndmr/nestjs-auth-starter/HEAD/tsconfig.build.json -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hsndmr/nestjs-auth-starter/HEAD/tsconfig.json -------------------------------------------------------------------------------- /vercel.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hsndmr/nestjs-auth-starter/HEAD/vercel.json --------------------------------------------------------------------------------