Files
YiAi/service/src/modules/auth/auth.module.ts
2024-01-27 19:53:17 +08:00

61 lines
2.5 KiB
TypeScript

import { VerifycationEntity } from '../verification/verifycation.entity';
import { TypeOrmModule } from '@nestjs/typeorm';
import { VerificationService } from '../verification/verification.service';
import { MailerService } from '../mailer/mailer.service';
import { ConfigService, ConfigModule } from 'nestjs-config';
import { AuthController } from './auth.controller';
import { Global, Module } from '@nestjs/common';
import { AuthService } from './auth.service';
import { UserModule } from '../user/user.module';
import { PassportModule } from '@nestjs/passport';
import { JwtModule } from '@nestjs/jwt';
import { JwtStrategy } from '@/common/auth/jwt.strategy';
import { JwtAuthGuard } from '@/common/auth/jwtAuth.guard';
import { UserBalanceService } from '../userBalance/userBalance.service';
import { BalanceEntity } from '../userBalance/balance.entity';
import { AccountLogEntity } from '../userBalance/accountLog.entity';
import { ConfigEntity } from '../globalConfig/config.entity';
import { CramiPackageEntity } from '../crami/cramiPackage.entity';
import { RedisCacheService } from '../redisCache/redisCache.service';
import { RedisCacheModule } from '../redisCache/redisCache.module';
import { UserBalanceEntity } from '../userBalance/userBalance.entity';
import { SalesUsersEntity } from '../sales/salesUsers.entity';
import { UserEntity } from '../user/user.entity';
import { WhiteListEntity } from '../chatgpt/whiteList.entity';
import { FingerprintLogEntity } from '../userBalance/fingerprint.entity';
import { ChatLogEntity } from '../chatLog/chatLog.entity';
import { ChatGroupEntity } from '../chatGroup/chatGroup.entity';
import { MidjourneyEntity } from '../midjourney/midjourney.entity';
@Global()
@Module({
imports: [
UserModule,
PassportModule.register({ defaultStrategy: 'jwt' }),
JwtModule.registerAsync({
useFactory: async (configService: ConfigService) => configService.get('jwt'),
inject: [ConfigService],
}),
TypeOrmModule.forFeature([
VerifycationEntity,
BalanceEntity,
AccountLogEntity,
ConfigEntity,
CramiPackageEntity,
RedisCacheModule,
UserBalanceEntity,
SalesUsersEntity,
UserEntity,
WhiteListEntity,
FingerprintLogEntity,
ChatLogEntity,
ChatGroupEntity,
MidjourneyEntity
]),
],
controllers: [AuthController],
providers: [AuthService, JwtStrategy, JwtAuthGuard, MailerService, VerificationService, UserBalanceService, RedisCacheService],
exports: [AuthService],
})
export class AuthModule {}