- 引入dotenv加载环境变量,新增数据库同步配置项 - 为用户服务、管理员服务、数据服务添加数据库持久化逻辑 - 新增管理员用户邮箱字段,完善权限校验逻辑 - 添加数据库初始化与种子数据脚本 - 新增e2e测试验证管理员数据持久化
52 lines
1.8 KiB
TypeScript
52 lines
1.8 KiB
TypeScript
import { Module } from '@nestjs/common';
|
|
import { TypeOrmModule } from '@nestjs/typeorm';
|
|
import { AdminUser } from '../admin/entities/admin-user.entity';
|
|
import { Permission } from '../admin/entities/permission.entity';
|
|
import { Role } from '../admin/entities/role.entity';
|
|
import { DataSyncJob } from '../data/entities/data-sync-job.entity';
|
|
import { DramaMetric } from '../data/entities/drama-metric.entity';
|
|
import { EpisodeMetric } from '../data/entities/episode-metric.entity';
|
|
import { Drama } from '../dramas/entities/drama.entity';
|
|
import { Episode } from '../dramas/entities/episode.entity';
|
|
import { PlaybackErrorLog } from '../logs/entities/playback-error-log.entity';
|
|
import { RequestLog } from '../logs/entities/request-log.entity';
|
|
import { MediaUploadJob } from '../media/entities/media-upload-job.entity';
|
|
import { Order } from '../orders/entities/order.entity';
|
|
import { UserEpisodeUnlock } from '../orders/entities/user-episode-unlock.entity';
|
|
import { User } from '../users/entities/user.entity';
|
|
|
|
const databaseImports = process.env.DB_HOST
|
|
? [
|
|
TypeOrmModule.forRoot({
|
|
type: 'mysql',
|
|
host: process.env.DB_HOST,
|
|
port: Number(process.env.DB_PORT) || 3306,
|
|
username: process.env.DB_USERNAME ?? 'root',
|
|
password: process.env.DB_PASSWORD ?? '',
|
|
database: process.env.DB_DATABASE ?? 'cth_tk',
|
|
entities: [
|
|
AdminUser,
|
|
Permission,
|
|
Role,
|
|
DataSyncJob,
|
|
DramaMetric,
|
|
EpisodeMetric,
|
|
Drama,
|
|
Episode,
|
|
PlaybackErrorLog,
|
|
RequestLog,
|
|
MediaUploadJob,
|
|
Order,
|
|
UserEpisodeUnlock,
|
|
User,
|
|
],
|
|
synchronize: process.env.DB_SYNCHRONIZE === 'true',
|
|
}),
|
|
]
|
|
: [];
|
|
|
|
@Module({
|
|
imports: databaseImports,
|
|
})
|
|
export class DatabaseModule {}
|