import { Module } from '@nestjs/common'; import { TypeOrmModule } from '@nestjs/typeorm'; import { CacheModule } from '@nestjs/cache-manager'; import { AppController } from './app.controller'; import { ConfigModule, ConfigService } from '@nestjs/config'; import { AppService } from './app.service'; import { UserModule } from './user/user.module'; import { AuthModule } from './auth/auth.module'; import { LarkModule } from './lark/lark.module'; import { GitHubModule } from './github/github.module'; import { DeepseekModule } from './deepseek/deepseek.module'; import { TaskModule } from './task/task.module'; import { LicenseModule } from './license/license.module'; import { CommonModule } from './common/common.module'; @Module({ imports: [ ConfigModule.forRoot(), CacheModule.register({ isGlobal: true, store: 'memory', }), TypeOrmModule.forRootAsync({ imports: [ConfigModule], useFactory: (configService: ConfigService) => ({ type: 'mysql', host: configService.get('SERVER_HOST'), port: configService.get('SERVER_PORT'), username: configService.get('SERVER_USER'), password: configService.get('PASSWORD'), database: 'auth_db', entities: [__dirname + '/**/*.entity{.ts,.js}'], synchronize: true, }), inject: [ConfigService], }), CommonModule, UserModule, AuthModule, LarkModule, GitHubModule, DeepseekModule, TaskModule, LicenseModule, ], controllers: [AppController], providers: [AppService], }) export class AppModule {}