refactor(auth): simplify AdminGuard constructor and register it in AuthModule

The AdminGuard constructor is being simplified by using constructor parameter properties, rather than previously setting properties via Reflector in the constructor's body. Additionally, AuthModule now includes AdminGuard in its providers.
This commit is contained in:
Mathis H (Avnyr) 2024-07-15 12:16:51 +02:00
parent b9b2adb804
commit 3b201d63fe
Signed by: Mathis
GPG Key ID: DD9E0666A747D126
2 changed files with 6 additions and 9 deletions

View File

@ -49,14 +49,10 @@ export class UserGuard implements CanActivate {
@Injectable() @Injectable()
export class AdminGuard implements CanActivate { export class AdminGuard implements CanActivate {
private readonly credentialService: CredentialsService; constructor(
private readonly databaseService: DrizzleService; private readonly credentialService: CredentialsService,
private readonly databaseService: DrizzleService
constructor() { ) {}
const reflector = new Reflector();
this.credentialService = reflector.get<CredentialsService>('CredentialsService', UserGuard);
this.databaseService = reflector.get<DrizzleService>('DrizzleService', UserGuard);
}
async canActivate( async canActivate(
context: ExecutionContext, context: ExecutionContext,

View File

@ -3,10 +3,11 @@ import { CredentialsModule } from "src/credentials/credentials.module";
import { DrizzleModule } from "src/drizzle/drizzle.module"; import { DrizzleModule } from "src/drizzle/drizzle.module";
import { AuthController } from "./auth.controller"; import { AuthController } from "./auth.controller";
import { AuthService } from "./auth.service"; import { AuthService } from "./auth.service";
import { AdminGuard } from "src/auth/auth.guard";
@Module({ @Module({
imports: [DrizzleModule, CredentialsModule], imports: [DrizzleModule, CredentialsModule],
providers: [AuthService], providers: [AuthService, AdminGuard],
controllers: [AuthController], controllers: [AuthController],
}) })
export class AuthModule {} export class AuthModule {}