@exabugs/dynamodb-client 1.9.0 → 1.10.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 (59) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/integrations/react-admin/dataProvider.d.ts.map +1 -1
  3. package/dist/integrations/react-admin/dataProvider.js +3 -26
  4. package/dist/integrations/react-admin/dataProvider.js.map +1 -1
  5. package/dist/server/handler.cjs +577 -495
  6. package/dist/server/handler.cjs.map +4 -4
  7. package/dist/server/media-handler.cjs +2 -2
  8. package/dist/server/media-process-handler-dlq.cjs +438 -340
  9. package/dist/server/media-process-handler-dlq.cjs.map +4 -4
  10. package/dist/server/media-process-handler.cjs +437 -339
  11. package/dist/server/media-process-handler.cjs.map +4 -4
  12. package/dist/server/operations/deleteMany.d.ts.map +1 -1
  13. package/dist/server/operations/deleteMany.js +15 -30
  14. package/dist/server/operations/deleteMany.js.map +1 -1
  15. package/dist/server/operations/deleteOne.d.ts.map +1 -1
  16. package/dist/server/operations/deleteOne.js +7 -4
  17. package/dist/server/operations/deleteOne.js.map +1 -1
  18. package/dist/server/operations/find/nearQuery.d.ts.map +1 -1
  19. package/dist/server/operations/find/nearQuery.js +41 -40
  20. package/dist/server/operations/find/nearQuery.js.map +1 -1
  21. package/dist/server/operations/find/shadowQuery.d.ts +7 -0
  22. package/dist/server/operations/find/shadowQuery.d.ts.map +1 -1
  23. package/dist/server/operations/find/shadowQuery.js +10 -34
  24. package/dist/server/operations/find/shadowQuery.js.map +1 -1
  25. package/dist/server/operations/findAll.d.ts +8 -0
  26. package/dist/server/operations/findAll.d.ts.map +1 -0
  27. package/dist/server/operations/findAll.js +46 -0
  28. package/dist/server/operations/findAll.js.map +1 -0
  29. package/dist/server/operations/findMany.d.ts.map +1 -1
  30. package/dist/server/operations/findMany.js +9 -26
  31. package/dist/server/operations/findMany.js.map +1 -1
  32. package/dist/server/operations/findManyReference.d.ts.map +1 -1
  33. package/dist/server/operations/findManyReference.js +4 -14
  34. package/dist/server/operations/findManyReference.js.map +1 -1
  35. package/dist/server/operations/parameterConverter.d.ts.map +1 -1
  36. package/dist/server/operations/parameterConverter.js +16 -8
  37. package/dist/server/operations/parameterConverter.js.map +1 -1
  38. package/dist/server/operations/updateMany.d.ts.map +1 -1
  39. package/dist/server/operations/updateMany.js +15 -30
  40. package/dist/server/operations/updateMany.js.map +1 -1
  41. package/dist/server/operations/updateOne.d.ts.map +1 -1
  42. package/dist/server/operations/updateOne.js +8 -6
  43. package/dist/server/operations/updateOne.js.map +1 -1
  44. package/dist/server/utils/batchGet.d.ts +21 -0
  45. package/dist/server/utils/batchGet.d.ts.map +1 -0
  46. package/dist/server/utils/batchGet.js +73 -0
  47. package/dist/server/utils/batchGet.js.map +1 -0
  48. package/dist/server/utils/scanWarning.d.ts +1 -1
  49. package/dist/server/utils/scanWarning.d.ts.map +1 -1
  50. package/dist/shared/utils/index.d.ts +1 -0
  51. package/dist/shared/utils/index.d.ts.map +1 -1
  52. package/dist/shared/utils/index.js +1 -0
  53. package/dist/shared/utils/index.js.map +1 -1
  54. package/dist/shared/utils/scanSort.d.ts +16 -0
  55. package/dist/shared/utils/scanSort.d.ts.map +1 -0
  56. package/dist/shared/utils/scanSort.js +33 -0
  57. package/dist/shared/utils/scanSort.js.map +1 -0
  58. package/dist/sharp-layer.zip +0 -0
  59. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"findMany.js","sourceRoot":"","sources":["../../../src/server/operations/findMany.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"findMany.js","sourceRoot":"","sources":["../../../src/server/operations/findMany.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;AAE3D;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,QAAgB,EAChB,MAAsB,EACtB,SAAiB;IAEjB,kCAAkC;IAClC,IAAI,KAAK,IAAI,MAAM,EAAE,CAAC;QACpB,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;QAEvB,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE;YACxC,SAAS;YACT,QAAQ;YACR,KAAK,EAAE,GAAG,CAAC,MAAM;SAClB,CAAC,CAAC;QAEH,iBAAiB;QACjB,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,8EAA8E;QAC9E,MAAM,KAAK,GAAG,MAAM,WAAW,CAC7B,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,oBAAoB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACjE,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,CACpC,CAAC;QAEF,0BAA0B;QAC1B,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;QAE9D,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE;YACvC,SAAS;YACT,QAAQ;YACR,SAAS,EAAE,GAAG,CAAC,MAAM;YACrB,KAAK,EAAE,OAAO,CAAC,MAAM;SACtB,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,2BAA2B;IAC3B,IAAI,QAAQ,IAAI,MAAM,EAAE,CAAC;QACvB,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;QAE1B,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE;YAC3C,SAAS;YACT,QAAQ;YACR,MAAM;SACP,CAAC,CAAC;QAEH,0CAA0C;QAC1C,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,MAAiC,EAAE,SAAS,CAAC,CAAC;QAE5F,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE;YAC1C,SAAS;YACT,QAAQ;YACR,MAAM;YACN,KAAK,EAAE,KAAK,CAAC,MAAM;SACpB,CAAC,CAAC;QAEH,OAAO,KAAuB,CAAC;IACjC,CAAC;IAED,wCAAwC;IACxC,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;AAC5D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"findManyReference.d.ts","sourceRoot":"","sources":["../../../src/server/operations/findManyReference.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAYpF;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,uBAAuB,CAC3C,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,uBAAuB,EAC/B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,uBAAuB,CAAC,CA0JlC"}
1
+ {"version":3,"file":"findManyReference.d.ts","sourceRoot":"","sources":["../../../src/server/operations/findManyReference.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAapF;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,uBAAuB,CAC3C,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,uBAAuB,EAC/B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,uBAAuB,CAAC,CA2IlC"}
@@ -4,9 +4,10 @@
4
4
  *
5
5
  * 要件: 4.3, 5.4, 5.5
6
6
  */
7
- import { BatchGetCommand, QueryCommand } from '@aws-sdk/lib-dynamodb';
7
+ import { QueryCommand } from '@aws-sdk/lib-dynamodb';
8
8
  import { createLogger } from '../../shared/index.js';
9
9
  import { getShadowConfig } from '../shadow/index.js';
10
+ import { batchGetAll } from '../utils/batchGet.js';
10
11
  import { executeDynamoDBOperation, extractCleanRecord, getDBClient, getTableName, } from '../utils/dynamodb.js';
11
12
  import { decodeNextToken, encodeNextToken } from '../utils/pagination.js';
12
13
  import { normalizePagination, normalizeSort, validateSortField } from '../utils/validation.js';
@@ -87,19 +88,8 @@ export async function handleFindManyReference(resource, params, requestId) {
87
88
  const parts = sk.split('#id#');
88
89
  return parts[parts.length - 1];
89
90
  });
90
- // 本体レコードをBatchGetItemで取得
91
- const batchGetResult = await executeDynamoDBOperation(() => dbClient.send(new BatchGetCommand({
92
- RequestItems: {
93
- [tableName]: {
94
- Keys: recordIds.map((recordId) => ({
95
- PK: resource,
96
- SK: `id#${recordId}`,
97
- })),
98
- ConsistentRead: true,
99
- },
100
- },
101
- })), 'BatchGetItem');
102
- const mainRecords = batchGetResult.Responses?.[tableName] || [];
91
+ // 本体レコードをBatchGetItemで取得(UnprocessedKeys は再試行して取りこぼさない)
92
+ const mainRecords = await batchGetAll(recordIds.map((recordId) => ({ PK: resource, SK: `id#${recordId}` })), { consistentRead: true, requestId });
103
93
  // IDでマッピングを作成
104
94
  const recordMap = new Map(mainRecords.map((item) => {
105
95
  const data = item.data;
@@ -1 +1 @@
1
- {"version":3,"file":"findManyReference.js","sourceRoot":"","sources":["../../../src/server/operations/findManyReference.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"findManyReference.js","sourceRoot":"","sources":["../../../src/server/operations/findManyReference.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"parameterConverter.d.ts","sourceRoot":"","sources":["../../../src/server/operations/parameterConverter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,eAAe,EAChB,MAAM,aAAa,CAAC;AAErB;;GAEG;AACH,UAAU,eAAe;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE;QACR,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,cAAc,CAAC;KACzB,CAAC;CACH;AAED;;GAEG;AACH,UAAU,iBAAiB;IACzB,MAAM,CAAC,EAAE;QACP,EAAE,CAAC,EAAE,MAAM,GAAG;YAAE,GAAG,CAAC,EAAE,MAAM,EAAE,CAAA;SAAE,CAAC;KAClC,CAAC;IACF,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;CAChB;AAED;;GAEG;AACH,UAAU,iBAAkB,SAAQ,iBAAiB;IACnD,MAAM,CAAC,EACH;QACE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAChC,GACD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5B,OAAO,CAAC,EAAE;QACR,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB,CAAC;CACH;AAED;;GAEG;AACH,UAAU,mBAAmB;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED;;GAEG;AACH,UAAU,oBAAoB;IAC5B,IAAI,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACvC;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,eAAe,GAAG,UAAU,GAAG;IAAE,MAAM,CAAC,EAAE,cAAc,CAAA;CAAE,CAuBxG;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,iBAAiB,GAAG,aAAa,CAgBlF;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,iBAAiB,GAAG,cAAc,CAqBpF;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,mBAAmB,GAAG,eAAe,CAOxF;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,iBAAiB,GAAG,eAAe,CAwDtF;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,iBAAiB,GAAG,gBAAgB,CAmBxF;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,iBAAiB,GAAG,eAAe,CActF;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,iBAAiB,GAAG,gBAAgB,CAOxF;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,oBAAoB,GAAG,gBAAgB,CAO3F"}
1
+ {"version":3,"file":"parameterConverter.d.ts","sourceRoot":"","sources":["../../../src/server/operations/parameterConverter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,eAAe,EAChB,MAAM,aAAa,CAAC;AAErB;;GAEG;AACH,UAAU,eAAe;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE;QACR,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,cAAc,CAAC;KACzB,CAAC;CACH;AAED;;GAEG;AACH,UAAU,iBAAiB;IACzB,MAAM,CAAC,EAAE;QACP,EAAE,CAAC,EAAE,MAAM,GAAG;YAAE,GAAG,CAAC,EAAE,MAAM,EAAE,CAAA;SAAE,CAAC;KAClC,CAAC;IACF,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;CAChB;AAED;;GAEG;AACH,UAAU,iBAAkB,SAAQ,iBAAiB;IACnD,MAAM,CAAC,EACH;QACE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAChC,GACD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5B,OAAO,CAAC,EAAE;QACR,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB,CAAC;CACH;AAED;;GAEG;AACH,UAAU,mBAAmB;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED;;GAEG;AACH,UAAU,oBAAoB;IAC5B,IAAI,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACvC;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,eAAe,GAC3B,UAAU,GAAG;IAAE,MAAM,CAAC,EAAE,cAAc,CAAA;CAAE,CAuB1C;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,iBAAiB,GAAG,aAAa,CAgBlF;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,iBAAiB,GAAG,cAAc,CAqBpF;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,mBAAmB,GAAG,eAAe,CAOxF;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,iBAAiB,GAAG,eAAe,CAwDtF;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,iBAAiB,GAAG,gBAAgB,CAsBxF;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,iBAAiB,GAAG,eAAe,CActF;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,iBAAiB,GAAG,gBAAgB,CAUxF;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,oBAAoB,GAAG,gBAAgB,CAO3F"}
@@ -153,16 +153,20 @@ export function convertUpdateOneParams(mongoParams) {
153
153
  */
154
154
  export function convertUpdateManyParams(mongoParams) {
155
155
  const idFilter = mongoParams.filter?.id;
156
- const ids = typeof idFilter === 'object' && idFilter !== null && '$in' in idFilter
157
- ? idFilter.$in || []
158
- : [];
156
+ const hasIdIn = typeof idFilter === 'object' && idFilter !== null && '$in' in idFilter;
157
+ // id の $in 以外の条件は、ids に落とさず filter のまま渡す(空の ids にして何もしない、を防ぐ)
158
+ const target = hasIdIn
159
+ ? { ids: idFilter.$in || [] }
160
+ : mongoParams.filter
161
+ ? { filter: mongoParams.filter }
162
+ : { ids: [] };
159
163
  const updateData = mongoParams.update && typeof mongoParams.update === 'object'
160
164
  ? '$set' in mongoParams.update
161
165
  ? mongoParams.update.$set || {}
162
166
  : mongoParams.update
163
167
  : {};
164
168
  return {
165
- ids,
169
+ ...target,
166
170
  data: updateData,
167
171
  ...(mongoParams.options?.upsert !== undefined && {
168
172
  options: { upsert: mongoParams.options.upsert },
@@ -197,10 +201,14 @@ export function convertDeleteOneParams(mongoParams) {
197
201
  */
198
202
  export function convertDeleteManyParams(mongoParams) {
199
203
  const idFilter = mongoParams.filter?.id;
200
- const ids = typeof idFilter === 'object' && idFilter !== null && '$in' in idFilter
201
- ? idFilter.$in || []
202
- : [];
203
- return { ids };
204
+ if (typeof idFilter === 'object' && idFilter !== null && '$in' in idFilter) {
205
+ return { ids: idFilter.$in || [] };
206
+ }
207
+ // id の $in 以外の条件は、ids に落とさず filter のまま渡す(空の ids にして何もしない、を防ぐ)
208
+ if (mongoParams.filter) {
209
+ return { filter: mongoParams.filter };
210
+ }
211
+ return { ids: [] };
204
212
  }
205
213
  /**
206
214
  * MongoDB風のinsertManyパラメータを内部形式に変換する
@@ -1 +1 @@
1
- {"version":3,"file":"parameterConverter.js","sourceRoot":"","sources":["../../../src/server/operations/parameterConverter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parameterConverter.js","sourceRoot":"","sources":["../../../src/server/operations/parameterConverter.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"updateMany.d.ts","sourceRoot":"","sources":["../../../src/server/operations/updateMany.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAkB,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAqCtF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,gBAAgB,EACxB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,gBAAgB,CAAC,CAwgB3B"}
1
+ {"version":3,"file":"updateMany.d.ts","sourceRoot":"","sources":["../../../src/server/operations/updateMany.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAkB,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAuCtF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,gBAAgB,EACxB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,gBAAgB,CAAC,CA2f3B"}
@@ -4,16 +4,18 @@
4
4
  *
5
5
  * 要件: 4.2, 4.4, 5.2, 5.3, 7.4, 13.1, 13.2, 13.3, 13.8, 13.12
6
6
  */
7
- import { BatchGetCommand, TransactWriteCommand } from '@aws-sdk/lib-dynamodb';
8
- import { ErrorCode, createLogger, ulid } from '../../shared/index.js';
7
+ import { TransactWriteCommand } from '@aws-sdk/lib-dynamodb';
8
+ import { AppError, ErrorCode, createLogger, ulid } from '../../shared/index.js';
9
9
  import { generateShadowRecords, getShadowConfig } from '../shadow/index.js';
10
10
  import { calculateShadowDiff, generateMainRecordSK } from '../shadow/index.js';
11
+ import { batchGetAll } from '../utils/batchGet.js';
11
12
  import { calculateTimeoutRisk, logBulkOperationComplete, logLargeBatchWarning, logPartialFailure, logPreparationTimeoutRisk, } from '../utils/bulkOperations.js';
12
13
  import { calculateChunks, executeChunks } from '../utils/chunking.js';
13
14
  import { CostTracker } from '../utils/cost-tracker.js';
14
15
  import { executeDynamoDBOperation, getDBClient, getTableName, removeShadowKeys, } from '../utils/dynamodb.js';
15
16
  import { applyJsonMergePatch } from '../utils/mergePatch.js';
16
17
  import { addUpdateTimestamp } from '../utils/timestamps.js';
18
+ import { findAllByFilter } from './findAll.js';
17
19
  const logger = createLogger({ service: 'records-lambda' });
18
20
  /**
19
21
  * updateMany 操作を実行する
@@ -65,10 +67,14 @@ export async function handleUpdateMany(resource, params, requestId) {
65
67
  resource,
66
68
  filter: params.filter,
67
69
  });
68
- // filterで検索(find操作を使用)
69
- const { handleFind } = await import('./find.js');
70
- const findResult = await handleFind(resource, { filter: params.filter }, requestId);
71
- ids = findResult.items.map((item) => item.id);
70
+ // 条件なし(全件)への更新・削除は、意図しない全件操作を防ぐため受け付けない
71
+ // (全件が対象なら、ids を明示するか、find で取得した id を渡すこと)
72
+ if (Object.keys(params.filter).length === 0) {
73
+ throw new AppError(ErrorCode.VALIDATION_ERROR, 'updateMany requires a non-empty filter or ids', 400);
74
+ }
75
+ // filterに一致する全件を取得する(1ページだけでは対象の一部が漏れる)
76
+ const matched = await findAllByFilter(resource, params.filter, requestId);
77
+ ids = matched.map((item) => item.id);
72
78
  logger.debug('Found records with filter', {
73
79
  requestId,
74
80
  resource,
@@ -120,30 +126,9 @@ export async function handleUpdateMany(resource, params, requestId) {
120
126
  logLargeBatchWarning('updateMany', ids.length, requestId, resource);
121
127
  const dbClient = getDBClient();
122
128
  const tableName = getTableName();
123
- // BatchGetItemで既存レコードを取得
124
- const keys = ids.map((id) => ({
125
- PK: resource,
126
- SK: generateMainRecordSK(id),
127
- }));
128
- const batchGetResult = await executeDynamoDBOperation(() => dbClient.send(new BatchGetCommand({
129
- RequestItems: {
130
- [tableName]: {
131
- Keys: keys,
132
- ConsistentRead: true,
133
- },
134
- },
135
- ReturnConsumedCapacity: 'TOTAL',
136
- })), 'BatchGetItem');
137
- // コスト情報を収集
138
- if (Array.isArray(batchGetResult.ConsumedCapacity)) {
139
- for (const capacity of batchGetResult.ConsumedCapacity) {
140
- costTracker.add(capacity);
141
- }
142
- }
143
- else {
144
- costTracker.add(batchGetResult.ConsumedCapacity);
145
- }
146
- const existingItems = batchGetResult.Responses?.[tableName] || [];
129
+ // BatchGetItemで既存レコードを取得(100件ごとに分割し、UnprocessedKeys は再試行する。
130
+ // 取りこぼすと「存在しない」と誤認して更新・削除の対象から漏れるため、解消しなければエラーにする)
131
+ const existingItems = await batchGetAll(ids.map((id) => ({ PK: resource, SK: generateMainRecordSK(id) })), { consistentRead: true, costTracker, requestId });
147
132
  // 存在するレコードのIDセットを作成
148
133
  const existingIds = new Set(existingItems.map((item) => {
149
134
  const data = item.data;
@@ -1 +1 @@
1
- {"version":3,"file":"updateMany.js","sourceRoot":"","sources":["../../../src/server/operations/updateMany.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"updateMany.js","sourceRoot":"","sources":["../../../src/server/operations/updateMany.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE/E,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,oBAAoB,EACpB,iBAAiB,EACjB,yBAAyB,GAC1B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EACL,wBAAwB,EACxB,WAAW,EACX,YAAY,EACZ,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;AAkB3D;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,QAAgB,EAChB,MAAwB,EACxB,SAAiB;IAEjB,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IAC5C,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,KAAK,CAAC;IACxC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;IAEtC,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE;QACnC,SAAS;QACT,QAAQ;QACR,MAAM;KACP,CAAC,CAAC;IAEH,+BAA+B;IAC/B,IAAI,GAAa,CAAC;IAElB,IAAI,KAAK,IAAI,MAAM,EAAE,CAAC;QACpB,gBAAgB;QAChB,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;QAEjB,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE;YAC5C,SAAS;YACT,QAAQ;YACR,KAAK,EAAE,GAAG,CAAC,MAAM;SAClB,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,mBAAmB;QACnB,MAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE;YAC/C,SAAS;YACT,QAAQ;YACR,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC,CAAC;QAEH,wCAAwC;QACxC,2CAA2C;QAC3C,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAiC,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvE,MAAM,IAAI,QAAQ,CAChB,SAAS,CAAC,gBAAgB,EAC1B,+CAA+C,EAC/C,GAAG,CACJ,CAAC;QACJ,CAAC;QAED,wCAAwC;QACxC,MAAM,OAAO,GAAG,MAAM,eAAe,CACnC,QAAQ,EACR,MAAM,CAAC,MAAiC,EACxC,SAAS,CACV,CAAC;QAEF,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAY,CAAC,CAAC;QAE/C,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE;YACxC,SAAS;YACT,QAAQ;YACR,KAAK,EAAE,GAAG,CAAC,MAAM;SAClB,CAAC,CAAC;QAEH,wBAAwB;QACxB,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrB,IAAI,MAAM,EAAE,CAAC;gBACX,6BAA6B;gBAC7B,WAAW;gBACX,MAAM,KAAK,GAAG,IAAI,EAAE,CAAC;gBACrB,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;gBAEd,MAAM,CAAC,IAAI,CAAC,gDAAgD,EAAE;oBAC5D,SAAS;oBACT,QAAQ;oBACR,KAAK;oBACL,MAAM,EAAE,MAAM,CAAC,MAAM;iBACtB,CAAC,CAAC;gBAEH,6BAA6B;gBAC7B,sCAAsC;gBACtC,IAAI,SAAS,CAAC,YAAY,EAAE,CAAC;oBAC3B,SAAS,CAAC,YAAY,GAAG;wBACvB,GAAG,MAAM,CAAC,MAAM;wBAChB,GAAG,SAAS,CAAC,YAAY;qBAC1B,CAAC;gBACJ,CAAC;qBAAM,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC;oBAC1B,8CAA8C;oBAC9C,SAAS,CAAC,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;gBACzC,CAAC;qBAAM,CAAC;oBACN,mDAAmD;oBACnD,SAAS,CAAC,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;gBACzC,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,8BAA8B;gBAC9B,OAAO;oBACL,KAAK,EAAE,CAAC;oBACR,UAAU,EAAE,EAAE;oBACd,SAAS,EAAE,EAAE;oBACb,MAAM,EAAE,EAAE;oBACV,gBAAgB,EAAE,WAAW,CAAC,aAAa,EAAE;iBAC9C,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,8BAA8B;IAC9B,oBAAoB,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAEpE,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IAEjC,4DAA4D;IAC5D,mDAAmD;IACnD,MAAM,aAAa,GAAG,MAAM,WAAW,CACrC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,oBAAoB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACjE,EAAE,cAAc,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,CACjD,CAAC;IAEF,oBAAoB;IACpB,MAAM,WAAW,GAAG,IAAI,GAAG,CACzB,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,IAA+B,CAAC;QAClD,OAAO,IAAI,CAAC,EAAY,CAAC;IAC3B,CAAC,CAAC,CACH,CAAC;IAEF,aAAa;IACb,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAE7D,qCAAqC;IACrC,IAAI,CAAC,MAAM,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,mCAAmC,EAAE;YAC/C,SAAS;YACT,QAAQ;YACR,aAAa,EAAE,WAAW,CAAC,MAAM;YACjC,WAAW,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,aAAa;SACrD,CAAC,CAAC;IACL,CAAC;IAED,wCAAwC;IACxC,IAAI,MAAM,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,qCAAqC,EAAE;YACjD,SAAS;YACT,QAAQ;YACR,aAAa,EAAE,WAAW,CAAC,MAAM;YACjC,WAAW,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,aAAa;SACrD,CAAC,CAAC;IACL,CAAC;IAED,2BAA2B;IAC3B,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IAEvC,MAAM,eAAe,GAA2B,EAAE,CAAC;IACnD,MAAM,oBAAoB,GAAa,EAAE,CAAC;IAC1C,MAAM,iBAAiB,GAAqB,EAAE,CAAC;IAE/C,YAAY;IACZ,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,IAAI,CAAC,IAA+B,CAAC;YAC1D,MAAM,EAAE,GAAG,YAAY,CAAC,EAAY,CAAC;YACrC,oCAAoC;YACpC,MAAM,aAAa,GAAI,CAAC,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,YAAY,CAAc,IAAI,EAAE,CAAC;YAE3F,oDAAoD;YACpD,MAAM,eAAe,GAAG,SAAS,CAAC,IAAI;gBACpC,CAAC,CAAE,SAAS,CAAC,IAAgC;gBAC7C,CAAC,CAAC,SAAS,CAAC;YAEd,gDAAgD;YAChD,4CAA4C;YAC5C,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,eAAe,CAAC,CAAC;YAE7D,sBAAsB;YACtB,MAAM,UAAU,GAAG,mBAAmB,CAAC,gBAAgB,CAAC,YAAY,CAAC,EAAE,gBAAgB,CAAC,CAAC;YAEzF,MAAM,WAAW,GAA4B,EAAE,GAAG,UAAU,EAAE,EAAE,EAAE,CAAC;YAEnE,4BAA4B;YAC5B,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,WAAW,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;YACpF,MAAM,aAAa,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAElE,gBAAgB;YAChB,MAAM,MAAM,GAAG,oBAAoB,CAAC,EAAE,CAAC,CAAC;YAExC,eAAe,CAAC,IAAI,CAAC;gBACnB,EAAE;gBACF,WAAW;gBACX,aAAa;gBACb,aAAa;gBACb,MAAM;aACP,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,mBAAmB;YACnB,MAAM,YAAY,GAAG,IAAI,CAAC,IAA+B,CAAC;YAC1D,MAAM,QAAQ,GAAI,YAAY,CAAC,EAAa,IAAI,YAAY,CAAC;YAC7D,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,2BAA2B,CAAC;YAC1F,MAAM,SAAS,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;YAEjD,MAAM,CAAC,KAAK,CAAC,qCAAqC,EAAE;gBAClD,SAAS;gBACT,QAAQ,EAAE,QAAQ;gBAClB,KAAK,EAAE,YAAY;gBACnB,SAAS;aACV,CAAC,CAAC;YAEH,iBAAiB;YACjB,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACpC,iBAAiB,CAAC,IAAI,CAAC;gBACrB,EAAE,EAAE,QAAQ;gBACZ,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,YAAY;aACtB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,wCAAwC;IACxC,IAAI,MAAM,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrC,oBAAoB;QACpB,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;QAEvE,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACH,iCAAiC;gBACjC,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAE,SAAS,CAAC,IAAgC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACzF,MAAM,eAAe,GAAG,SAAS,CAAC,YAAY;oBAC5C,CAAC,CAAE,SAAS,CAAC,YAAwC;oBACrD,CAAC,CAAC,EAAE,CAAC;gBAEP,iCAAiC;gBACjC,MAAM,UAAU,GAAG;oBACjB,GAAG,eAAe;oBAClB,GAAG,OAAO;oBACV,EAAE;iBACH,CAAC;gBAEF,yBAAyB;gBACzB,MAAM,OAAO,GAA4B,mBAAmB,CAAC,UAAU,CAAC,CAAC;gBAEzE,iBAAiB;gBACjB,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;gBAChF,MAAM,aAAa,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAElE,gBAAgB;gBAChB,MAAM,MAAM,GAAG,oBAAoB,CAAC,EAAE,CAAC,CAAC;gBAExC,eAAe,CAAC,IAAI,CAAC;oBACnB,EAAE;oBACF,WAAW,EAAE,OAAO;oBACpB,aAAa,EAAE,EAAE,EAAE,WAAW;oBAC9B,aAAa;oBACb,MAAM;iBACP,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,mBAAmB;gBACnB,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,2BAA2B,CAAC;gBAC1F,MAAM,SAAS,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;gBAEjD,MAAM,CAAC,KAAK,CAAC,yCAAyC,EAAE;oBACtD,SAAS;oBACT,QAAQ,EAAE,EAAE;oBACZ,KAAK,EAAE,YAAY;oBACnB,SAAS;iBACV,CAAC,CAAC;gBAEH,iBAAiB;gBACjB,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC9B,iBAAiB,CAAC,IAAI,CAAC;oBACrB,EAAE;oBACF,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,YAAY;iBACtB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,mCAAmC;IACnC,MAAM,YAAY,GAAG,CAAC,MAA4B,EAAU,EAAE;QAC5D,MAAM,UAAU,GAAG,mBAAmB,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;QACnF,OAAO,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC;IAClE,CAAC,CAAC;IAEF,SAAS;IACT,MAAM,EAAE,MAAM,EAAE,GAAG,eAAe,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;IAElE,4BAA4B;IAC5B,MAAM,mBAAmB,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAC5D,yBAAyB,CACvB,SAAS,EACT,QAAQ,EACR,eAAe,CAAC,MAAM,EACtB,MAAM,CAAC,MAAM,EACb,mBAAmB,CACpB,CAAC;IAEF,WAAW;IACX,MAAM,YAAY,GAAG,KAAK,EAAE,KAA6B,EAAmC,EAAE;QAC5F,MAAM,aAAa,GAGd,EAAE,CAAC;QAER,+BAA+B;QAC/B,KAAK,MAAM,MAAM,IAAI,KAAK,EAAE,CAAC;YAC3B,YAAY;YACZ,MAAM,UAAU,GAAG,mBAAmB,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;YAEnF,aAAa;YACb,aAAa,CAAC,IAAI,CAAC;gBACjB,GAAG,EAAE;oBACH,SAAS,EAAE,SAAS;oBACpB,IAAI,EAAE;wBACJ,EAAE,EAAE,QAAQ;wBACZ,EAAE,EAAE,MAAM,CAAC,MAAM;wBACjB,YAAY,EAAE,MAAM,CAAC,aAAa;wBAClC,IAAI,EAAE;4BACJ,GAAG,MAAM,CAAC,WAAW;yBACtB;qBACF;iBACF;aACF,CAAC,CAAC;YAEH,WAAW;YACX,KAAK,MAAM,QAAQ,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;gBAC3C,aAAa,CAAC,IAAI,CAAC;oBACjB,MAAM,EAAE;wBACN,SAAS,EAAE,SAAS;wBACpB,GAAG,EAAE;4BACH,EAAE,EAAE,QAAQ;4BACZ,EAAE,EAAE,QAAQ;yBACb;qBACF;iBACF,CAAC,CAAC;YACL,CAAC;YAED,WAAW;YACX,KAAK,MAAM,QAAQ,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;gBACxC,aAAa,CAAC,IAAI,CAAC;oBACjB,GAAG,EAAE;wBACH,SAAS,EAAE,SAAS;wBACpB,IAAI,EAAE;4BACJ,EAAE,EAAE,QAAQ;4BACZ,EAAE,EAAE,QAAQ;4BACZ,IAAI,EAAE,EAAE;yBACT;qBACF;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,wBAAwB;QACxB,MAAM,MAAM,GAAG,MAAM,wBAAwB,CAC3C,GAAG,EAAE,CACH,QAAQ,CAAC,IAAI,CACX,IAAI,oBAAoB,CAAC;YACvB,aAAa,EAAE,aAAa;YAC5B,sBAAsB,EAAE,OAAO;SAChC,CAAC,CACH,EACH,oBAAoB,CACrB,CAAC;QAEF,2CAA2C;QAC3C,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC3C,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;gBAC/C,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAC3C,CAAC;QAED,cAAc;QACd,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IAEF,YAAY;IACZ,MAAM,EACJ,cAAc,EACd,SAAS,EAAE,cAAc,EACzB,MAAM,EAAE,WAAW,GACpB,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAErE,eAAe;IACf,mDAAmD;IACnD,uCAAuC;IACvC,MAAM,UAAU,GAA2B,EAAE,CAAC;IAC9C,MAAM,KAAK,GAAmC,EAAE,CAAC;IACjD,MAAM,YAAY,GAA2B,EAAE,CAAC;IAChD,MAAM,SAAS,GAAmC,EAAE,CAAC;IAErD,oDAAoD;IACpD,MAAM,eAAe,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAE,SAAS,CAAC,IAAgC,CAAC,CAAC,CAAC,SAAS,CAAC;IACjG,MAAM,eAAe,GAAG,SAAS,CAAC,YAAY;QAC5C,CAAC,CAAE,SAAS,CAAC,YAAwC;QACrD,CAAC,CAAC,EAAE,CAAC;IAEP,qBAAqB;IACrB,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QAClB,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YACzB,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;YAEnB,wCAAwC;YACxC,IAAI,MAAM,IAAI,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;gBACvC,KAAK,CAAC,IAAI,CAAC;oBACT,EAAE;oBACF,GAAG,eAAe;oBAClB,GAAG,eAAe;iBACnB,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,sBAAsB;gBACtB,KAAK,CAAC,IAAI,CAAC;oBACT,EAAE;oBACF,GAAG,eAAe;iBACnB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,yCAAyC;IACzC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YAClB,IAAI,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC7B,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;gBACrB,SAAS,CAAC,CAAC,CAAC,GAAG;oBACb,EAAE;oBACF,IAAI,EAAE,gBAAgB;oBACtB,OAAO,EAAE,qBAAqB,EAAE,EAAE;iBACnC,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,iBAAiB;IACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QAClB,IAAI,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;YACtC,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;YACrB,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YACzD,IAAI,KAAK,EAAE,CAAC;gBACV,SAAS,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;YACvB,CAAC;QACH,CAAC;IACH,CAAC;IAED,qBAAqB;IACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QAClB,IAAI,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;YAChC,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;YACrB,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YACnD,IAAI,KAAK,EAAE,CAAC;gBACV,SAAS,CAAC,CAAC,CAAC,GAAG;oBACb,EAAE,EAAE,KAAK,CAAC,EAAE;oBACZ,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,OAAO,EAAE,KAAK,CAAC,OAAO;iBACvB,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC;IAC7C,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAEjD,sBAAsB;IACtB,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAE3D,wBAAwB,CACtB,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,GAAG,CAAC,MAAM,EACV,KAAK,EACL,YAAY,CAAC,MAAM,EACnB,kBAAkB,EAClB;QACE,OAAO,EAAE,KAAK;QACd,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,EAAE,qBAAqB;QAChE,iBAAiB,EAAE,oBAAoB,CAAC,MAAM;QAC9C,oBAAoB,EAAE,cAAc,CAAC,MAAM;QAC3C,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,yBAAyB;KACrE,CACF,CAAC;IAEF,0BAA0B;IAC1B,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,iBAAiB,CACf,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,GAAG,CAAC,MAAM,EACV,KAAK,EACL,YAAY,CAAC,MAAM,EACnB,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAC3C;YACE,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,EAAE,qBAAqB;YACrE,mBAAmB,EAAE,oBAAoB,CAAC,MAAM;YAChD,sBAAsB,EAAE,cAAc,CAAC,MAAM;SAC9C,CACF,CAAC;IACJ,CAAC;IAED,eAAe;IACf,OAAO;QACL,KAAK;QACL,UAAU;QACV,SAAS,EAAE,YAAY;QACvB,MAAM,EAAE,SAAS;QACjB,KAAK,EAAE,gCAAgC;QACvC,gBAAgB,EAAE,WAAW,CAAC,aAAa,EAAE;KAC9C,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,uBAAuB,CAAC,KAAc;IAC7C,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvC,UAAU;QACV,IAAI,MAAM,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtD,OAAO,KAAK,CAAC,IAAI,CAAC;QACpB,CAAC;QACD,cAAc;QACd,IAAI,MAAM,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtD,OAAO,KAAK,CAAC,IAAI,CAAC;QACpB,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC,gBAAgB,CAAC;AACpC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"updateOne.d.ts","sourceRoot":"","sources":["../../../src/server/operations/updateOne.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAIpE;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,eAAe,EACvB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,eAAe,CAAC,CA4H1B"}
1
+ {"version":3,"file":"updateOne.d.ts","sourceRoot":"","sources":["../../../src/server/operations/updateOne.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAKpE;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,eAAe,EACvB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,eAAe,CAAC,CAiI1B"}
@@ -7,6 +7,7 @@
7
7
  * リファクタリング: updateManyを内部で使用
8
8
  */
9
9
  import { AppError, ErrorCode, createLogger } from '../../shared/index.js';
10
+ import { findOneByFilter } from './findAll.js';
10
11
  const logger = createLogger({ service: 'records-lambda' });
11
12
  /**
12
13
  * updateOne 操作を実行する
@@ -88,12 +89,13 @@ export async function handleUpdateOne(resource, params, requestId) {
88
89
  filter: params.filter,
89
90
  upsert: options?.upsert,
90
91
  });
91
- // updateMany({ filter }, data)を呼び出す
92
- const updateManyResult = await handleUpdateMany(resource, {
93
- filter: params.filter,
94
- data: patchData,
95
- options,
96
- }, requestId);
92
+ // updateOne は 1 件だけを対象にする。一致する 1 件の id を特定して updateMany([id]) を呼ぶ
93
+ // (filter のまま updateMany に渡すと、一致する全件が更新されてしまう)。
94
+ // 一致が無いときは filter のまま渡し、upsert: true なら新規作成、そうでなければ「見つからない」になる
95
+ const target = await findOneByFilter(resource, params.filter, requestId);
96
+ const updateManyResult = await handleUpdateMany(resource, target
97
+ ? { ids: [target.id], data: patchData, options }
98
+ : { filter: params.filter, data: patchData, options }, requestId);
97
99
  // 結果を検証
98
100
  if (updateManyResult.count === 0) {
99
101
  // 更新に失敗した場合
@@ -1 +1 @@
1
- {"version":3,"file":"updateOne.js","sourceRoot":"","sources":["../../../src/server/operations/updateOne.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"updateOne.js","sourceRoot":"","sources":["../../../src/server/operations/updateOne.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import type { CostTracker } from './cost-tracker.js';
2
+ /** BatchGetItem の 1 リクエストあたりのキー数の上限 */
3
+ export declare const BATCH_GET_MAX_KEYS = 100;
4
+ /** UnprocessedKeys の再試行回数の上限 */
5
+ export declare const BATCH_GET_MAX_RETRIES = 8;
6
+ export interface BatchGetKey {
7
+ PK: string;
8
+ SK: string;
9
+ }
10
+ export interface BatchGetOptions {
11
+ consistentRead: boolean;
12
+ costTracker?: CostTracker;
13
+ requestId?: string;
14
+ /** 再試行の待ち時間の基準(ミリ秒)。テストで短くするためのもの */
15
+ baseDelayMs?: number;
16
+ }
17
+ /**
18
+ * キーに対応するレコードを全件取得する(重複キーは 1 回だけ取得する。順序は保証しない)
19
+ */
20
+ export declare function batchGetAll(keys: BatchGetKey[], { consistentRead, costTracker, requestId, baseDelayMs }: BatchGetOptions): Promise<Record<string, unknown>[]>;
21
+ //# sourceMappingURL=batchGet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batchGet.d.ts","sourceRoot":"","sources":["../../../src/server/utils/batchGet.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAQrD,uCAAuC;AACvC,eAAO,MAAM,kBAAkB,MAAM,CAAC;AACtC,gCAAgC;AAChC,eAAO,MAAM,qBAAqB,IAAI,CAAC;AAEvC,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,eAAe;IAC9B,cAAc,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qCAAqC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAMD;;GAEG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,WAAW,EAAE,EACnB,EAAE,cAAc,EAAE,WAAW,EAAE,SAAS,EAAE,WAAgB,EAAE,EAAE,eAAe,GAC5E,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAgEpC"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * BatchGetItem の共通処理
3
+ *
4
+ * - 100 件ごとに分割する(BatchGetItem の上限)
5
+ * - スロットリング等で `UnprocessedKeys` が返ったら、指数バックオフで再試行して取りこぼさない
6
+ * - 再試行しても残る場合は、一部だけを返さずエラーにする(結果を壊さない)
7
+ */
8
+ import { BatchGetCommand } from '@aws-sdk/lib-dynamodb';
9
+ import { AppError, ErrorCode, createLogger } from '../../shared/index.js';
10
+ import { executeDynamoDBOperation, getDBClient, getTableName } from './dynamodb.js';
11
+ const logger = createLogger({
12
+ service: 'batch-get',
13
+ level: process.env.LOG_LEVEL || 'info',
14
+ });
15
+ /** BatchGetItem の 1 リクエストあたりのキー数の上限 */
16
+ export const BATCH_GET_MAX_KEYS = 100;
17
+ /** UnprocessedKeys の再試行回数の上限 */
18
+ export const BATCH_GET_MAX_RETRIES = 8;
19
+ function sleep(ms) {
20
+ return new Promise((resolve) => setTimeout(resolve, ms));
21
+ }
22
+ /**
23
+ * キーに対応するレコードを全件取得する(重複キーは 1 回だけ取得する。順序は保証しない)
24
+ */
25
+ export async function batchGetAll(keys, { consistentRead, costTracker, requestId, baseDelayMs = 50 }) {
26
+ const unique = Array.from(new Map(keys.map((k) => [`${k.PK}\u0000${k.SK}`, k])).values());
27
+ if (unique.length === 0) {
28
+ return [];
29
+ }
30
+ const dbClient = getDBClient();
31
+ const tableName = getTableName();
32
+ const records = [];
33
+ for (let i = 0; i < unique.length; i += BATCH_GET_MAX_KEYS) {
34
+ let pending = unique.slice(i, i + BATCH_GET_MAX_KEYS);
35
+ for (let attempt = 0; pending.length > 0; attempt++) {
36
+ if (attempt > BATCH_GET_MAX_RETRIES) {
37
+ // 一部だけを返すと、呼び出し側が「存在しない」と誤認する(更新・削除の対象から漏れる等)
38
+ logger.error('BatchGetItem の UnprocessedKeys が解消しなかった', {
39
+ requestId,
40
+ unprocessed: pending.length,
41
+ attempts: attempt,
42
+ });
43
+ throw new AppError(ErrorCode.INTERNAL_ERROR, 'BatchGetItem still has unprocessed keys after retries', 503, { unprocessed: pending.length });
44
+ }
45
+ if (attempt > 0) {
46
+ await sleep(baseDelayMs * 2 ** (attempt - 1) * (0.5 + Math.random() / 2));
47
+ }
48
+ const keysToGet = pending;
49
+ const result = await executeDynamoDBOperation(() => dbClient.send(new BatchGetCommand({
50
+ RequestItems: {
51
+ [tableName]: {
52
+ Keys: keysToGet,
53
+ ConsistentRead: consistentRead,
54
+ },
55
+ },
56
+ ReturnConsumedCapacity: 'TOTAL',
57
+ })), 'BatchGetItem');
58
+ if (costTracker) {
59
+ const capacity = result.ConsumedCapacity;
60
+ if (Array.isArray(capacity)) {
61
+ capacity.forEach((c) => costTracker.add(c));
62
+ }
63
+ else {
64
+ costTracker.add(capacity);
65
+ }
66
+ }
67
+ records.push(...(result.Responses?.[tableName] ?? []));
68
+ pending = result.UnprocessedKeys?.[tableName]?.Keys ?? [];
69
+ }
70
+ }
71
+ return records;
72
+ }
73
+ //# sourceMappingURL=batchGet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batchGet.js","sourceRoot":"","sources":["../../../src/server/utils/batchGet.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1E,OAAO,EAAE,wBAAwB,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAEpF,MAAM,MAAM,GAAG,YAAY,CAAC;IAC1B,OAAO,EAAE,WAAW;IACpB,KAAK,EAAG,OAAO,CAAC,GAAG,CAAC,SAAiD,IAAI,MAAM;CAChF,CAAC,CAAC;AAEH,uCAAuC;AACvC,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAC;AACtC,gCAAgC;AAChC,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAevC,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,IAAmB,EACnB,EAAE,cAAc,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,GAAG,EAAE,EAAmB;IAE7E,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1F,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IACjC,MAAM,OAAO,GAA8B,EAAE,CAAC;IAE9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,kBAAkB,EAAE,CAAC;QAC3D,IAAI,OAAO,GAAkB,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,kBAAkB,CAAC,CAAC;QAErE,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC;YACpD,IAAI,OAAO,GAAG,qBAAqB,EAAE,CAAC;gBACpC,8CAA8C;gBAC9C,MAAM,CAAC,KAAK,CAAC,yCAAyC,EAAE;oBACtD,SAAS;oBACT,WAAW,EAAE,OAAO,CAAC,MAAM;oBAC3B,QAAQ,EAAE,OAAO;iBAClB,CAAC,CAAC;gBACH,MAAM,IAAI,QAAQ,CAChB,SAAS,CAAC,cAAc,EACxB,uDAAuD,EACvD,GAAG,EACH,EAAE,WAAW,EAAE,OAAO,CAAC,MAAM,EAAE,CAChC,CAAC;YACJ,CAAC;YACD,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;gBAChB,MAAM,KAAK,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;YAC5E,CAAC;YAED,MAAM,SAAS,GAAG,OAAO,CAAC;YAC1B,MAAM,MAAM,GAAG,MAAM,wBAAwB,CAC3C,GAAG,EAAE,CACH,QAAQ,CAAC,IAAI,CACX,IAAI,eAAe,CAAC;gBAClB,YAAY,EAAE;oBACZ,CAAC,SAAS,CAAC,EAAE;wBACX,IAAI,EAAE,SAAS;wBACf,cAAc,EAAE,cAAc;qBAC/B;iBACF;gBACD,sBAAsB,EAAE,OAAO;aAChC,CAAC,CACH,EACH,cAAc,CACf,CAAC;YAEF,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC;gBACzC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC5B,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC9C,CAAC;qBAAM,CAAC;oBACN,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAC5B,CAAC;YACH,CAAC;YAED,OAAO,CAAC,IAAI,CAAC,GAAG,CAAE,MAAM,CAAC,SAAS,EAAE,CAAC,SAAS,CAA+B,IAAI,EAAE,CAAC,CAAC,CAAC;YACtF,OAAO,GAAI,MAAM,CAAC,eAAe,EAAE,CAAC,SAAS,CAAC,EAAE,IAAkC,IAAI,EAAE,CAAC;QAC3F,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -10,7 +10,7 @@ export interface ScanWatcherContext {
10
10
  requestId: string;
11
11
  resource: string;
12
12
  /** 走査の種類(どの経路で疎な検索になったか) */
13
- path: 'id-filtered-scan' | 'shadow-filter-first' | 'shadow-full-scan';
13
+ path: 'id-filtered-scan' | 'shadow-filter-first' | 'shadow-full-scan' | 'near-search';
14
14
  sortField: string;
15
15
  /** 絞り込みに使われたフィールドと演算子(例: "name:$contains") */
16
16
  filters: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"scanWarning.d.ts","sourceRoot":"","sources":["../../../src/server/utils/scanWarning.ts"],"names":[],"mappings":"AAkBA,sCAAsC;AACtC,eAAO,MAAM,iBAAiB,gBAAgB,CAAC;AAE/C,0BAA0B;AAC1B,eAAO,MAAM,2BAA2B,OAAO,CAAC;AAEhD;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAO7C;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,4BAA4B;IAC5B,IAAI,EAAE,kBAAkB,GAAG,qBAAqB,GAAG,kBAAkB,CAAC;IACtE,SAAS,EAAE,MAAM,CAAC;IAClB,8CAA8C;IAC9C,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;GAEG;AACH,qBAAa,WAAW;IAKV,OAAO,CAAC,QAAQ,CAAC,OAAO;IAJpC,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA0B;gBAEvB,OAAO,EAAE,kBAAkB;IAExD,gBAAgB;IAChB,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;CAqBzB"}
1
+ {"version":3,"file":"scanWarning.d.ts","sourceRoot":"","sources":["../../../src/server/utils/scanWarning.ts"],"names":[],"mappings":"AAkBA,sCAAsC;AACtC,eAAO,MAAM,iBAAiB,gBAAgB,CAAC;AAE/C,0BAA0B;AAC1B,eAAO,MAAM,2BAA2B,OAAO,CAAC;AAEhD;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAO7C;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,4BAA4B;IAC5B,IAAI,EAAE,kBAAkB,GAAG,qBAAqB,GAAG,kBAAkB,GAAG,aAAa,CAAC;IACtF,SAAS,EAAE,MAAM,CAAC;IAClB,8CAA8C;IAC9C,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;GAEG;AACH,qBAAa,WAAW;IAKV,OAAO,CAAC,QAAQ,CAAC,OAAO;IAJpC,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA0B;gBAEvB,OAAO,EAAE,kBAAkB;IAExD,gBAAgB;IAChB,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;CAqBzB"}
@@ -5,4 +5,5 @@ export * from './logger.js';
5
5
  export * from './ulid.js';
6
6
  export * from './validation.js';
7
7
  export * from './dynamodb.js';
8
+ export * from './scanSort.js';
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC"}
@@ -5,4 +5,5 @@ export * from './logger.js';
5
5
  export * from './ulid.js';
6
6
  export * from './validation.js';
7
7
  export * from './dynamodb.js';
8
+ export * from './scanSort.js';
8
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/shared/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/shared/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * 全件読み取りの並べ替えフィールドを選ぶ
3
+ *
4
+ * フィルタが「単一フィールドの等価($eq)で、値が短い普通の文字列」だけなら、そのフィールドを返す。
5
+ * シャドーのキー条件で一致するレコードだけを読めるので(O(一致件数))、大きなコレクションでも
6
+ * 疎な検索(SPARSE_SCAN)にならない。それ以外は不変の `id`(カーソル方式。全件で O(件数))。
7
+ *
8
+ * 数値・真偽値・長い文字列・日時形式の文字列は対象外。シャドーの SK は書き込み時に型ごとに変換される
9
+ * (数値はオフセット付き、真偽値は 1/0、日時形式の文字列は toISOString、長い文字列は
10
+ * SHADOW_STRING_MAX_BYTES で切り詰め)が、検索側の $eq は同じ変換をしないため、キー条件が一致せず
11
+ * 0 件になりうる(#57)。長さの上限はサーバー設定(既定 100 バイト)より十分小さい 64 バイトにしている。
12
+ *
13
+ * 注意: 読んでいる最中にそのフィールドの値が書き換わると取りこぼしうる(外部キーは通常変更されない)。
14
+ */
15
+ export declare function chooseScanSortField(filter: Record<string, unknown>): string;
16
+ //# sourceMappingURL=scanSort.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scanSort.d.ts","sourceRoot":"","sources":["../../../src/shared/utils/scanSort.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAkB3E"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * 全件読み取りの並べ替えフィールドを選ぶ
3
+ *
4
+ * フィルタが「単一フィールドの等価($eq)で、値が短い普通の文字列」だけなら、そのフィールドを返す。
5
+ * シャドーのキー条件で一致するレコードだけを読めるので(O(一致件数))、大きなコレクションでも
6
+ * 疎な検索(SPARSE_SCAN)にならない。それ以外は不変の `id`(カーソル方式。全件で O(件数))。
7
+ *
8
+ * 数値・真偽値・長い文字列・日時形式の文字列は対象外。シャドーの SK は書き込み時に型ごとに変換される
9
+ * (数値はオフセット付き、真偽値は 1/0、日時形式の文字列は toISOString、長い文字列は
10
+ * SHADOW_STRING_MAX_BYTES で切り詰め)が、検索側の $eq は同じ変換をしないため、キー条件が一致せず
11
+ * 0 件になりうる(#57)。長さの上限はサーバー設定(既定 100 バイト)より十分小さい 64 バイトにしている。
12
+ *
13
+ * 注意: 読んでいる最中にそのフィールドの値が書き換わると取りこぼしうる(外部キーは通常変更されない)。
14
+ */
15
+ export function chooseScanSortField(filter) {
16
+ const keys = Object.keys(filter);
17
+ if (keys.length !== 1) {
18
+ return 'id';
19
+ }
20
+ const [key] = keys;
21
+ const value = filter[key];
22
+ const isPlainField = !key.includes(':') && !key.includes('.') && key !== 'id';
23
+ const isSafeString = typeof value === 'string' &&
24
+ value.length > 0 &&
25
+ new TextEncoder().encode(value).length <= 64 &&
26
+ // 空白や '#' はシャドーの SK でエスケープされ、'id' を含む値は SK の区切りと紛らわしくなる
27
+ // (extractRecordIds は最後の '#id#' で分けるが、念のため避ける)
28
+ !/[\s#]/.test(value) &&
29
+ value !== 'id' &&
30
+ !/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}/.test(value);
31
+ return isPlainField && isSafeString ? key : 'id';
32
+ }
33
+ //# sourceMappingURL=scanSort.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scanSort.js","sourceRoot":"","sources":["../../../src/shared/utils/scanSort.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAA+B;IACjE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IACnB,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,MAAM,YAAY,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,IAAI,CAAC;IAC9E,MAAM,YAAY,GAChB,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,CAAC,MAAM,GAAG,CAAC;QAChB,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,IAAI,EAAE;QAC5C,wDAAwD;QACxD,+CAA+C;QAC/C,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;QACpB,KAAK,KAAK,IAAI;QACd,CAAC,sCAAsC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtD,OAAO,YAAY,IAAI,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AACnD,CAAC"}
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@exabugs/dynamodb-client",
3
- "version": "1.9.0",
3
+ "version": "1.10.0",
4
4
  "description": "DynamoDB Single-Table Client SDK with MongoDB-like API, Shadow Records, and Lambda implementation for serverless applications",
5
5
  "author": "exabugs",
6
6
  "license": "MIT",