feat: get api added for fetch provider list

This commit is contained in:
Mir Arif Hasan
2023-12-08 12:01:52 +06:00
parent 94ca981144
commit 85dea99452
4 changed files with 15 additions and 0 deletions

View File

@@ -260,6 +260,7 @@ export class InfraResolver {
@Query(() => [String], {
description: 'Allowed Auth Provider list',
})
@UseGuards(GqlAuthGuard, GqlAdminGuard)
allowedAuthProviders() {
return this.infraConfigService.getAllowedAuthProviders();
}

View File

@@ -40,6 +40,12 @@ export class AuthController {
private configService: ConfigService,
) {}
@Get('providers')
async getAuthProviders() {
const providers = await this.authService.getAuthProviders();
return { providers };
}
/**
** Route to initiate magic-link auth for a users email
*/

View File

@@ -13,6 +13,7 @@ import { MicrosoftStrategy } from './strategies/microsoft.strategy';
import { AuthProvider, authProviderCheck } from './helper';
import { ConfigModule, ConfigService } from '@nestjs/config';
import { loadInfraConfiguration } from 'src/infra-config/helper';
import { InfraConfigModule } from 'src/infra-config/infra-config.module';
@Module({
imports: [
@@ -26,6 +27,7 @@ import { loadInfraConfiguration } from 'src/infra-config/helper';
secret: configService.get('JWT_SECRET'),
}),
}),
InfraConfigModule,
],
providers: [AuthService, JwtStrategy, RTJwtStrategy],
controllers: [AuthController],

View File

@@ -29,6 +29,7 @@ import { AuthUser, IsAdmin } from 'src/types/AuthUser';
import { VerificationToken } from '@prisma/client';
import { Origin } from './helper';
import { ConfigService } from '@nestjs/config';
import { InfraConfigService } from 'src/infra-config/infra-config.service';
@Injectable()
export class AuthService {
@@ -38,6 +39,7 @@ export class AuthService {
private jwtService: JwtService,
private readonly mailerService: MailerService,
private readonly configService: ConfigService,
private infraConfigService: InfraConfigService,
) {}
/**
@@ -381,4 +383,8 @@ export class AuthService {
return E.right(<IsAdmin>{ isAdmin: false });
}
getAuthProviders() {
return this.infraConfigService.getAllowedAuthProviders();
}
}