Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
import { OgmaModule } from 'nestjs-ogma';
import { ConfigModule } from '../config/config.module';
import { DatabaseModule } from '../database/database.module';
import { PassportModuleConfig } from '../options/passport.config';
import { AuthController } from './auth/auth.controller';
import { AuthResolver } from './auth/auth.resolver';
import { AuthService } from './auth/auth.service';
import { GoogleUserService } from './google-user/google-user.service';
import { GoogleStrategy } from './google.strategy';
import { LocalStrategy } from './local.strategy';
import { SessionSerializer } from './session.serializer';
import { UserService } from './user/user.service';
@Module({
imports: [
PassportModule.registerAsync({
useClass: PassportModuleConfig,
}),
ConfigModule.Deferred,
DatabaseModule.forFeature({ tableName: 'players' }),
OgmaModule.forFeature(UserService.name),
],
providers: [
AuthService,
LocalStrategy,
AuthResolver,
SessionSerializer,
GoogleStrategy,
GoogleUserService,
UserService,
],
exports: [PassportModule, AuthService],
static create(): DynamicModule {
const env = getEnv();
if (env.AuthType === 'google') {
return {
module: AuthModule,
imports: [
JwtModule.registerAsync({
imports: [ConfigModule],
useFactory: (configService: ConfigService) => ({
secretOrPrivateKey: configService.getEnvSettings().AuthEncKey,
signOptions: {algorithm: 'HS256', expiresIn: '30d'},
}),
inject: [ConfigService],
}),
PassportModule.registerAsync({
useFactory: () => ({
defaultStrategy: 'jwt',
}),
}),
],
providers: [googleAuthServiceProvider, JwtStrategy],
};
} else if (env.AuthType === 'fake') {
return {
module: AuthModule,
imports: [
PassportModule.registerAsync({
useFactory: () => ({
defaultStrategy: 'fake',
}),
}),