@exabugs/dynamodb-client 1.4.17 → 1.5.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.
Files changed (45) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/client/FindCursor.d.ts +29 -0
  3. package/dist/client/FindCursor.d.ts.map +1 -1
  4. package/dist/client/FindCursor.js +48 -0
  5. package/dist/client/FindCursor.js.map +1 -1
  6. package/dist/integrations/react-admin/components/ReferenceManyToMany/ReferenceManyToManyField.d.ts +4 -0
  7. package/dist/integrations/react-admin/components/ReferenceManyToMany/ReferenceManyToManyField.d.ts.map +1 -0
  8. package/dist/integrations/react-admin/components/ReferenceManyToMany/ReferenceManyToManyField.js +49 -0
  9. package/dist/integrations/react-admin/components/ReferenceManyToMany/ReferenceManyToManyField.js.map +1 -0
  10. package/dist/integrations/react-admin/components/ReferenceManyToMany/ReferenceManyToManyInput.d.ts +4 -0
  11. package/dist/integrations/react-admin/components/ReferenceManyToMany/ReferenceManyToManyInput.d.ts.map +1 -0
  12. package/dist/integrations/react-admin/components/ReferenceManyToMany/ReferenceManyToManyInput.js +34 -0
  13. package/dist/integrations/react-admin/components/ReferenceManyToMany/ReferenceManyToManyInput.js.map +1 -0
  14. package/dist/integrations/react-admin/components/ReferenceManyToMany/index.d.ts +4 -0
  15. package/dist/integrations/react-admin/components/ReferenceManyToMany/index.d.ts.map +1 -0
  16. package/dist/integrations/react-admin/components/ReferenceManyToMany/index.js +3 -0
  17. package/dist/integrations/react-admin/components/ReferenceManyToMany/index.js.map +1 -0
  18. package/dist/integrations/react-admin/components/ReferenceManyToMany/types.d.ts +53 -0
  19. package/dist/integrations/react-admin/components/ReferenceManyToMany/types.d.ts.map +1 -0
  20. package/dist/integrations/react-admin/components/ReferenceManyToMany/types.js +33 -0
  21. package/dist/integrations/react-admin/components/ReferenceManyToMany/types.js.map +1 -0
  22. package/dist/integrations/react-admin/components/index.d.ts +1 -2
  23. package/dist/integrations/react-admin/components/index.d.ts.map +1 -1
  24. package/dist/integrations/react-admin/components/index.js +1 -2
  25. package/dist/integrations/react-admin/components/index.js.map +1 -1
  26. package/dist/integrations/react-admin/dataProvider.js +6 -6
  27. package/dist/scripts/operations/bulkRecordRepair.js +1 -2
  28. package/dist/scripts/operations/bulkRecordRepair.js.map +1 -1
  29. package/dist/server/handler.cjs +194 -36
  30. package/dist/server/handler.cjs.map +3 -3
  31. package/dist/server/operations/find/idQuery.d.ts.map +1 -1
  32. package/dist/server/operations/find/idQuery.js +104 -1
  33. package/dist/server/operations/find/idQuery.js.map +1 -1
  34. package/dist/server/operations/find/shadowQuery.d.ts.map +1 -1
  35. package/dist/server/operations/find/shadowQuery.js +140 -30
  36. package/dist/server/operations/find/shadowQuery.js.map +1 -1
  37. package/package.json +1 -1
  38. package/dist/integrations/react-admin/components/ReferenceManyToManyField.d.ts +0 -13
  39. package/dist/integrations/react-admin/components/ReferenceManyToManyField.d.ts.map +0 -1
  40. package/dist/integrations/react-admin/components/ReferenceManyToManyField.js +0 -171
  41. package/dist/integrations/react-admin/components/ReferenceManyToManyField.js.map +0 -1
  42. package/dist/integrations/react-admin/components/ReferenceManyToManyInput.d.ts +0 -41
  43. package/dist/integrations/react-admin/components/ReferenceManyToManyInput.d.ts.map +0 -1
  44. package/dist/integrations/react-admin/components/ReferenceManyToManyInput.js +0 -119
  45. package/dist/integrations/react-admin/components/ReferenceManyToManyInput.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"ReferenceManyToManyField.js","sourceRoot":"","sources":["../../../../src/integrations/react-admin/components/ReferenceManyToManyField.tsx"],"names":[],"mappings":"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"}
@@ -1,41 +0,0 @@
1
- /**
2
- * ReferenceManyToManyInput - 多対多関係編集コンポーネント
3
- *
4
- * 中間テーブルを経由して関連レコードを編集します。
5
- * React-Admin Enterprise Editionを使用せずに多対多関係をサポートします。
6
- *
7
- * **重要**: このコンポーネントはフォーム保存時に自動的に中間テーブルを更新します。
8
- * DataProviderが自動的に処理するため、transform関数を書く必要はありません。
9
- *
10
- * NOTE: react-adminの型定義による any の使用
11
- *
12
- * このファイルでは、react-adminのDataProviderとコンポーネントの型定義の制約により、
13
- * 一部で any 型を使用しています。これはreact-adminの設計上の制約です。
14
- *
15
- * 実行時の型安全性は以下により確保されています:
16
- * 1. DataProviderのgetListメソッドは中間テーブルのレコードを返す
17
- * 2. cloneElementのpropsはreact-adminの標準プロパティ
18
- * 3. 実際のデータ型は実行時に検証される
19
- *
20
- * @example
21
- * ```typescript
22
- * <ReferenceManyToManyInput
23
- * reference="users"
24
- * through="venueManagers"
25
- * using="venueId,userId"
26
- * label="管理者"
27
- * >
28
- * <AutocompleteArrayInput optionText="nickname" />
29
- * </ReferenceManyToManyInput>
30
- * ```
31
- */
32
- import type { ReactElement } from 'react';
33
- import type { ReferenceManyToManyInputProps } from '../types.js';
34
- /**
35
- * ReferenceManyToManyInput コンポーネント
36
- *
37
- * 多対多関係を編集するための入力コンポーネント。
38
- * DataProviderが保存時に自動的に中間テーブルを更新します。
39
- */
40
- export declare const ReferenceManyToManyInput: (props: ReferenceManyToManyInputProps) => ReactElement;
41
- //# sourceMappingURL=ReferenceManyToManyInput.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ReferenceManyToManyInput.d.ts","sourceRoot":"","sources":["../../../../src/integrations/react-admin/components/ReferenceManyToManyInput.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAIH,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"}
@@ -1,119 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- /**
3
- * ReferenceManyToManyInput - 多対多関係編集コンポーネント
4
- *
5
- * 中間テーブルを経由して関連レコードを編集します。
6
- * React-Admin Enterprise Editionを使用せずに多対多関係をサポートします。
7
- *
8
- * **重要**: このコンポーネントはフォーム保存時に自動的に中間テーブルを更新します。
9
- * DataProviderが自動的に処理するため、transform関数を書く必要はありません。
10
- *
11
- * NOTE: react-adminの型定義による any の使用
12
- *
13
- * このファイルでは、react-adminのDataProviderとコンポーネントの型定義の制約により、
14
- * 一部で any 型を使用しています。これはreact-adminの設計上の制約です。
15
- *
16
- * 実行時の型安全性は以下により確保されています:
17
- * 1. DataProviderのgetListメソッドは中間テーブルのレコードを返す
18
- * 2. cloneElementのpropsはreact-adminの標準プロパティ
19
- * 3. 実際のデータ型は実行時に検証される
20
- *
21
- * @example
22
- * ```typescript
23
- * <ReferenceManyToManyInput
24
- * reference="users"
25
- * through="venueManagers"
26
- * using="venueId,userId"
27
- * label="管理者"
28
- * >
29
- * <AutocompleteArrayInput optionText="nickname" />
30
- * </ReferenceManyToManyInput>
31
- * ```
32
- */
33
- /* eslint-disable @typescript-eslint/no-explicit-any */
34
- import { cloneElement, useEffect, useMemo, useState } from 'react';
35
- import { ReferenceArrayInput, useDataProvider, useNotify, useRecordContext } from 'react-admin';
36
- /**
37
- * ReferenceManyToManyInput コンポーネント
38
- *
39
- * 多対多関係を編集するための入力コンポーネント。
40
- * DataProviderが保存時に自動的に中間テーブルを更新します。
41
- */
42
- export const ReferenceManyToManyInput = (props) => {
43
- const { reference, through, using, source = 'id', children, label, filter } = props;
44
- // デバッグ: filterを確認
45
- console.log('ReferenceManyToManyInput filter:', JSON.stringify(filter, null, 2));
46
- const record = useRecordContext();
47
- const dataProvider = useDataProvider();
48
- const notify = useNotify();
49
- const [initialIds, setInitialIds] = useState([]);
50
- const [loading, setLoading] = useState(true);
51
- const [error, setError] = useState(null);
52
- // usingプロパティをパース
53
- const keys = using.split(',').map((k) => k.trim());
54
- if (keys.length !== 2) {
55
- throw new Error(`Invalid using format: "${using}". Expected "sourceKey,targetKey"`);
56
- }
57
- const [sourceKey, targetKey] = keys;
58
- // recordIdを安定した値として取得
59
- const recordId = useMemo(() => record?.[source], [record, source]);
60
- // フィールド名を特殊な形式にして、DataProviderで識別できるようにする
61
- // フォーマット: __manyToMany_{through}_{sourceKey}_{targetKey}
62
- const fieldName = `__manyToMany_${through}_${sourceKey}_${targetKey}`;
63
- // 初期値を取得(マウント時またはrecordIdが変わった時のみ)
64
- useEffect(() => {
65
- if (!recordId) {
66
- setLoading(false);
67
- setInitialIds([]);
68
- return;
69
- }
70
- const controller = new AbortController();
71
- const fetchCurrentRelations = async () => {
72
- try {
73
- setLoading(true);
74
- setError(null);
75
- const sourceId = recordId;
76
- if (!sourceId) {
77
- throw new Error(`Source field "${source}" not found in record`);
78
- }
79
- // 現在の関連を取得
80
- const { data: junctionRecords } = await dataProvider.getList(through, {
81
- filter: { [sourceKey]: sourceId },
82
- pagination: { page: 1, perPage: 1000 },
83
- sort: { field: 'id', order: 'ASC' },
84
- });
85
- const ids = junctionRecords.map((r) => r[targetKey]).filter(Boolean);
86
- setInitialIds(ids);
87
- }
88
- catch (err) {
89
- if (controller.signal.aborted) {
90
- return;
91
- }
92
- setError(err);
93
- notify(`関連の取得に失敗しました: ${err.message}`, { type: 'error' });
94
- setInitialIds([]);
95
- }
96
- finally {
97
- setLoading(false);
98
- }
99
- };
100
- fetchCurrentRelations();
101
- return () => {
102
- controller.abort();
103
- };
104
- }, [recordId, through, using]);
105
- // ローディング中
106
- if (loading) {
107
- return _jsx("div", { children: "\u8AAD\u307F\u8FBC\u307F\u4E2D..." });
108
- }
109
- // エラー発生時
110
- if (error) {
111
- return _jsxs("div", { children: ["\u30A8\u30E9\u30FC: ", error.message] });
112
- }
113
- // フォーム状態として管理
114
- // DataProviderのupdateメソッドが自動的に中間テーブルを更新します
115
- return (_jsx(ReferenceArrayInput, { source: fieldName, reference: reference, label: label, filter: filter, children: cloneElement(children, {
116
- defaultValue: initialIds,
117
- }) }));
118
- };
119
- //# sourceMappingURL=ReferenceManyToManyInput.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ReferenceManyToManyInput.js","sourceRoot":"","sources":["../../../../src/integrations/react-admin/components/ReferenceManyToManyInput.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,uDAAuD;AACvD,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,MAAM,EAAE,GAAG,KAAK,CAAC;IAEpF,kBAAkB;IAClB,OAAO,CAAC,GAAG,CAAC,kCAAkC,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAEjF,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;IAClC,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IACvC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAW,EAAE,CAAC,CAAC;IAC3D,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAe,IAAI,CAAC,CAAC;IAEvD,iBAAiB;IACjB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACnD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,0BAA0B,KAAK,mCAAmC,CAAC,CAAC;IACtF,CAAC;IACD,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC;IAEpC,sBAAsB;IACtB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAEnE,0CAA0C;IAC1C,yDAAyD;IACzD,MAAM,SAAS,GAAG,gBAAgB,OAAO,IAAI,SAAS,IAAI,SAAS,EAAE,CAAC;IAEtE,mCAAmC;IACnC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,UAAU,CAAC,KAAK,CAAC,CAAC;YAClB,aAAa,CAAC,EAAE,CAAC,CAAC;YAClB,OAAO;QACT,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QAEzC,MAAM,qBAAqB,GAAG,KAAK,IAAI,EAAE;YACvC,IAAI,CAAC;gBACH,UAAU,CAAC,IAAI,CAAC,CAAC;gBACjB,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAEf,MAAM,QAAQ,GAAG,QAAQ,CAAC;gBAC1B,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,MAAM,IAAI,KAAK,CAAC,iBAAiB,MAAM,uBAAuB,CAAC,CAAC;gBAClE,CAAC;gBAED,WAAW;gBACX,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE;oBACpE,MAAM,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE;oBACjC,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE;oBACtC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE;iBACpC,CAAC,CAAC;gBAEH,MAAM,GAAG,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAC1E,aAAa,CAAC,GAAG,CAAC,CAAC;YACrB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBAC9B,OAAO;gBACT,CAAC;gBAED,QAAQ,CAAC,GAAY,CAAC,CAAC;gBACvB,MAAM,CAAC,iBAAkB,GAAa,CAAC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;gBACrE,aAAa,CAAC,EAAE,CAAC,CAAC;YACpB,CAAC;oBAAS,CAAC;gBACT,UAAU,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;QACH,CAAC,CAAC;QAEF,qBAAqB,EAAE,CAAC;QAExB,OAAO,GAAG,EAAE;YACV,UAAU,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IAE/B,UAAU;IACV,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,8DAAmB,CAAC;IAC7B,CAAC;IAED,SAAS;IACT,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,kDAAW,KAAK,CAAC,OAAO,IAAO,CAAC;IACzC,CAAC;IAED,cAAc;IACd,2CAA2C;IAC3C,OAAO,CACL,KAAC,mBAAmB,IAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,YACvF,YAAY,CAAC,QAAQ,EAAE;YACtB,YAAY,EAAE,UAAU;SAClB,CAAC,GACW,CACvB,CAAC;AACJ,CAAC,CAAC"}