import { Module } from '@nestjs/common'; import { APP_GUARD } from '@nestjs/core'; import { DatabaseModule } from '../database/database.module'; import { AccessGuard } from './access.guard'; import { AccessStore } from './access.store'; import { AuthRateGuard } from './auth-rate.guard'; import { AuthController } from './auth.controller'; import { AuthService } from './auth.service'; import { AuthStore } from './auth.store'; import { AuditController } from './audit.controller'; import { BootstrapService } from './bootstrap.service'; import { PasswordService } from './password.service'; import { RateLimitService } from './rate-limit.service'; import { RecoveryController } from './recovery.controller'; import { RecoveryMailer } from './recovery-mailer'; import { RecoveryService } from './recovery.service'; import { RecoveryStore } from './recovery.store'; import { RoleStore } from './role.store'; import { RolesController } from './roles.controller'; import { SessionStore } from './session.store'; import { UserStore } from './user.store'; import { UsersController } from './users.controller'; @Module({ imports: [DatabaseModule], controllers: [ AuthController, RecoveryController, UsersController, RolesController, AuditController, ], providers: [ AccessStore, AuthRateGuard, AuthService, AuthStore, BootstrapService, PasswordService, RateLimitService, RecoveryMailer, RecoveryService, RecoveryStore, RoleStore, SessionStore, UserStore, { provide: APP_GUARD, useClass: AccessGuard }, ], exports: [BootstrapService], }) export class IdentityModule {}