@exabugs/dynamodb-client 0.9.3 → 1.0.1
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/CHANGELOG.md +81 -0
- package/dist/integrations/react-admin/dataProvider.d.ts.map +1 -1
- package/dist/integrations/react-admin/dataProvider.js +18 -6
- package/dist/integrations/react-admin/dataProvider.js.map +1 -1
- package/dist/scripts/utils/repairUtils.js +1 -1
- package/dist/scripts/utils/repairUtils.js.map +1 -1
- package/dist/server/handler.cjs +7 -7
- package/dist/server/handler.cjs.map +2 -2
- package/dist/server/operations/parameterConverter.d.ts +2 -2
- package/dist/server/operations/parameterConverter.d.ts.map +1 -1
- package/dist/server/operations/parameterConverter.js +13 -7
- package/dist/server/operations/parameterConverter.js.map +1 -1
- package/dist/server/query/converter.js +28 -17
- package/dist/server/query/converter.js.map +1 -1
- package/dist/shared/types/index.d.ts +31 -31
- package/dist/shared/types/index.d.ts.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,87 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [1.0.1] - 2025-12-31
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
|
|
14
|
+
- **react-admin統合**: `convertFilter`関数が演算子に`$`プレフィックスを追加するように修正
|
|
15
|
+
- react-adminから送信される`{id: {in: [...]}}`を`{id: {$in: [...]}}`に自動変換
|
|
16
|
+
- `update`、`delete`、`getList`、`getManyReference`操作で正しくフィルタが適用されるように修正
|
|
17
|
+
- dynamodb-client 1.0.0のMongoDB互換性向上に対応
|
|
18
|
+
|
|
19
|
+
## [1.0.0] - 2025-01-01
|
|
20
|
+
|
|
21
|
+
### BREAKING CHANGES
|
|
22
|
+
|
|
23
|
+
- **MongoDB互換性向上**: すべての操作オペレータに `$` プレフィックスを追加
|
|
24
|
+
- **フィルタ演算子**: `eq` → `$eq`, `gt` → `$gt`, `gte` → `$gte`, `lt` → `$lt`, `lte` → `$lte`, `in` → `$in`, `nin` → `$nin`, `exists` → `$exists`, `regex` → `$regex`, `ne` → `$ne`
|
|
25
|
+
- **更新演算子**: `set` → `$set`, `unset` → `$unset`, `inc` → `$inc`
|
|
26
|
+
- **論理演算子**: `and` → `$and`, `or` → `$or`
|
|
27
|
+
- MongoDBの公式ドキュメントと完全に一致する構文を採用
|
|
28
|
+
- TypeScriptコンパイラが自動的にエラーを検出するため、移行は比較的容易
|
|
29
|
+
|
|
30
|
+
### Migration Guide
|
|
31
|
+
|
|
32
|
+
v0.xからv1.0.0へのアップグレードには、既存コードの更新が必要です。詳細なマイグレーションガイドは [docs/MIGRATION_v1.md](./docs/MIGRATION_v1.md) を参照してください。
|
|
33
|
+
|
|
34
|
+
**主な変更点**:
|
|
35
|
+
|
|
36
|
+
```typescript
|
|
37
|
+
// v0.x(旧)
|
|
38
|
+
collection.find({ age: { gte: 18 } });
|
|
39
|
+
collection.updateOne({ id: '123' }, { set: { name: 'John' } });
|
|
40
|
+
|
|
41
|
+
// v1.0.0(新)
|
|
42
|
+
collection.find({ age: { $gte: 18 } });
|
|
43
|
+
collection.updateOne({ id: '123' }, { $set: { name: 'John' } });
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
**自動マイグレーション**:
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
# 一括置換(推奨)
|
|
50
|
+
find src -name "*.ts" -type f -exec sed -i '' \
|
|
51
|
+
-e 's/{ eq:/{ $eq:/g' \
|
|
52
|
+
-e 's/{ gt:/{ $gt:/g' \
|
|
53
|
+
-e 's/{ gte:/{ $gte:/g' \
|
|
54
|
+
-e 's/{ lt:/{ $lt:/g' \
|
|
55
|
+
-e 's/{ lte:/{ $lte:/g' \
|
|
56
|
+
-e 's/{ in:/{ $in:/g' \
|
|
57
|
+
-e 's/{ nin:/{ $nin:/g' \
|
|
58
|
+
-e 's/{ exists:/{ $exists:/g' \
|
|
59
|
+
-e 's/{ regex:/{ $regex:/g' \
|
|
60
|
+
-e 's/{ ne:/{ $ne:/g' \
|
|
61
|
+
-e 's/{ set:/{ $set:/g' \
|
|
62
|
+
-e 's/{ unset:/{ $unset:/g' \
|
|
63
|
+
-e 's/{ inc:/{ $inc:/g' \
|
|
64
|
+
-e 's/{ and:/{ $and:/g' \
|
|
65
|
+
-e 's/{ or:/{ $or:/g' \
|
|
66
|
+
{} +
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### Benefits
|
|
70
|
+
|
|
71
|
+
- **MongoDB互換性**: MongoDBの公式ドキュメントと完全に一致
|
|
72
|
+
- **学習コスト削減**: MongoDB経験者が即座に使用可能
|
|
73
|
+
- **エコシステム統合**: MongoDB関連ツールとの統合が容易
|
|
74
|
+
- **明確な意図**: `$` プレフィックスにより演算子であることが明確
|
|
75
|
+
- **将来の拡張性**: MongoDB互換の新しい演算子を追加しやすい
|
|
76
|
+
|
|
77
|
+
### Changed
|
|
78
|
+
|
|
79
|
+
- **型定義**: `FilterOperators`, `UpdateOperators`, `Filter` 型を更新
|
|
80
|
+
- **サーバー側**: クエリ変換と更新演算子処理を更新
|
|
81
|
+
- **クライアント側**: `Collection` と `FindCursor` の実装を更新
|
|
82
|
+
- **react-admin統合**: データプロバイダーを更新
|
|
83
|
+
- **テスト**: すべてのテストケース(314件)を更新し、全テストが通過
|
|
84
|
+
|
|
85
|
+
### Documentation
|
|
86
|
+
|
|
87
|
+
- **マイグレーションガイド**: 詳細な移行手順を `docs/MIGRATION_v1.md` に追加
|
|
88
|
+
- **APIリファレンス**: `docs/API.md` のオペレータ一覧を更新
|
|
89
|
+
- **使用例**: すべてのコード例を新しい構文に更新
|
|
90
|
+
|
|
10
91
|
## [0.9.3] - 2024-12-31
|
|
11
92
|
|
|
12
93
|
### Fixed
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataProvider.d.ts","sourceRoot":"","sources":["../../../src/integrations/react-admin/dataProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAI3C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"dataProvider.d.ts","sourceRoot":"","sources":["../../../src/integrations/react-admin/dataProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAI3C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAyFtD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,mBAAmB,GAAG,YAAY,CAgV7E"}
|
|
@@ -34,6 +34,11 @@ import { DynamoClient } from '../../client/index.cognito.js';
|
|
|
34
34
|
/**
|
|
35
35
|
* react-adminのフィルタをDynamoDB Client SDKのFilter型に変換
|
|
36
36
|
*
|
|
37
|
+
* dynamodb-client 1.0.0 では、すべての演算子に $ プレフィックスが必要です。
|
|
38
|
+
* react-admin は演算子を $ なしで送信するため、ここで変換します。
|
|
39
|
+
*
|
|
40
|
+
* 例: {id: {in: [...]}} → {id: {$in: [...]}}
|
|
41
|
+
*
|
|
37
42
|
* @param filter - react-adminのフィルタオブジェクト
|
|
38
43
|
* @returns DynamoDB Client SDKのFilter型
|
|
39
44
|
*/
|
|
@@ -42,7 +47,14 @@ function convertFilter(filter) {
|
|
|
42
47
|
for (const [key, value] of Object.entries(filter)) {
|
|
43
48
|
// 値がオブジェクトの場合、演算子として扱う
|
|
44
49
|
if (value && typeof value === 'object' && !Array.isArray(value)) {
|
|
45
|
-
|
|
50
|
+
// ネストされたオブジェクト(演算子を含む可能性)
|
|
51
|
+
const nested = {};
|
|
52
|
+
for (const [nestedKey, nestedValue] of Object.entries(value)) {
|
|
53
|
+
// 演算子名に $ プレフィックスを追加(既に $ がある場合はスキップ)
|
|
54
|
+
const operatorKey = nestedKey.startsWith('$') ? nestedKey : `$${nestedKey}`;
|
|
55
|
+
nested[operatorKey] = nestedValue;
|
|
56
|
+
}
|
|
57
|
+
converted[key] = nested;
|
|
46
58
|
}
|
|
47
59
|
else {
|
|
48
60
|
// 単純な値の場合、等価比較として扱う
|
|
@@ -202,7 +214,7 @@ export function createDataProvider(options) {
|
|
|
202
214
|
const collection = db.collection(resource);
|
|
203
215
|
// IDの配列でレコードを検索(デフォルトソートを指定)
|
|
204
216
|
const items = await collection
|
|
205
|
-
.find({ id: { in: params.ids.map(String) } })
|
|
217
|
+
.find({ id: { $in: params.ids.map(String) } })
|
|
206
218
|
.sort({ id: 'asc' })
|
|
207
219
|
.toArray();
|
|
208
220
|
return { data: items };
|
|
@@ -280,7 +292,7 @@ export function createDataProvider(options) {
|
|
|
280
292
|
const collection = db.collection(resource);
|
|
281
293
|
// レコードを更新
|
|
282
294
|
await collection.updateOne({ id: String(params.id) }, {
|
|
283
|
-
set: params.data,
|
|
295
|
+
$set: params.data,
|
|
284
296
|
});
|
|
285
297
|
// 更新されたレコードを取得して返却(デフォルトソートを指定)
|
|
286
298
|
const items = await collection
|
|
@@ -304,8 +316,8 @@ export function createDataProvider(options) {
|
|
|
304
316
|
const db = client.db();
|
|
305
317
|
const collection = db.collection(resource);
|
|
306
318
|
// 複数レコードを更新
|
|
307
|
-
await collection.updateMany({ id: { in: params.ids.map(String) } }, {
|
|
308
|
-
set: params.data,
|
|
319
|
+
await collection.updateMany({ id: { $in: params.ids.map(String) } }, {
|
|
320
|
+
$set: params.data,
|
|
309
321
|
});
|
|
310
322
|
// react-adminは更新されたIDの配列を期待
|
|
311
323
|
return { data: params.ids.map(String) };
|
|
@@ -350,7 +362,7 @@ export function createDataProvider(options) {
|
|
|
350
362
|
const db = client.db();
|
|
351
363
|
const collection = db.collection(resource);
|
|
352
364
|
// 複数レコードを削除
|
|
353
|
-
await collection.deleteMany({ id: { in: params.ids.map(String) } });
|
|
365
|
+
await collection.deleteMany({ id: { $in: params.ids.map(String) } });
|
|
354
366
|
// react-adminは削除されたIDの配列を期待
|
|
355
367
|
return { data: params.ids.map(String) };
|
|
356
368
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataProvider.js","sourceRoot":"","sources":["../../../src/integrations/react-admin/dataProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAsBH,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAI7D
|
|
1
|
+
{"version":3,"file":"dataProvider.js","sourceRoot":"","sources":["../../../src/integrations/react-admin/dataProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,7 +21,7 @@ export async function checkShadowIntegrity() {
|
|
|
21
21
|
*/
|
|
22
22
|
export async function repairRecordViaDynamoClient(collection, recordId) {
|
|
23
23
|
// updateOneを呼び出すと、Records Lambdaと同じロジックでシャドーレコードが再生成される
|
|
24
|
-
await collection.updateOne({ id: recordId }, { set: { updatedAt: new Date().toISOString() } });
|
|
24
|
+
await collection.updateOne({ id: recordId }, { $set: { updatedAt: new Date().toISOString() } });
|
|
25
25
|
}
|
|
26
26
|
/**
|
|
27
27
|
* 修復統計情報を表示する
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repairUtils.js","sourceRoot":"","sources":["../../../src/scripts/utils/repairUtils.ts"],"names":[],"mappings":"AA2BA;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB;IACxC,+CAA+C;IAC/C,OAAO;QACL,WAAW,EAAE,IAAI;QACjB,cAAc,EAAE,CAAC;QACjB,YAAY,EAAE,CAAC;KAChB,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,UAA4E,EAC5E,QAAgB;IAEhB,wDAAwD;IACxD,MAAM,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"repairUtils.js","sourceRoot":"","sources":["../../../src/scripts/utils/repairUtils.ts"],"names":[],"mappings":"AA2BA;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB;IACxC,+CAA+C;IAC/C,OAAO;QACL,WAAW,EAAE,IAAI;QACjB,cAAc,EAAE,CAAC;QACjB,YAAY,EAAE,CAAC;KAChB,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,UAA4E,EAC5E,QAAgB;IAEhB,wDAAwD;IACxD,MAAM,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;AAClG,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAkB;IACrD,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACzC,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC3C,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAEvC,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACzB,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;YACrC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,KAAK,EAAE,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,KAAa,GAAG;IACrD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC1D,CAAC"}
|
package/dist/server/handler.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
// @exabugs/dynamodb-client
|
|
2
|
-
// Built: 2025-12-
|
|
1
|
+
// @exabugs/dynamodb-client v1.0.1
|
|
2
|
+
// Built: 2025-12-31T00:03:34.539Z
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
|
5
5
|
var __defProp = Object.defineProperty;
|
|
@@ -31267,7 +31267,7 @@ function convertFindOneParams(mongoParams) {
|
|
|
31267
31267
|
__name(convertFindOneParams, "convertFindOneParams");
|
|
31268
31268
|
function convertFindManyParams(mongoParams) {
|
|
31269
31269
|
const idFilter = mongoParams.filter?.id;
|
|
31270
|
-
const ids = typeof idFilter === "object" && idFilter !== null && "in" in idFilter ? idFilter
|
|
31270
|
+
const ids = typeof idFilter === "object" && idFilter !== null && "$in" in idFilter ? idFilter.$in || [] : [];
|
|
31271
31271
|
return { ids };
|
|
31272
31272
|
}
|
|
31273
31273
|
__name(convertFindManyParams, "convertFindManyParams");
|
|
@@ -31285,7 +31285,7 @@ function convertUpdateOneParams(mongoParams) {
|
|
|
31285
31285
|
if (!id) {
|
|
31286
31286
|
throw new Error("updateOne requires filter.id");
|
|
31287
31287
|
}
|
|
31288
|
-
const updateData = mongoParams.update && typeof mongoParams.update === "object" ? "set" in mongoParams.update ? mongoParams.update
|
|
31288
|
+
const updateData = mongoParams.update && typeof mongoParams.update === "object" ? "$set" in mongoParams.update ? mongoParams.update.$set || {} : mongoParams.update : {};
|
|
31289
31289
|
return {
|
|
31290
31290
|
id,
|
|
31291
31291
|
data: updateData,
|
|
@@ -31295,8 +31295,8 @@ function convertUpdateOneParams(mongoParams) {
|
|
|
31295
31295
|
__name(convertUpdateOneParams, "convertUpdateOneParams");
|
|
31296
31296
|
function convertUpdateManyParams(mongoParams) {
|
|
31297
31297
|
const idFilter = mongoParams.filter?.id;
|
|
31298
|
-
const ids = typeof idFilter === "object" && idFilter !== null && "in" in idFilter ? idFilter
|
|
31299
|
-
const updateData = mongoParams.update && typeof mongoParams.update === "object" ? "set" in mongoParams.update ? mongoParams.update
|
|
31298
|
+
const ids = typeof idFilter === "object" && idFilter !== null && "$in" in idFilter ? idFilter.$in || [] : [];
|
|
31299
|
+
const updateData = mongoParams.update && typeof mongoParams.update === "object" ? "$set" in mongoParams.update ? mongoParams.update.$set || {} : mongoParams.update : {};
|
|
31300
31300
|
return {
|
|
31301
31301
|
ids,
|
|
31302
31302
|
data: updateData,
|
|
@@ -31314,7 +31314,7 @@ function convertDeleteOneParams(mongoParams) {
|
|
|
31314
31314
|
__name(convertDeleteOneParams, "convertDeleteOneParams");
|
|
31315
31315
|
function convertDeleteManyParams(mongoParams) {
|
|
31316
31316
|
const idFilter = mongoParams.filter?.id;
|
|
31317
|
-
const ids = typeof idFilter === "object" && idFilter !== null && "in" in idFilter ? idFilter
|
|
31317
|
+
const ids = typeof idFilter === "object" && idFilter !== null && "$in" in idFilter ? idFilter.$in || [] : [];
|
|
31318
31318
|
return { ids };
|
|
31319
31319
|
}
|
|
31320
31320
|
__name(convertDeleteManyParams, "convertDeleteManyParams");
|