- 更新package.json和jest配置 - 更新main.ts启动配置 - 完善用户管理和数据库服务 - 更新安全核心模块 - 优化Zulip核心服务 配置改进: - 统一项目依赖管理 - 优化测试配置 - 完善服务模块化架构
75 lines
2.0 KiB
TypeScript
75 lines
2.0 KiB
TypeScript
/**
|
||
* 用户模块
|
||
*
|
||
* 功能描述:
|
||
* - 整合用户相关的实体、服务和控制器
|
||
* - 配置TypeORM实体和Repository
|
||
* - 支持数据库和内存存储的动态切换
|
||
* - 导出用户服务供其他模块使用
|
||
*
|
||
* 职责分离:
|
||
* - 模块配置:动态模块的创建和依赖注入配置
|
||
* - 存储切换:数据库模式和内存模式的灵活切换
|
||
* - 服务导出:统一的服务接口导出和类型安全
|
||
* - 依赖管理:模块间依赖关系的清晰定义
|
||
*
|
||
* 存储模式:
|
||
* - 数据库模式:使用TypeORM连接MySQL数据库
|
||
* - 内存模式:使用Map存储,适用于开发和测试
|
||
*
|
||
* 最近修改:
|
||
* - 2026-01-07: 代码规范优化 - 完善注释规范,添加完整的文件头和方法注释
|
||
* - 2025-12-17: 功能新增 - 添加双存储模式支持,by angjustinl
|
||
*
|
||
* @author moyin
|
||
* @version 1.0.1
|
||
* @since 2025-12-17
|
||
* @lastModified 2026-01-07
|
||
*/
|
||
|
||
import { Module, DynamicModule, Global } from '@nestjs/common';
|
||
import { TypeOrmModule } from '@nestjs/typeorm';
|
||
import { Users } from './users.entity';
|
||
import { UsersService } from './users.service';
|
||
import { UsersMemoryService } from './users_memory.service';
|
||
|
||
@Global()
|
||
@Module({})
|
||
export class UsersModule {
|
||
/**
|
||
* 创建数据库模式的用户模块
|
||
*
|
||
* @returns 配置了TypeORM的动态模块
|
||
*/
|
||
static forDatabase(): DynamicModule {
|
||
return {
|
||
module: UsersModule,
|
||
imports: [TypeOrmModule.forFeature([Users])],
|
||
providers: [
|
||
{
|
||
provide: 'UsersService',
|
||
useClass: UsersService,
|
||
},
|
||
],
|
||
exports: ['UsersService', TypeOrmModule],
|
||
};
|
||
}
|
||
|
||
/**
|
||
* 创建内存模式的用户模块
|
||
*
|
||
* @returns 配置了内存存储的动态模块
|
||
*/
|
||
static forMemory(): DynamicModule {
|
||
return {
|
||
module: UsersModule,
|
||
providers: [
|
||
{
|
||
provide: 'UsersService',
|
||
useClass: UsersMemoryService,
|
||
},
|
||
],
|
||
exports: ['UsersService'],
|
||
};
|
||
}
|
||
} |