@ai0x0/utils 0.0.50 → 0.1.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.
Files changed (86) hide show
  1. package/.agents/skills/ai0x0-utils/backend/SKILL.md +35 -11
  2. package/README.md +3 -3
  3. package/SKILL.md +35 -11
  4. package/es/backend/actions/create-delete-action.d.ts +4 -2
  5. package/es/backend/actions/create-delete-action.js +22 -28
  6. package/es/backend/actions/create-get-action.d.ts +4 -1
  7. package/es/backend/actions/create-get-action.js +10 -10
  8. package/es/backend/actions/create-get-list-action.d.ts +4 -1
  9. package/es/backend/actions/create-get-list-action.js +9 -9
  10. package/es/backend/actions/create-put-action.d.ts +3 -2
  11. package/es/backend/actions/create-put-action.js +23 -38
  12. package/es/backend/actions/get-list-query.d.ts +8 -1
  13. package/es/backend/actions/get-list-query.js +19 -8
  14. package/es/backend/index.d.ts +1 -0
  15. package/es/backend/index.js +2 -1
  16. package/es/backend/route-operation/delete-operation.d.ts +3 -1
  17. package/es/backend/route-operation/get-list-operation.d.ts +3 -1
  18. package/es/backend/route-operation/get-operation.d.ts +3 -1
  19. package/es/backend/route-operation/operation-common.d.ts +80 -8
  20. package/es/backend/route-operation/operation-common.js +216 -67
  21. package/es/backend/route-operation/post-operation.d.ts +3 -1
  22. package/es/backend/route-operation/put-operation.d.ts +3 -1
  23. package/es/backend/route-operation/read-operation-core.d.ts +17 -14
  24. package/es/backend/route-operation/read-operation-core.js +42 -34
  25. package/es/backend/route-operation/write-operation-core.d.ts +25 -22
  26. package/es/backend/route-operation/write-operation-core.js +195 -165
  27. package/es/backend/schemas/index.d.ts +240 -240
  28. package/es/backend/scope.d.ts +27 -0
  29. package/es/backend/scope.js +60 -0
  30. package/es/backend/sqlite/actions/create-delete-action.d.ts +4 -2
  31. package/es/backend/sqlite/actions/create-delete-action.js +21 -28
  32. package/es/backend/sqlite/actions/create-get-action.d.ts +4 -1
  33. package/es/backend/sqlite/actions/create-get-action.js +9 -7
  34. package/es/backend/sqlite/actions/create-get-list-action.d.ts +4 -1
  35. package/es/backend/sqlite/actions/create-get-list-action.js +8 -6
  36. package/es/backend/sqlite/actions/create-put-action.d.ts +3 -2
  37. package/es/backend/sqlite/actions/create-put-action.js +20 -38
  38. package/es/backend/sqlite/actions/get-list-query.d.ts +4 -1
  39. package/es/backend/sqlite/actions/get-list-query.js +8 -3
  40. package/es/backend/sqlite/route-operation/delete-operation.d.ts +3 -1
  41. package/es/backend/sqlite/route-operation/get-list-operation.d.ts +3 -1
  42. package/es/backend/sqlite/route-operation/get-operation.d.ts +3 -1
  43. package/es/backend/sqlite/route-operation/post-operation.d.ts +3 -1
  44. package/es/backend/sqlite/route-operation/put-operation.d.ts +3 -1
  45. package/lib/backend/actions/create-delete-action.d.ts +4 -2
  46. package/lib/backend/actions/create-delete-action.js +10 -16
  47. package/lib/backend/actions/create-get-action.d.ts +4 -1
  48. package/lib/backend/actions/create-get-action.js +2 -1
  49. package/lib/backend/actions/create-get-list-action.d.ts +4 -1
  50. package/lib/backend/actions/create-get-list-action.js +2 -1
  51. package/lib/backend/actions/create-put-action.d.ts +3 -2
  52. package/lib/backend/actions/create-put-action.js +10 -21
  53. package/lib/backend/actions/get-list-query.d.ts +8 -1
  54. package/lib/backend/actions/get-list-query.js +11 -4
  55. package/lib/backend/index.d.ts +1 -0
  56. package/lib/backend/index.js +3 -1
  57. package/lib/backend/route-operation/delete-operation.d.ts +3 -1
  58. package/lib/backend/route-operation/get-list-operation.d.ts +3 -1
  59. package/lib/backend/route-operation/get-operation.d.ts +3 -1
  60. package/lib/backend/route-operation/operation-common.d.ts +80 -8
  61. package/lib/backend/route-operation/operation-common.js +57 -7
  62. package/lib/backend/route-operation/post-operation.d.ts +3 -1
  63. package/lib/backend/route-operation/put-operation.d.ts +3 -1
  64. package/lib/backend/route-operation/read-operation-core.d.ts +17 -14
  65. package/lib/backend/route-operation/read-operation-core.js +12 -6
  66. package/lib/backend/route-operation/write-operation-core.d.ts +25 -22
  67. package/lib/backend/route-operation/write-operation-core.js +52 -16
  68. package/lib/backend/schemas/index.d.ts +240 -240
  69. package/lib/backend/scope.d.ts +27 -0
  70. package/lib/backend/scope.js +57 -0
  71. package/lib/backend/sqlite/actions/create-delete-action.d.ts +4 -2
  72. package/lib/backend/sqlite/actions/create-delete-action.js +10 -16
  73. package/lib/backend/sqlite/actions/create-get-action.d.ts +4 -1
  74. package/lib/backend/sqlite/actions/create-get-action.js +2 -1
  75. package/lib/backend/sqlite/actions/create-get-list-action.d.ts +4 -1
  76. package/lib/backend/sqlite/actions/create-get-list-action.js +2 -1
  77. package/lib/backend/sqlite/actions/create-put-action.d.ts +3 -2
  78. package/lib/backend/sqlite/actions/create-put-action.js +10 -21
  79. package/lib/backend/sqlite/actions/get-list-query.d.ts +4 -1
  80. package/lib/backend/sqlite/actions/get-list-query.js +5 -1
  81. package/lib/backend/sqlite/route-operation/delete-operation.d.ts +3 -1
  82. package/lib/backend/sqlite/route-operation/get-list-operation.d.ts +3 -1
  83. package/lib/backend/sqlite/route-operation/get-operation.d.ts +3 -1
  84. package/lib/backend/sqlite/route-operation/post-operation.d.ts +3 -1
  85. package/lib/backend/sqlite/route-operation/put-operation.d.ts +3 -1
  86. package/package.json +38 -1
@@ -10,7 +10,8 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
10
10
  import { routeOperation, TypedNextResponse } from "next-rest-framework";
11
11
  import { z } from "zod";
12
12
  import { createOpenApiOperation } from "./open-api-operation.js";
13
- import { getDefaultTags, handleOperationError, readPostBody } from "./operation-common.js";
13
+ import { getDefaultTags, handleOperationError, readPostBody, resolveAccess, sessionLoader } from "./operation-common.js";
14
+ import { NO_SCOPE } from "../scope.js";
14
15
 
15
16
  // ==============================================================================
16
17
  // POST create operation
@@ -24,6 +25,7 @@ export function createPostOperationFactory(_ref) {
24
25
  getSession = _ref2.getSession;
25
26
  return function (_ref3) {
26
27
  var schemas = _ref3.schemas,
28
+ access = _ref3.access,
27
29
  _ref3$contentType = _ref3.contentType,
28
30
  contentType = _ref3$contentType === void 0 ? "application/json" : _ref3$contentType,
29
31
  openApiOperation = _ref3.openApiOperation,
@@ -52,92 +54,90 @@ export function createPostOperationFactory(_ref) {
52
54
  status: 200
53
55
  }]).handler( /*#__PURE__*/function () {
54
56
  var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(req) {
55
- var _ref5, userId, body, extraBody, params, raw, data;
57
+ var _yield$resolveAccess, scope, body, extraBody, params, raw, data;
56
58
  return _regeneratorRuntime().wrap(function _callee$(_context) {
57
59
  while (1) switch (_context.prev = _context.next) {
58
60
  case 0:
59
61
  _context.prev = 0;
60
62
  _context.next = 3;
61
- return getSession(req);
63
+ return resolveAccess({
64
+ access: access,
65
+ loadSession: sessionLoader(getSession, req),
66
+ method: "POST"
67
+ });
62
68
  case 3:
63
- _context.t0 = _context.sent;
64
- if (_context.t0) {
65
- _context.next = 6;
66
- break;
67
- }
68
- _context.t0 = {};
69
- case 6:
70
- _ref5 = _context.t0;
71
- userId = _ref5.userId;
72
- _context.next = 10;
69
+ _yield$resolveAccess = _context.sent;
70
+ scope = _yield$resolveAccess.scope;
71
+ _context.next = 7;
73
72
  return readPostBody(req, {
74
73
  contentType: contentType,
75
74
  parseBody: parseBody
76
75
  });
77
- case 10:
76
+ case 7:
78
77
  body = _context.sent;
79
- _context.next = 13;
78
+ _context.next = 10;
80
79
  return setBody === null || setBody === void 0 ? void 0 : setBody(req);
81
- case 13:
82
- _context.t1 = _context.sent;
83
- if (_context.t1) {
84
- _context.next = 16;
80
+ case 10:
81
+ _context.t0 = _context.sent;
82
+ if (_context.t0) {
83
+ _context.next = 13;
85
84
  break;
86
85
  }
87
- _context.t1 = {};
88
- case 16:
89
- extraBody = _context.t1;
90
- params = _objectSpread(_objectSpread({
91
- creatorId: userId
92
- }, body), extraBody);
86
+ _context.t0 = {};
87
+ case 13:
88
+ extraBody = _context.t0;
89
+ // 新建的行归属这次请求的作用域。默认情形下作用域就是 creatorId = 当前用户,
90
+ // 所以这与从前的行为逐字等价;换了归属列(比如 ownerId)时它自动跟着换。
91
+ // 想再记一个「谁建的」用 setBody 补 —— 那是调用方的语义,库不猜。
92
+ params = _objectSpread(_objectSpread(_objectSpread({}, scopeStamp(scope)), body), extraBody);
93
93
  if (!(table && db)) {
94
- _context.next = 24;
94
+ _context.next = 21;
95
95
  break;
96
96
  }
97
- _context.next = 21;
97
+ _context.next = 18;
98
98
  return createAction({
99
99
  bodySchema: schemas.body,
100
100
  db: db,
101
101
  table: table
102
102
  })(params);
103
- case 21:
104
- _context.t2 = _context.sent[0];
105
- _context.next = 25;
103
+ case 18:
104
+ _context.t1 = _context.sent[0];
105
+ _context.next = 22;
106
106
  break;
107
- case 24:
108
- _context.t2 = params;
109
- case 25:
110
- raw = _context.t2;
107
+ case 21:
108
+ _context.t1 = params;
109
+ case 22:
110
+ raw = _context.t1;
111
111
  if (!handler) {
112
- _context.next = 32;
112
+ _context.next = 29;
113
113
  break;
114
114
  }
115
- _context.next = 29;
115
+ _context.next = 26;
116
116
  return handler({
117
117
  data: raw,
118
118
  params: params,
119
119
  req: req
120
120
  });
121
- case 29:
122
- _context.t3 = _context.sent;
123
- _context.next = 33;
121
+ case 26:
122
+ _context.t2 = _context.sent;
123
+ _context.next = 30;
124
124
  break;
125
- case 32:
126
- _context.t3 = raw;
127
- case 33:
128
- data = _context.t3;
125
+ case 29:
126
+ _context.t2 = raw;
127
+ case 30:
128
+ data = _context.t2;
129
129
  return _context.abrupt("return", TypedNextResponse.json(data, {
130
130
  status: 200
131
131
  }));
132
+ case 34:
133
+ _context.prev = 34;
134
+ _context.t3 = _context["catch"](0);
135
+ return _context.abrupt("return", handleOperationError(_context.t3, catchHandler));
132
136
  case 37:
133
- _context.prev = 37;
134
- _context.t4 = _context["catch"](0);
135
- return _context.abrupt("return", handleOperationError(_context.t4, catchHandler));
136
- case 40:
137
137
  case "end":
138
138
  return _context.stop();
139
139
  }
140
- }, _callee, null, [[0, 37]]);
140
+ }, _callee, null, [[0, 34]]);
141
141
  }));
142
142
  return function (_x) {
143
143
  return _ref4.apply(this, arguments);
@@ -151,20 +151,20 @@ export function createPostOperationFactory(_ref) {
151
151
  // PUT update operation
152
152
  // ==============================================================================
153
153
 
154
- export function createPutOperationFactory(_ref6) {
155
- var createAction = _ref6.createAction,
156
- getTableName = _ref6.getTableName;
157
- return function (_ref7) {
158
- var db = _ref7.db,
159
- getSession = _ref7.getSession;
160
- return function (_ref8) {
161
- var schemas = _ref8.schemas,
162
- access = _ref8.access,
163
- openApiOperation = _ref8.openApiOperation,
164
- table = _ref8.table,
165
- setBody = _ref8.setBody,
166
- handler = _ref8.handler,
167
- catchHandler = _ref8.catch;
154
+ export function createPutOperationFactory(_ref5) {
155
+ var createAction = _ref5.createAction,
156
+ getTableName = _ref5.getTableName;
157
+ return function (_ref6) {
158
+ var db = _ref6.db,
159
+ getSession = _ref6.getSession;
160
+ return function (_ref7) {
161
+ var schemas = _ref7.schemas,
162
+ access = _ref7.access,
163
+ openApiOperation = _ref7.openApiOperation,
164
+ table = _ref7.table,
165
+ setBody = _ref7.setBody,
166
+ handler = _ref7.handler,
167
+ catchHandler = _ref7.catch;
168
168
  return routeOperation({
169
169
  method: "PUT",
170
170
  openApiOperation: createOpenApiOperation({
@@ -182,95 +182,121 @@ export function createPutOperationFactory(_ref6) {
182
182
  contentType: "application/json",
183
183
  status: 200
184
184
  }]).handler( /*#__PURE__*/function () {
185
- var _ref9 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(req) {
186
- var _access$byCreator, _ref10, userId, body, extraBody, params, raw, data;
185
+ var _ref8 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(req) {
186
+ var _yield$loadSession, loadSession, _yield$resolveAccess2, scope, body, extraBody, params, raw, data;
187
187
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
188
188
  while (1) switch (_context2.prev = _context2.next) {
189
189
  case 0:
190
190
  _context2.prev = 0;
191
- _context2.next = 3;
192
- return getSession(req);
193
- case 3:
191
+ loadSession = sessionLoader(getSession, req);
192
+ _context2.next = 4;
193
+ return resolveAccess({
194
+ access: access,
195
+ loadSession: loadSession,
196
+ method: "PUT"
197
+ });
198
+ case 4:
199
+ _yield$resolveAccess2 = _context2.sent;
200
+ scope = _yield$resolveAccess2.scope;
201
+ _context2.next = 8;
202
+ return req.json();
203
+ case 8:
204
+ body = _context2.sent;
205
+ _context2.next = 11;
206
+ return setBody === null || setBody === void 0 ? void 0 : setBody(req);
207
+ case 11:
194
208
  _context2.t0 = _context2.sent;
195
209
  if (_context2.t0) {
196
- _context2.next = 6;
210
+ _context2.next = 14;
197
211
  break;
198
212
  }
199
213
  _context2.t0 = {};
200
- case 6:
201
- _ref10 = _context2.t0;
202
- userId = _ref10.userId;
203
- _context2.next = 10;
204
- return req.json();
205
- case 10:
206
- body = _context2.sent;
207
- _context2.next = 13;
208
- return setBody === null || setBody === void 0 ? void 0 : setBody(req);
209
- case 13:
210
- _context2.t1 = _context2.sent;
211
- if (_context2.t1) {
212
- _context2.next = 16;
214
+ case 14:
215
+ extraBody = _context2.t0;
216
+ _context2.t1 = _objectSpread;
217
+ _context2.t2 = _objectSpread;
218
+ _context2.next = 19;
219
+ return loadSession();
220
+ case 19:
221
+ _context2.t4 = _yield$loadSession = _context2.sent;
222
+ _context2.t3 = _context2.t4 === null;
223
+ if (_context2.t3) {
224
+ _context2.next = 23;
225
+ break;
226
+ }
227
+ _context2.t3 = _yield$loadSession === void 0;
228
+ case 23:
229
+ if (!_context2.t3) {
230
+ _context2.next = 27;
213
231
  break;
214
232
  }
215
- _context2.t1 = {};
216
- case 16:
217
- extraBody = _context2.t1;
218
- params = _objectSpread(_objectSpread({
219
- editorId: userId
220
- }, body), extraBody);
233
+ _context2.t5 = void 0;
234
+ _context2.next = 28;
235
+ break;
236
+ case 27:
237
+ _context2.t5 = _yield$loadSession.userId;
238
+ case 28:
239
+ _context2.t6 = _context2.t5;
240
+ _context2.t7 = {
241
+ editorId: _context2.t6
242
+ };
243
+ _context2.t8 = body;
244
+ _context2.t9 = (0, _context2.t2)(_context2.t7, _context2.t8);
245
+ _context2.t10 = extraBody;
246
+ params = (0, _context2.t1)(_context2.t9, _context2.t10);
221
247
  if (!(table && db)) {
222
- _context2.next = 24;
248
+ _context2.next = 40;
223
249
  break;
224
250
  }
225
- _context2.next = 21;
251
+ _context2.next = 37;
226
252
  return createAction({
227
253
  bodySchema: schemas.body,
228
254
  db: db,
229
255
  table: table
230
256
  })(params, {
231
- byCreator: (_access$byCreator = access === null || access === void 0 ? void 0 : access.byCreator) !== null && _access$byCreator !== void 0 ? _access$byCreator : true
257
+ scope: scope
232
258
  });
233
- case 21:
234
- _context2.t2 = _context2.sent;
235
- _context2.next = 25;
259
+ case 37:
260
+ _context2.t11 = _context2.sent;
261
+ _context2.next = 41;
236
262
  break;
237
- case 24:
238
- _context2.t2 = params;
239
- case 25:
240
- raw = _context2.t2;
263
+ case 40:
264
+ _context2.t11 = params;
265
+ case 41:
266
+ raw = _context2.t11;
241
267
  if (!handler) {
242
- _context2.next = 32;
268
+ _context2.next = 48;
243
269
  break;
244
270
  }
245
- _context2.next = 29;
271
+ _context2.next = 45;
246
272
  return handler({
247
273
  data: raw,
248
274
  params: params,
249
275
  req: req
250
276
  });
251
- case 29:
252
- _context2.t3 = _context2.sent;
253
- _context2.next = 33;
277
+ case 45:
278
+ _context2.t12 = _context2.sent;
279
+ _context2.next = 49;
254
280
  break;
255
- case 32:
256
- _context2.t3 = raw;
257
- case 33:
258
- data = _context2.t3;
281
+ case 48:
282
+ _context2.t12 = raw;
283
+ case 49:
284
+ data = _context2.t12;
259
285
  return _context2.abrupt("return", TypedNextResponse.json(data, {
260
286
  status: 200
261
287
  }));
262
- case 37:
263
- _context2.prev = 37;
264
- _context2.t4 = _context2["catch"](0);
265
- return _context2.abrupt("return", handleOperationError(_context2.t4, catchHandler));
266
- case 40:
288
+ case 53:
289
+ _context2.prev = 53;
290
+ _context2.t13 = _context2["catch"](0);
291
+ return _context2.abrupt("return", handleOperationError(_context2.t13, catchHandler));
292
+ case 56:
267
293
  case "end":
268
294
  return _context2.stop();
269
295
  }
270
- }, _callee2, null, [[0, 37]]);
296
+ }, _callee2, null, [[0, 53]]);
271
297
  }));
272
298
  return function (_x2) {
273
- return _ref9.apply(this, arguments);
299
+ return _ref8.apply(this, arguments);
274
300
  };
275
301
  }());
276
302
  };
@@ -284,19 +310,19 @@ export function createPutOperationFactory(_ref6) {
284
310
  var defaultDeleteBodySchema = z.object({
285
311
  id: z.string()
286
312
  });
287
- export function createDeleteOperationFactory(_ref11) {
288
- var createAction = _ref11.createAction,
289
- getTableName = _ref11.getTableName;
290
- return function (_ref12) {
291
- var db = _ref12.db,
292
- getSession = _ref12.getSession;
293
- return function (_ref13) {
294
- var table = _ref13.table,
295
- schemas = _ref13.schemas,
296
- access = _ref13.access,
297
- openApiOperation = _ref13.openApiOperation,
298
- handler = _ref13.handler,
299
- catchHandler = _ref13.catch;
313
+ export function createDeleteOperationFactory(_ref9) {
314
+ var createAction = _ref9.createAction,
315
+ getTableName = _ref9.getTableName;
316
+ return function (_ref10) {
317
+ var db = _ref10.db,
318
+ getSession = _ref10.getSession;
319
+ return function (_ref11) {
320
+ var table = _ref11.table,
321
+ schemas = _ref11.schemas,
322
+ access = _ref11.access,
323
+ openApiOperation = _ref11.openApiOperation,
324
+ handler = _ref11.handler,
325
+ catchHandler = _ref11.catch;
300
326
  return routeOperation({
301
327
  method: "DELETE",
302
328
  openApiOperation: createOpenApiOperation({
@@ -310,8 +336,8 @@ export function createDeleteOperationFactory(_ref11) {
310
336
  body: (schemas === null || schemas === void 0 ? void 0 : schemas.body) || defaultDeleteBodySchema,
311
337
  contentType: "application/json"
312
338
  }).handler( /*#__PURE__*/function () {
313
- var _ref14 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(req) {
314
- var _access$byCreator2, bodySchema, body, _ref15, userId, data;
339
+ var _ref12 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(req) {
340
+ var bodySchema, body, _yield$resolveAccess3, scope, data;
315
341
  return _regeneratorRuntime().wrap(function _callee3$(_context3) {
316
342
  while (1) switch (_context3.prev = _context3.next) {
317
343
  case 0:
@@ -323,68 +349,72 @@ export function createDeleteOperationFactory(_ref11) {
323
349
  case 5:
324
350
  _context3.t1 = _context3.sent;
325
351
  body = _context3.t0.parse.call(_context3.t0, _context3.t1);
326
- if (!((_access$byCreator2 = access === null || access === void 0 ? void 0 : access.byCreator) !== null && _access$byCreator2 !== void 0 ? _access$byCreator2 : true)) {
327
- _context3.next = 16;
328
- break;
329
- }
330
- _context3.next = 10;
331
- return getSession(req);
332
- case 10:
333
- _context3.t2 = _context3.sent;
334
- if (_context3.t2) {
335
- _context3.next = 13;
336
- break;
337
- }
338
- _context3.t2 = {};
339
- case 13:
340
- _ref15 = _context3.t2;
341
- userId = _ref15.userId;
342
- body.creatorId = userId;
343
- case 16:
352
+ _context3.next = 9;
353
+ return resolveAccess({
354
+ access: access,
355
+ loadSession: sessionLoader(getSession, req),
356
+ method: "DELETE"
357
+ });
358
+ case 9:
359
+ _yield$resolveAccess3 = _context3.sent;
360
+ scope = _yield$resolveAccess3.scope;
344
361
  if (!(table && db)) {
345
- _context3.next = 22;
362
+ _context3.next = 17;
346
363
  break;
347
364
  }
348
- _context3.next = 19;
365
+ _context3.next = 14;
349
366
  return createAction({
350
367
  db: db,
351
368
  table: table
352
369
  })({
353
- creatorId: body.creatorId,
354
370
  id: body.id
371
+ }, {
372
+ scope: scope
355
373
  });
356
- case 19:
357
- _context3.t3 = _context3.sent;
358
- _context3.next = 23;
374
+ case 14:
375
+ _context3.t2 = _context3.sent;
376
+ _context3.next = 18;
359
377
  break;
360
- case 22:
361
- _context3.t3 = body;
362
- case 23:
363
- data = _context3.t3;
364
- _context3.next = 26;
378
+ case 17:
379
+ _context3.t2 = body;
380
+ case 18:
381
+ data = _context3.t2;
382
+ _context3.next = 21;
365
383
  return handler === null || handler === void 0 ? void 0 : handler({
366
384
  data: data,
367
385
  params: body,
368
386
  req: req
369
387
  });
370
- case 26:
388
+ case 21:
371
389
  return _context3.abrupt("return", TypedNextResponse.json(data, {
372
390
  status: 200
373
391
  }));
374
- case 29:
375
- _context3.prev = 29;
376
- _context3.t4 = _context3["catch"](0);
377
- return _context3.abrupt("return", handleOperationError(_context3.t4, catchHandler));
378
- case 32:
392
+ case 24:
393
+ _context3.prev = 24;
394
+ _context3.t3 = _context3["catch"](0);
395
+ return _context3.abrupt("return", handleOperationError(_context3.t3, catchHandler));
396
+ case 27:
379
397
  case "end":
380
398
  return _context3.stop();
381
399
  }
382
- }, _callee3, null, [[0, 29]]);
400
+ }, _callee3, null, [[0, 24]]);
383
401
  }));
384
402
  return function (_x3) {
385
- return _ref14.apply(this, arguments);
403
+ return _ref12.apply(this, arguments);
386
404
  };
387
405
  }());
388
406
  };
389
407
  };
408
+ }
409
+
410
+ // 新建时要往行上盖的归属字段。多值作用域(IN)在新建这里没有意义 —— 一行只能属于一个归属,
411
+ // 所以那种配置直接拒绝,而不是随便挑一个。
412
+ function scopeStamp(scope) {
413
+ if (scope === NO_SCOPE) {
414
+ return {};
415
+ }
416
+ if (Array.isArray(scope.value)) {
417
+ throw new Error("\u65B0\u5EFA\u64CD\u4F5C\u7684\u4F5C\u7528\u57DF\u4E0D\u80FD\u662F\u591A\u503C\uFF1A\u4E00\u884C\u53EA\u80FD\u5C5E\u4E8E\u4E00\u4E2A ".concat(scope.column, "\u3002\u591A\u503C\u4F5C\u7528\u57DF\u53EA\u7528\u4E8E\u8BFB\u3002"));
418
+ }
419
+ return _defineProperty({}, scope.column, scope.value);
390
420
  }