forked from Yara724/api
75 lines
2.6 KiB
TypeScript
75 lines
2.6 KiB
TypeScript
import { Global, Module } from "@nestjs/common";
|
|
import { JwtModule, JwtService } from "@nestjs/jwt";
|
|
import { MongooseModule } from "@nestjs/mongoose";
|
|
import { LocalActorAuthGuard } from "src/auth/guards/actor-local.guard";
|
|
import { LocalUserAuthGuard } from "src/auth/guards/user-local.guard";
|
|
import { ActorAuthController } from "src/auth/auth-controllers/actor/actor.auth.controller";
|
|
import { UserAuthController } from "src/auth/auth-controllers/user/user.auth.controller";
|
|
import { ActorAuthService } from "src/auth/auth-services/actor.auth.service";
|
|
import { UserAuthService } from "src/auth/auth-services/user.auth.service";
|
|
import { UserLinkAccessService } from "src/auth/auth-services/user-link-access.service";
|
|
import {
|
|
ClaimCase,
|
|
ClaimCaseSchema,
|
|
} from "src/claim-request-management/entites/schema/claim-cases.schema";
|
|
import {
|
|
ClaimRequestManagementModel,
|
|
ClaimRequestManagementSchema,
|
|
} from "src/claim-request-management/entites/schema/claim-request-management.schema";
|
|
import { ClientModule } from "src/client/client.module";
|
|
import {
|
|
BlameRequest,
|
|
BlameRequestSchema,
|
|
} from "src/request-management/entities/schema/blame-cases.schema";
|
|
import {
|
|
RequestManagementModel,
|
|
RequestManagementSchema,
|
|
} from "src/request-management/entities/schema/request-management.schema";
|
|
import { UsersModule } from "src/users/users.module";
|
|
import { HashModule } from "src/utils/hash/hash.module";
|
|
import { SmsOrchestrationModule } from "src/sms-orchestration/sms-orchestration.module";
|
|
import { CaptchaModule } from "src/captcha/captcha.module";
|
|
|
|
/** Auth services and guards are app-wide (avoids importing AuthModule in every feature module). */
|
|
@Global()
|
|
@Module({
|
|
imports: [
|
|
UsersModule,
|
|
ClientModule,
|
|
HashModule,
|
|
CaptchaModule,
|
|
SmsOrchestrationModule,
|
|
MongooseModule.forFeature([
|
|
{ name: RequestManagementModel.name, schema: RequestManagementSchema },
|
|
{ name: BlameRequest.name, schema: BlameRequestSchema },
|
|
{
|
|
name: ClaimRequestManagementModel.name,
|
|
schema: ClaimRequestManagementSchema,
|
|
},
|
|
{ name: ClaimCase.name, schema: ClaimCaseSchema },
|
|
]),
|
|
JwtModule.register({
|
|
signOptions: { expiresIn: "1h" }, // TODO: MAKE IT ENV
|
|
global: true,
|
|
secret: `${process.env.JWT_SECRET}`,
|
|
}),
|
|
],
|
|
providers: [
|
|
UserAuthService,
|
|
UserLinkAccessService,
|
|
ActorAuthService,
|
|
JwtService,
|
|
LocalActorAuthGuard,
|
|
LocalUserAuthGuard,
|
|
],
|
|
exports: [
|
|
UserAuthService,
|
|
ActorAuthService,
|
|
JwtService,
|
|
LocalActorAuthGuard,
|
|
LocalUserAuthGuard,
|
|
],
|
|
controllers: [UserAuthController, ActorAuthController],
|
|
})
|
|
export class AuthModule {}
|