befly 0.1.27 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "befly",
3
- "version": "0.1.27",
3
+ "version": "0.2.0",
4
4
  "description": "Buma - 为 Bun 专属打造的 API 接口框架核心引擎",
5
5
  "type": "module",
6
6
  "private": false,
@@ -49,5 +49,5 @@
49
49
  "README.md",
50
50
  "vitest.config.js"
51
51
  ],
52
- "gitHead": "0d7b0a69a6a236a7bfd105467f0efd9834592df4"
52
+ "gitHead": "38adc6b09eeec245f6a2ce6fae7d71f93940b617"
53
53
  }
package/utils/api.js CHANGED
@@ -9,7 +9,7 @@ export class Api {
9
9
  auth: auth,
10
10
  fields: fields,
11
11
  required: required,
12
- handler: this.wrapHandler(handler)
12
+ handler: await handler(bp, ctx, req)
13
13
  };
14
14
  }
15
15
 
@@ -21,29 +21,7 @@ export class Api {
21
21
  auth: auth,
22
22
  fields: fields,
23
23
  required: required,
24
- handler: this.wrapHandler(handler)
25
- };
26
- }
27
-
28
- // 包装处理器,自动处理异常和响应格式
29
- static wrapHandler(handler) {
30
- return async (bp, ctx, req) => {
31
- try {
32
- const result = await handler(bp, ctx, req);
33
-
34
- return result;
35
- } catch (error) {
36
- Logger.error({
37
- msg: '内部服务器错误',
38
- error: error.message,
39
- stack: error.stack,
40
- url: req?.url || '',
41
- user: ctx?.user || {}
42
- });
43
-
44
- // 返回错误响应
45
- return RNo('内部服务器错误');
46
- }
24
+ handler: await handler(bp, ctx, req)
47
25
  };
48
26
  }
49
27
  }
package/utils/curd.js CHANGED
@@ -64,8 +64,11 @@ export class Crud {
64
64
 
65
65
  // 增强的更新方法 - 自动添加 updated_at,支持链式调用
66
66
  updData(tableName, data) {
67
+ // 剔除 undefined 值
68
+ const filteredData = Object.fromEntries(Object.entries(data).filter(([key, value]) => value !== undefined));
69
+
67
70
  const updateData = {
68
- ...omitFields(data, ['id', 'created_at', 'deleted_at']),
71
+ ...omitFields(filteredData, ['id', 'created_at', 'deleted_at']),
69
72
  updated_at: Date.now()
70
73
  };
71
74