├── .env.keep ├── .gitignore ├── .prettierrc ├── .vscode └── launch.json ├── Dockerfile ├── LICENSE ├── README.MD ├── docker-compose.yml ├── eslint.config.mjs ├── nest-cli.json ├── package.json ├── prisma ├── migrations │ └── migration_lock.toml └── schema.prisma ├── src ├── app.module.ts ├── constants │ └── policies.actions.ts ├── core │ ├── authentication │ │ ├── auth.module.ts │ │ ├── controllers │ │ │ ├── google-auth.controller.ts │ │ │ └── local-auth.controller.ts │ │ ├── decorators │ │ │ ├── auth-public.decorator.ts │ │ │ └── user.decorator.ts │ │ ├── dto │ │ │ ├── email-code.dto.ts │ │ │ ├── user-reset-password-request.dto.ts │ │ │ ├── user-reset-password.dto.ts │ │ │ └── user-signup.dto.ts │ │ ├── guards │ │ │ ├── google-auth.guard.ts │ │ │ ├── jwt-auth.guard.ts │ │ │ └── local-auth.guard.ts │ │ ├── services │ │ │ ├── auth.service.ts │ │ │ ├── encryption.service.ts │ │ │ └── hash.service.ts │ │ └── strategies │ │ │ ├── google.strategy.ts │ │ │ ├── jwt.strategy.ts │ │ │ └── local.strategy.ts │ ├── body-transform │ │ ├── body-transform.module.ts │ │ └── pipes │ │ │ └── trim.pipe.ts │ ├── cache │ │ ├── cache.module.ts │ │ ├── decorators │ │ │ └── disable-cache.decorator.ts │ │ └── interceptors │ │ │ └── disable-cache.interceptor.ts │ ├── configurations │ │ ├── configurations.module.ts │ │ ├── factories │ │ │ └── configurations.factory.ts │ │ └── types.ts │ ├── database │ │ ├── database.module.ts │ │ └── services │ │ │ └── prisma.service.ts │ ├── exceptions │ │ ├── exceptions.module.ts │ │ └── filters │ │ │ └── http-exception.filter.ts │ ├── health │ │ ├── controllers │ │ │ └── health.controller.ts │ │ ├── health.module.ts │ │ └── indicators │ │ │ └── prisma.health.ts │ ├── policies │ │ ├── constants │ │ │ └── policies.constants.ts │ │ ├── decorators │ │ │ ├── ability.decorator.ts │ │ │ └── policies.decorator.ts │ │ ├── factories │ │ │ └── ability.factory.ts │ │ ├── guards │ │ │ └── policies.guard.ts │ │ └── types.ts │ ├── rate-limit │ │ ├── guards │ │ │ └── rate-limit.guard.ts │ │ └── rate-limit.module.ts │ ├── response-time │ │ ├── interceptors │ │ │ └── response-time.interceptor.ts │ │ └── response-time.module.ts │ ├── user │ │ ├── entity │ │ │ ├── user.entity.ts │ │ │ └── uset-token.entity.ts │ │ └── services │ │ │ └── user.service.ts │ └── validation │ │ ├── pipes │ │ └── validation.pipe.ts │ │ └── validation.module.ts ├── main.ts ├── models │ ├── post │ │ ├── controllers │ │ │ └── post.controller.ts │ │ ├── guards │ │ │ └── post-policies.guard.ts │ │ ├── policies │ │ │ └── post-ability.factory.ts │ │ ├── post.module.ts │ │ └── services │ │ │ └── post.service.ts │ └── user │ │ ├── controllers │ │ ├── user-verification.controllers.ts │ │ └── user.controller.ts │ │ ├── dto │ │ ├── user-update-password.dto.ts │ │ └── user-update.dto.ts │ │ ├── guards │ │ └── user-policies.guard.ts │ │ ├── policies │ │ └── user-ability.factory.ts │ │ └── user.module.ts ├── typings │ ├── ability.ts │ ├── common.ts │ └── http-request.ts └── utils │ └── decorators │ ├── id.decorator.ts │ └── uuid.decoreator.ts ├── tsconfig.build.json └── tsconfig.json /.env.keep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/.env.keep -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/.gitignore -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/.prettierrc -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/.vscode/launch.json -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/Dockerfile -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/LICENSE -------------------------------------------------------------------------------- /README.MD: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/README.MD -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/docker-compose.yml -------------------------------------------------------------------------------- /eslint.config.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/eslint.config.mjs -------------------------------------------------------------------------------- /nest-cli.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/nest-cli.json -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/package.json -------------------------------------------------------------------------------- /prisma/migrations/migration_lock.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/prisma/migrations/migration_lock.toml -------------------------------------------------------------------------------- /prisma/schema.prisma: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/prisma/schema.prisma -------------------------------------------------------------------------------- /src/app.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/src/app.module.ts -------------------------------------------------------------------------------- /src/constants/policies.actions.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/src/constants/policies.actions.ts -------------------------------------------------------------------------------- /src/core/authentication/auth.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/src/core/authentication/auth.module.ts -------------------------------------------------------------------------------- /src/core/authentication/controllers/google-auth.controller.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/src/core/authentication/controllers/google-auth.controller.ts -------------------------------------------------------------------------------- /src/core/authentication/controllers/local-auth.controller.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/src/core/authentication/controllers/local-auth.controller.ts -------------------------------------------------------------------------------- /src/core/authentication/decorators/auth-public.decorator.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/src/core/authentication/decorators/auth-public.decorator.ts -------------------------------------------------------------------------------- /src/core/authentication/decorators/user.decorator.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/src/core/authentication/decorators/user.decorator.ts -------------------------------------------------------------------------------- /src/core/authentication/dto/email-code.dto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/src/core/authentication/dto/email-code.dto.ts -------------------------------------------------------------------------------- /src/core/authentication/dto/user-reset-password-request.dto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/src/core/authentication/dto/user-reset-password-request.dto.ts -------------------------------------------------------------------------------- /src/core/authentication/dto/user-reset-password.dto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/src/core/authentication/dto/user-reset-password.dto.ts -------------------------------------------------------------------------------- /src/core/authentication/dto/user-signup.dto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/src/core/authentication/dto/user-signup.dto.ts -------------------------------------------------------------------------------- /src/core/authentication/guards/google-auth.guard.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/src/core/authentication/guards/google-auth.guard.ts -------------------------------------------------------------------------------- /src/core/authentication/guards/jwt-auth.guard.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/src/core/authentication/guards/jwt-auth.guard.ts -------------------------------------------------------------------------------- /src/core/authentication/guards/local-auth.guard.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/src/core/authentication/guards/local-auth.guard.ts -------------------------------------------------------------------------------- /src/core/authentication/services/auth.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/src/core/authentication/services/auth.service.ts -------------------------------------------------------------------------------- /src/core/authentication/services/encryption.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/src/core/authentication/services/encryption.service.ts -------------------------------------------------------------------------------- /src/core/authentication/services/hash.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/src/core/authentication/services/hash.service.ts -------------------------------------------------------------------------------- /src/core/authentication/strategies/google.strategy.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/src/core/authentication/strategies/google.strategy.ts -------------------------------------------------------------------------------- /src/core/authentication/strategies/jwt.strategy.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/src/core/authentication/strategies/jwt.strategy.ts -------------------------------------------------------------------------------- /src/core/authentication/strategies/local.strategy.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/src/core/authentication/strategies/local.strategy.ts -------------------------------------------------------------------------------- /src/core/body-transform/body-transform.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/src/core/body-transform/body-transform.module.ts -------------------------------------------------------------------------------- /src/core/body-transform/pipes/trim.pipe.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/src/core/body-transform/pipes/trim.pipe.ts -------------------------------------------------------------------------------- /src/core/cache/cache.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/src/core/cache/cache.module.ts -------------------------------------------------------------------------------- /src/core/cache/decorators/disable-cache.decorator.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/src/core/cache/decorators/disable-cache.decorator.ts -------------------------------------------------------------------------------- /src/core/cache/interceptors/disable-cache.interceptor.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/src/core/cache/interceptors/disable-cache.interceptor.ts -------------------------------------------------------------------------------- /src/core/configurations/configurations.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/src/core/configurations/configurations.module.ts -------------------------------------------------------------------------------- /src/core/configurations/factories/configurations.factory.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/src/core/configurations/factories/configurations.factory.ts -------------------------------------------------------------------------------- /src/core/configurations/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/src/core/configurations/types.ts -------------------------------------------------------------------------------- /src/core/database/database.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/src/core/database/database.module.ts -------------------------------------------------------------------------------- /src/core/database/services/prisma.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/src/core/database/services/prisma.service.ts -------------------------------------------------------------------------------- /src/core/exceptions/exceptions.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/src/core/exceptions/exceptions.module.ts -------------------------------------------------------------------------------- /src/core/exceptions/filters/http-exception.filter.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/src/core/exceptions/filters/http-exception.filter.ts -------------------------------------------------------------------------------- /src/core/health/controllers/health.controller.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/src/core/health/controllers/health.controller.ts -------------------------------------------------------------------------------- /src/core/health/health.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/src/core/health/health.module.ts -------------------------------------------------------------------------------- /src/core/health/indicators/prisma.health.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/src/core/health/indicators/prisma.health.ts -------------------------------------------------------------------------------- /src/core/policies/constants/policies.constants.ts: -------------------------------------------------------------------------------- 1 | export const CHECK_POLICIES_KEY = 'check_policy' 2 | -------------------------------------------------------------------------------- /src/core/policies/decorators/ability.decorator.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/src/core/policies/decorators/ability.decorator.ts -------------------------------------------------------------------------------- /src/core/policies/decorators/policies.decorator.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/src/core/policies/decorators/policies.decorator.ts -------------------------------------------------------------------------------- /src/core/policies/factories/ability.factory.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/src/core/policies/factories/ability.factory.ts -------------------------------------------------------------------------------- /src/core/policies/guards/policies.guard.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/src/core/policies/guards/policies.guard.ts -------------------------------------------------------------------------------- /src/core/policies/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/src/core/policies/types.ts -------------------------------------------------------------------------------- /src/core/rate-limit/guards/rate-limit.guard.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/src/core/rate-limit/guards/rate-limit.guard.ts -------------------------------------------------------------------------------- /src/core/rate-limit/rate-limit.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/src/core/rate-limit/rate-limit.module.ts -------------------------------------------------------------------------------- /src/core/response-time/interceptors/response-time.interceptor.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/src/core/response-time/interceptors/response-time.interceptor.ts -------------------------------------------------------------------------------- /src/core/response-time/response-time.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/src/core/response-time/response-time.module.ts -------------------------------------------------------------------------------- /src/core/user/entity/user.entity.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/src/core/user/entity/user.entity.ts -------------------------------------------------------------------------------- /src/core/user/entity/uset-token.entity.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/src/core/user/entity/uset-token.entity.ts -------------------------------------------------------------------------------- /src/core/user/services/user.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/src/core/user/services/user.service.ts -------------------------------------------------------------------------------- /src/core/validation/pipes/validation.pipe.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/src/core/validation/pipes/validation.pipe.ts -------------------------------------------------------------------------------- /src/core/validation/validation.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/src/core/validation/validation.module.ts -------------------------------------------------------------------------------- /src/main.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/src/main.ts -------------------------------------------------------------------------------- /src/models/post/controllers/post.controller.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/src/models/post/controllers/post.controller.ts -------------------------------------------------------------------------------- /src/models/post/guards/post-policies.guard.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/src/models/post/guards/post-policies.guard.ts -------------------------------------------------------------------------------- /src/models/post/policies/post-ability.factory.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/src/models/post/policies/post-ability.factory.ts -------------------------------------------------------------------------------- /src/models/post/post.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/src/models/post/post.module.ts -------------------------------------------------------------------------------- /src/models/post/services/post.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/src/models/post/services/post.service.ts -------------------------------------------------------------------------------- /src/models/user/controllers/user-verification.controllers.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/src/models/user/controllers/user-verification.controllers.ts -------------------------------------------------------------------------------- /src/models/user/controllers/user.controller.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/src/models/user/controllers/user.controller.ts -------------------------------------------------------------------------------- /src/models/user/dto/user-update-password.dto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/src/models/user/dto/user-update-password.dto.ts -------------------------------------------------------------------------------- /src/models/user/dto/user-update.dto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/src/models/user/dto/user-update.dto.ts -------------------------------------------------------------------------------- /src/models/user/guards/user-policies.guard.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/src/models/user/guards/user-policies.guard.ts -------------------------------------------------------------------------------- /src/models/user/policies/user-ability.factory.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/src/models/user/policies/user-ability.factory.ts -------------------------------------------------------------------------------- /src/models/user/user.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/src/models/user/user.module.ts -------------------------------------------------------------------------------- /src/typings/ability.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/src/typings/ability.ts -------------------------------------------------------------------------------- /src/typings/common.ts: -------------------------------------------------------------------------------- 1 | export declare type UUID = string 2 | -------------------------------------------------------------------------------- /src/typings/http-request.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/src/typings/http-request.ts -------------------------------------------------------------------------------- /src/utils/decorators/id.decorator.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/src/utils/decorators/id.decorator.ts -------------------------------------------------------------------------------- /src/utils/decorators/uuid.decoreator.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/src/utils/decorators/uuid.decoreator.ts -------------------------------------------------------------------------------- /tsconfig.build.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/tsconfig.build.json -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raminious/nestjs-prisma-boilerplate/HEAD/tsconfig.json --------------------------------------------------------------------------------