@exabugs/dynamodb-client 1.3.27 → 1.3.29
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 +20 -0
- package/dist/integrations/react-admin/components/ReferenceManyToManyField.d.ts +3 -0
- package/dist/integrations/react-admin/components/ReferenceManyToManyField.d.ts.map +1 -1
- package/dist/integrations/react-admin/components/ReferenceManyToManyField.js +23 -3
- package/dist/integrations/react-admin/components/ReferenceManyToManyField.js.map +1 -1
- package/dist/integrations/react-admin/components/ReferenceManyToManyInput.d.ts.map +1 -1
- package/dist/integrations/react-admin/components/ReferenceManyToManyInput.js +4 -2
- package/dist/integrations/react-admin/components/ReferenceManyToManyInput.js.map +1 -1
- package/dist/integrations/react-admin/types.d.ts +16 -0
- package/dist/integrations/react-admin/types.d.ts.map +1 -1
- package/dist/server/handler.cjs +6 -3
- package/dist/server/handler.cjs.map +2 -2
- package/dist/server/operations/find/utils.d.ts.map +1 -1
- package/dist/server/operations/find/utils.js +5 -0
- package/dist/server/operations/find/utils.js.map +1 -1
- package/dist/server/utils/filter.d.ts +1 -1
- package/dist/server/utils/filter.d.ts.map +1 -1
- package/dist/server/utils/filter.js +1 -0
- package/dist/server/utils/filter.js.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,26 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [1.3.29] - 2026-01-08
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- **React-Admin多対多関係コンポーネント**: `ReferenceManyToManyField`に`_through`フィールドを追加
|
|
15
|
+
- 各ターゲットレコードに中間テーブルのデータを`_through`フィールドとして追加
|
|
16
|
+
- 中間テーブルのフィールドに直接アクセス可能(例: `source="_through.status"`)
|
|
17
|
+
- N+1問題を解消し、パフォーマンスを向上
|
|
18
|
+
- 使用例: `<StatusField source="_through.status" label="管理者ステータス" />`
|
|
19
|
+
|
|
20
|
+
## [1.3.28] - 2026-01-07
|
|
21
|
+
|
|
22
|
+
### Added
|
|
23
|
+
|
|
24
|
+
- **React-Admin多対多関係コンポーネント**: `ReferenceManyToManyInput`に`filter`プロパティを追加
|
|
25
|
+
- `filter?: Record<string, unknown>`プロパティで任意のフィルター条件を指定可能
|
|
26
|
+
- `$near`オペレータによる地理的近傍探査をサポート
|
|
27
|
+
- 使用例: `filter={{ location: { $near: { latitude: 35.6895, longitude: 139.6917, maxDistance: 5000 } } }}`
|
|
28
|
+
- `ReferenceArrayInput`に透過的に渡され、Records Lambda APIで処理される
|
|
29
|
+
|
|
10
30
|
## [1.3.27] - 2026-01-07
|
|
11
31
|
|
|
12
32
|
### Changed
|
|
@@ -5,6 +5,9 @@ import type { ReferenceManyToManyFieldProps } from '../types.js';
|
|
|
5
5
|
*
|
|
6
6
|
* 多対多関係を表示するためのフィールドコンポーネント。
|
|
7
7
|
* 中間テーブルを経由して関連レコードを取得し、子コンポーネントに渡します。
|
|
8
|
+
*
|
|
9
|
+
* 各ターゲットレコードには `_through` フィールドが追加され、
|
|
10
|
+
* 中間テーブルのデータにアクセスできます。
|
|
8
11
|
*/
|
|
9
12
|
export declare const ReferenceManyToManyField: (props: ReferenceManyToManyFieldProps) => ReactElement;
|
|
10
13
|
//# sourceMappingURL=ReferenceManyToManyField.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReferenceManyToManyField.d.ts","sourceRoot":"","sources":["../../../../src/integrations/react-admin/components/ReferenceManyToManyField.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ReferenceManyToManyField.d.ts","sourceRoot":"","sources":["../../../../src/integrations/react-admin/components/ReferenceManyToManyField.tsx"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAG1C,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,aAAa,CAAC;AAEjE;;;;;;;;GAQG;AACH,eAAO,MAAM,wBAAwB,GAAI,OAAO,6BAA6B,KAAG,YAuK/E,CAAC"}
|
|
@@ -15,6 +15,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
15
15
|
* >
|
|
16
16
|
* <Datagrid>
|
|
17
17
|
* <TextField source="nickname" />
|
|
18
|
+
* <StatusField source="_through.status" label="管理者ステータス" />
|
|
18
19
|
* </Datagrid>
|
|
19
20
|
* </ReferenceManyToManyField>
|
|
20
21
|
* ```
|
|
@@ -26,6 +27,9 @@ import { ListContextProvider, useDataProvider, useRecordContext } from 'react-ad
|
|
|
26
27
|
*
|
|
27
28
|
* 多対多関係を表示するためのフィールドコンポーネント。
|
|
28
29
|
* 中間テーブルを経由して関連レコードを取得し、子コンポーネントに渡します。
|
|
30
|
+
*
|
|
31
|
+
* 各ターゲットレコードには `_through` フィールドが追加され、
|
|
32
|
+
* 中間テーブルのデータにアクセスできます。
|
|
29
33
|
*/
|
|
30
34
|
export const ReferenceManyToManyField = (props) => {
|
|
31
35
|
const { reference, through, using, source = 'id', children, sort = { field: 'id', order: 'ASC' }, } = props;
|
|
@@ -74,8 +78,16 @@ export const ReferenceManyToManyField = (props) => {
|
|
|
74
78
|
setTotal(0);
|
|
75
79
|
return;
|
|
76
80
|
}
|
|
77
|
-
// 2. ターゲットID
|
|
81
|
+
// 2. ターゲットIDを抽出し、中間レコードとのマッピングを作成
|
|
78
82
|
const targetIds = junctionRecords.map((r) => r[targetKey]).filter(Boolean);
|
|
83
|
+
// 中間レコードをターゲットIDでマッピング
|
|
84
|
+
const junctionMap = new Map();
|
|
85
|
+
junctionRecords.forEach((junction) => {
|
|
86
|
+
const targetId = junction[targetKey];
|
|
87
|
+
if (targetId) {
|
|
88
|
+
junctionMap.set(String(targetId), junction);
|
|
89
|
+
}
|
|
90
|
+
});
|
|
79
91
|
if (targetIds.length === 0) {
|
|
80
92
|
setData([]);
|
|
81
93
|
setTotal(0);
|
|
@@ -85,8 +97,16 @@ export const ReferenceManyToManyField = (props) => {
|
|
|
85
97
|
const { data: targetRecords } = await dataProvider.getMany(reference, {
|
|
86
98
|
ids: targetIds,
|
|
87
99
|
});
|
|
88
|
-
|
|
89
|
-
|
|
100
|
+
// 4. ターゲットレコードに中間テーブルのデータを追加
|
|
101
|
+
const enrichedRecords = targetRecords.map((targetRecord) => {
|
|
102
|
+
const junction = junctionMap.get(String(targetRecord.id));
|
|
103
|
+
return {
|
|
104
|
+
...targetRecord,
|
|
105
|
+
_through: junction || null, // 中間テーブルのデータを _through フィールドに追加
|
|
106
|
+
};
|
|
107
|
+
});
|
|
108
|
+
setData(enrichedRecords);
|
|
109
|
+
setTotal(enrichedRecords.length);
|
|
90
110
|
}
|
|
91
111
|
catch (err) {
|
|
92
112
|
// リクエストがキャンセルされた場合はエラーを無視
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReferenceManyToManyField.js","sourceRoot":"","sources":["../../../../src/integrations/react-admin/components/ReferenceManyToManyField.tsx"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"ReferenceManyToManyField.js","sourceRoot":"","sources":["../../../../src/integrations/react-admin/components/ReferenceManyToManyField.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReferenceManyToManyInput.d.ts","sourceRoot":"","sources":["../../../../src/integrations/react-admin/components/ReferenceManyToManyInput.tsx"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAG1C,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,aAAa,CAAC;AAEjE;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,GAAI,OAAO,6BAA6B,KAAG,
|
|
1
|
+
{"version":3,"file":"ReferenceManyToManyInput.d.ts","sourceRoot":"","sources":["../../../../src/integrations/react-admin/components/ReferenceManyToManyInput.tsx"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAG1C,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,aAAa,CAAC;AAEjE;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,GAAI,OAAO,6BAA6B,KAAG,YA+F/E,CAAC"}
|
|
@@ -29,7 +29,9 @@ import { ReferenceArrayInput, useDataProvider, useNotify, useRecordContext } fro
|
|
|
29
29
|
* DataProviderが保存時に自動的に中間テーブルを更新します。
|
|
30
30
|
*/
|
|
31
31
|
export const ReferenceManyToManyInput = (props) => {
|
|
32
|
-
const { reference, through, using, source = 'id', children, label } = props;
|
|
32
|
+
const { reference, through, using, source = 'id', children, label, filter } = props;
|
|
33
|
+
// デバッグ: filterを確認
|
|
34
|
+
console.log('ReferenceManyToManyInput filter:', JSON.stringify(filter, null, 2));
|
|
33
35
|
const record = useRecordContext();
|
|
34
36
|
const dataProvider = useDataProvider();
|
|
35
37
|
const notify = useNotify();
|
|
@@ -99,7 +101,7 @@ export const ReferenceManyToManyInput = (props) => {
|
|
|
99
101
|
}
|
|
100
102
|
// フォーム状態として管理
|
|
101
103
|
// DataProviderのupdateメソッドが自動的に中間テーブルを更新します
|
|
102
|
-
return (_jsx(ReferenceArrayInput, { source: fieldName, reference: reference, label: label, children: cloneElement(children, {
|
|
104
|
+
return (_jsx(ReferenceArrayInput, { source: fieldName, reference: reference, label: label, filter: filter, children: cloneElement(children, {
|
|
103
105
|
defaultValue: initialIds,
|
|
104
106
|
}) }));
|
|
105
107
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReferenceManyToManyInput.js","sourceRoot":"","sources":["../../../../src/integrations/react-admin/components/ReferenceManyToManyInput.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEnE,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAIhG;;;;;GAKG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,KAAoC,EAAgB,EAAE;IAC7F,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"ReferenceManyToManyInput.js","sourceRoot":"","sources":["../../../../src/integrations/react-admin/components/ReferenceManyToManyInput.tsx"],"names":[],"mappings":"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"}
|
|
@@ -100,6 +100,20 @@ export interface ReferenceManyToManyFieldProps {
|
|
|
100
100
|
* <AutocompleteArrayInput optionText="nickname" />
|
|
101
101
|
* </ReferenceManyToManyInput>
|
|
102
102
|
* ```
|
|
103
|
+
*
|
|
104
|
+
* @example
|
|
105
|
+
* ```typescript
|
|
106
|
+
* // filterを使用した例
|
|
107
|
+
* <ReferenceManyToManyInput
|
|
108
|
+
* reference="venues"
|
|
109
|
+
* through="venueManagers"
|
|
110
|
+
* using="userId,venueId"
|
|
111
|
+
* label="管理会場"
|
|
112
|
+
* filter={{ location: { $near: { latitude: 35.6, longitude: 139.7 } } }}
|
|
113
|
+
* >
|
|
114
|
+
* <AutocompleteArrayInput optionText="name" />
|
|
115
|
+
* </ReferenceManyToManyInput>
|
|
116
|
+
* ```
|
|
103
117
|
*/
|
|
104
118
|
export interface ReferenceManyToManyInputProps {
|
|
105
119
|
/** ターゲットリソース名(例: 'users') */
|
|
@@ -114,5 +128,7 @@ export interface ReferenceManyToManyInputProps {
|
|
|
114
128
|
children: React.ReactElement;
|
|
115
129
|
/** ラベル */
|
|
116
130
|
label?: string;
|
|
131
|
+
/** 常に適用されるフィルタ(オプション) */
|
|
132
|
+
filter?: Record<string, unknown>;
|
|
117
133
|
}
|
|
118
134
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/integrations/react-admin/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;;OAKG;IACH,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,kCAAkC;IAClC,MAAM,EAAE,MAAM,CAAC;IAEf,iBAAiB;IACjB,aAAa,EAAE,aAAa,CAAC;IAE7B,oCAAoC;IACpC,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,wCAAwC;IACxC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,qCAAqC;IACrC,gBAAgB,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;CACnC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,6BAA6B;IAC5C,6BAA6B;IAC7B,SAAS,EAAE,MAAM,CAAC;IAElB,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAC;IAEhB,iCAAiC;IACjC,KAAK,EAAE,MAAM,CAAC;IAEd,4BAA4B;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,8BAA8B;IAC9B,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC;IAE7B,UAAU;IACV,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,YAAY;IACZ,IAAI,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAAA;KAAE,CAAC;IAEhD,aAAa;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/integrations/react-admin/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;;OAKG;IACH,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,kCAAkC;IAClC,MAAM,EAAE,MAAM,CAAC;IAEf,iBAAiB;IACjB,aAAa,EAAE,aAAa,CAAC;IAE7B,oCAAoC;IACpC,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,wCAAwC;IACxC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,qCAAqC;IACrC,gBAAgB,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;CACnC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,6BAA6B;IAC5C,6BAA6B;IAC7B,SAAS,EAAE,MAAM,CAAC;IAElB,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAC;IAEhB,iCAAiC;IACjC,KAAK,EAAE,MAAM,CAAC;IAEd,4BAA4B;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,8BAA8B;IAC9B,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC;IAE7B,UAAU;IACV,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,YAAY;IACZ,IAAI,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAAA;KAAE,CAAC;IAEhD,aAAa;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,WAAW,6BAA6B;IAC5C,6BAA6B;IAC7B,SAAS,EAAE,MAAM,CAAC;IAElB,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAC;IAEhB,iCAAiC;IACjC,KAAK,EAAE,MAAM,CAAC;IAEd,4BAA4B;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,4CAA4C;IAC5C,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC;IAE7B,UAAU;IACV,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,yBAAyB;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC"}
|
package/dist/server/handler.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
// @exabugs/dynamodb-client v1.3.
|
|
2
|
-
// Built: 2026-01-
|
|
1
|
+
// @exabugs/dynamodb-client v1.3.29
|
|
2
|
+
// Built: 2026-01-08T03:20:50.380Z
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
|
5
5
|
var __defProp = Object.defineProperty;
|
|
@@ -30260,6 +30260,7 @@ function isValidOperator(operator) {
|
|
|
30260
30260
|
"$starts",
|
|
30261
30261
|
"$ends",
|
|
30262
30262
|
"$contains",
|
|
30263
|
+
"$regex",
|
|
30263
30264
|
"$exists",
|
|
30264
30265
|
"$near"
|
|
30265
30266
|
].includes(operator);
|
|
@@ -30352,6 +30353,8 @@ function matchesAllFilters(record, parsedFilters) {
|
|
|
30352
30353
|
return typeof recordValue === "string" && typeof filterValue === "string" && recordValue.endsWith(filterValue);
|
|
30353
30354
|
case "$contains":
|
|
30354
30355
|
return typeof recordValue === "string" && typeof filterValue === "string" && recordValue.includes(filterValue);
|
|
30356
|
+
case "$regex":
|
|
30357
|
+
return typeof recordValue === "string" && typeof filterValue === "string" && recordValue.includes(filterValue);
|
|
30355
30358
|
case "$exists":
|
|
30356
30359
|
return filterValue ? recordValue !== void 0 && recordValue !== null : recordValue === void 0 || recordValue === null;
|
|
30357
30360
|
default:
|
|
@@ -33467,7 +33470,7 @@ async function handler(event) {
|
|
|
33467
33470
|
return createCorsResponse(HTTP_STATUS.OK);
|
|
33468
33471
|
}
|
|
33469
33472
|
if (event.requestContext.http.method === "GET" && event.requestContext.http.path === "/version") {
|
|
33470
|
-
const version = "1.3.
|
|
33473
|
+
const version = "1.3.29";
|
|
33471
33474
|
return createSuccessResponse({ version, timestamp: (/* @__PURE__ */ new Date()).toISOString() }, requestId);
|
|
33472
33475
|
}
|
|
33473
33476
|
if (event.requestContext.http.method !== "POST") {
|