浏览代码

📝 docs(infrastructure): update infrastructure packages split documentation
- add details about type checking and test completion status

🐛 fix(shared-utils): resolve type issues in data-source and jwt.util
- fix EntityTarget generic type issue in createDataSource and initializeDataSource functions
- fix JWT expiresIn type mismatch by adding proper type assertion

yourname 4 周之前
父节点
当前提交
4de8f8002e

+ 2 - 0
docs/stories/005.001.infrastructure-packages-split.md

@@ -318,6 +318,8 @@ Claude Sonnet 4.5 (claude-sonnet-4-5-20250929)
 - ✅ TypeScript 配置完成(包含 composite: true)
 - ✅ 单元测试编写完成并通过
 - ✅ 依赖版本与 packages/server 保持一致
+- ✅ 类型检查通过(修复了 EntityTarget 和 JWT expiresIn 类型问题)
+- ✅ 所有测试通过(19/19 测试)
 
 ### File List
 **新增文件:**

+ 2 - 2
packages/shared-utils/src/data-source.ts

@@ -10,7 +10,7 @@ type EntityTarget = Function | EntitySchema<any> | string
  * @param entities 实体类数组
  * @returns DataSource 实例
  */
-export function createDataSource(entities: EntityTarget<any>[]): DataSource {
+export function createDataSource(entities: EntityTarget[]): DataSource {
   // 在测试环境下使用测试数据库配置
   const isTestEnv = process.env.NODE_ENV === 'test';
   const testDatabaseUrl = process.env.TEST_DATABASE_URL || 'postgresql://postgres:test_password@localhost:5432/test_d8dai';
@@ -49,6 +49,6 @@ export let AppDataSource: DataSource;
  * 初始化默认数据源
  * @param entities 实体类数组
  */
-export function initializeDataSource(entities: EntityTarget<any>[]): void {
+export function initializeDataSource(entities: EntityTarget[]): void {
   AppDataSource = createDataSource(entities);
 }

+ 1 - 1
packages/shared-utils/src/utils/jwt.util.ts

@@ -33,7 +33,7 @@ export class JWTUtil {
 
     try {
       const options: SignOptions = {
-        expiresIn: expiresIn || JWT_EXPIRES_IN
+        expiresIn: (expiresIn || JWT_EXPIRES_IN) as SignOptions['expiresIn'] | number
       };
       return jwt.sign(payload, JWT_SECRET, options);
     } catch (error) {