style(auth): 优化auth模块代码规范

范围: src/business/auth/
- register.service.ts: 清理未使用的导入TokenPair,增强userId非空验证
- register.service.spec.ts: 清理未使用的变量apiKeySecurityService
This commit is contained in:
moyin
2026-01-15 14:17:38 +08:00
parent 4f18f0fec6
commit 9f4d291619
2 changed files with 14 additions and 9 deletions

View File

@@ -7,12 +7,13 @@
* - 测试Zulip账号集成
*
* 最近修改:
* - 2026-01-15: 代码规范优化 - 清理未使用的变量apiKeySecurityService (修改者: moyin)
* - 2026-01-12: 代码分离 - 从login.service.spec.ts中分离注册相关测试
*
* @author moyin
* @version 1.0.0
* @version 1.0.1
* @since 2026-01-12
* @lastModified 2026-01-12
* @lastModified 2026-01-15
*/
import { Test, TestingModule } from '@nestjs/testing';
@@ -25,7 +26,6 @@ describe('RegisterService', () => {
let service: RegisterService;
let loginCoreService: jest.Mocked<LoginCoreService>;
let zulipAccountService: jest.Mocked<ZulipAccountService>;
let apiKeySecurityService: jest.Mocked<ApiKeySecurityService>;
const mockUser = {
id: BigInt(1),
@@ -96,7 +96,6 @@ describe('RegisterService', () => {
service = module.get<RegisterService>(RegisterService);
loginCoreService = module.get(LoginCoreService);
zulipAccountService = module.get(ZulipAccountService);
apiKeySecurityService = module.get(ApiKeySecurityService);
// 设置默认的mock返回值
const mockTokenPair = {

View File

@@ -14,16 +14,17 @@
* - 处理注册相关的邮箱验证和Zulip集成
*
* 最近修改:
* - 2026-01-15: 代码规范优化 - 清理未使用的导入TokenPair增强userId非空验证 (修改者: moyin)
* - 2026-01-12: 代码分离 - 从login.service.ts中分离注册相关业务逻辑
*
* @author moyin
* @version 1.0.0
* @version 1.0.1
* @since 2026-01-12
* @lastModified 2026-01-12
* @lastModified 2026-01-15
*/
import { Injectable, Logger, Inject } from '@nestjs/common';
import { LoginCoreService, RegisterRequest, TokenPair } from '../../core/login_core/login_core.service';
import { LoginCoreService, RegisterRequest } from '../../core/login_core/login_core.service';
import { Users } from '../../core/db/users/users.entity';
import { ZulipAccountService } from '../../core/zulip_core/services/zulip_account.service';
import { ApiKeySecurityService } from '../../core/zulip_core/services/api_key_security.service';
@@ -487,6 +488,11 @@ export class RegisterService {
throw new Error(createResult.error || 'Zulip账号创建/绑定失败');
}
// 验证必须获取到 userId数据库字段 NOT NULL
if (createResult.userId === undefined || createResult.userId === null) {
throw new Error('Zulip账号创建成功但未能获取用户ID无法建立关联');
}
// 3. 处理API Key
let finalApiKey = createResult.apiKey;
@@ -520,7 +526,7 @@ export class RegisterService {
// 5. 在数据库中创建关联记录
await this.zulipAccountsService.create({
gameUserId: gameUser.id.toString(),
zulipUserId: createResult.userId!,
zulipUserId: createResult.userId, // 已在上面验证不为 undefined
zulipEmail: createResult.email!,
zulipFullName: gameUser.nickname,
zulipApiKeyEncrypted: finalApiKey ? 'stored_in_redis' : '',
@@ -531,7 +537,7 @@ export class RegisterService {
if (finalApiKey) {
await this.zulipAccountService.linkGameAccount(
gameUser.id.toString(),
createResult.userId!,
createResult.userId, // 已在上面验证不为 undefined
createResult.email!,
finalApiKey
);