@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.
- package/CHANGELOG.md +11 -0
- package/dist/client/FindCursor.d.ts +29 -0
- package/dist/client/FindCursor.d.ts.map +1 -1
- package/dist/client/FindCursor.js +48 -0
- package/dist/client/FindCursor.js.map +1 -1
- package/dist/integrations/react-admin/components/ReferenceManyToMany/ReferenceManyToManyField.d.ts +4 -0
- package/dist/integrations/react-admin/components/ReferenceManyToMany/ReferenceManyToManyField.d.ts.map +1 -0
- package/dist/integrations/react-admin/components/ReferenceManyToMany/ReferenceManyToManyField.js +49 -0
- package/dist/integrations/react-admin/components/ReferenceManyToMany/ReferenceManyToManyField.js.map +1 -0
- package/dist/integrations/react-admin/components/ReferenceManyToMany/ReferenceManyToManyInput.d.ts +4 -0
- package/dist/integrations/react-admin/components/ReferenceManyToMany/ReferenceManyToManyInput.d.ts.map +1 -0
- package/dist/integrations/react-admin/components/ReferenceManyToMany/ReferenceManyToManyInput.js +34 -0
- package/dist/integrations/react-admin/components/ReferenceManyToMany/ReferenceManyToManyInput.js.map +1 -0
- package/dist/integrations/react-admin/components/ReferenceManyToMany/index.d.ts +4 -0
- package/dist/integrations/react-admin/components/ReferenceManyToMany/index.d.ts.map +1 -0
- package/dist/integrations/react-admin/components/ReferenceManyToMany/index.js +3 -0
- package/dist/integrations/react-admin/components/ReferenceManyToMany/index.js.map +1 -0
- package/dist/integrations/react-admin/components/ReferenceManyToMany/types.d.ts +53 -0
- package/dist/integrations/react-admin/components/ReferenceManyToMany/types.d.ts.map +1 -0
- package/dist/integrations/react-admin/components/ReferenceManyToMany/types.js +33 -0
- package/dist/integrations/react-admin/components/ReferenceManyToMany/types.js.map +1 -0
- package/dist/integrations/react-admin/components/index.d.ts +1 -2
- package/dist/integrations/react-admin/components/index.d.ts.map +1 -1
- package/dist/integrations/react-admin/components/index.js +1 -2
- package/dist/integrations/react-admin/components/index.js.map +1 -1
- package/dist/integrations/react-admin/dataProvider.js +6 -6
- package/dist/scripts/operations/bulkRecordRepair.js +1 -2
- package/dist/scripts/operations/bulkRecordRepair.js.map +1 -1
- package/dist/server/handler.cjs +194 -36
- package/dist/server/handler.cjs.map +3 -3
- package/dist/server/operations/find/idQuery.d.ts.map +1 -1
- package/dist/server/operations/find/idQuery.js +104 -1
- package/dist/server/operations/find/idQuery.js.map +1 -1
- package/dist/server/operations/find/shadowQuery.d.ts.map +1 -1
- package/dist/server/operations/find/shadowQuery.js +140 -30
- package/dist/server/operations/find/shadowQuery.js.map +1 -1
- package/package.json +1 -1
- package/dist/integrations/react-admin/components/ReferenceManyToManyField.d.ts +0 -13
- package/dist/integrations/react-admin/components/ReferenceManyToManyField.d.ts.map +0 -1
- package/dist/integrations/react-admin/components/ReferenceManyToManyField.js +0 -171
- package/dist/integrations/react-admin/components/ReferenceManyToManyField.js.map +0 -1
- package/dist/integrations/react-admin/components/ReferenceManyToManyInput.d.ts +0 -41
- package/dist/integrations/react-admin/components/ReferenceManyToManyInput.d.ts.map +0 -1
- package/dist/integrations/react-admin/components/ReferenceManyToManyInput.js +0 -119
- package/dist/integrations/react-admin/components/ReferenceManyToManyInput.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [1.5.0] - 2026-08-23
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- `FindCursor.toArrayAll()` を追加。`nextToken` を内部で自動的に辿り、条件に一致する全件を取得する
|
|
15
|
+
- `toArray()` は引き続き1ページ分(デフォルト・最大50件)のみを返す(後方互換)
|
|
16
|
+
- 大量データに対する安全弁として、既定で最大200ページ(1万件)まで取得したら打ち切り警告を出力
|
|
17
|
+
- 背景: `toArray()` を1回呼ぶだけでは51件目以降が静かに切り捨てられるため、呼び出し側が手動で
|
|
18
|
+
`nextToken` をループする必要があった。この誤用パターンが複数の利用側アプリで繰り返し発生していた
|
|
19
|
+
- `src/scripts/operations/bulkRecordRepair.ts` の `fetchAllRecords()` もこの新APIに置き換え
|
|
20
|
+
|
|
10
21
|
## [1.4.2] - 2026-03-14
|
|
11
22
|
|
|
12
23
|
### Fixed
|
|
@@ -195,5 +195,34 @@ export declare class FindCursor<TSchema extends {
|
|
|
195
195
|
* ```
|
|
196
196
|
*/
|
|
197
197
|
getConsumedCapacity(): Promise<AggregatedCost | undefined>;
|
|
198
|
+
/**
|
|
199
|
+
* 全ページを自動的に辿り、条件に一致するすべてのドキュメントを取得
|
|
200
|
+
*
|
|
201
|
+
* `toArray()` は1ページ分(デフォルト50件、最大50件)しか返さず、
|
|
202
|
+
* `nextToken` を辿るかどうかは呼び出し側の責任です。
|
|
203
|
+
* `toArrayAll()` は内部で `nextToken` が無くなるまでページを取得し続け、
|
|
204
|
+
* 全件をまとめて返します。
|
|
205
|
+
*
|
|
206
|
+
* このメソッドの前に呼ばれた `limit()`/`skip()` は無視されます
|
|
207
|
+
* (全件取得とページ制限は意味が競合するため)。`sort()` は各ページに適用されます。
|
|
208
|
+
*
|
|
209
|
+
* Lambda タイムアウト・無限ループに対する安全弁として、既定で最大200ページ
|
|
210
|
+
* (1ページ50件 × 200 = 1万件)まで取得したら打ち切り、コンソールに警告を出力します。
|
|
211
|
+
* 通常のデータ量では到達しないはずですが、到達した場合はそれまでに集めた分を返します
|
|
212
|
+
* (タイムアウトによるエラーより安全なため)。
|
|
213
|
+
*
|
|
214
|
+
* @param options - ページサイズ・最大ページ数を上書きするオプション
|
|
215
|
+
* @returns 条件に一致するすべてのドキュメントの配列
|
|
216
|
+
*
|
|
217
|
+
* @example
|
|
218
|
+
* ```typescript
|
|
219
|
+
* // limit を指定せず、条件に一致する全件を取得
|
|
220
|
+
* const allActive = await products.find({ status: 'active' }).toArrayAll();
|
|
221
|
+
* ```
|
|
222
|
+
*/
|
|
223
|
+
toArrayAll(options?: {
|
|
224
|
+
pageSize?: number;
|
|
225
|
+
maxPages?: number;
|
|
226
|
+
}): Promise<TSchema[]>;
|
|
198
227
|
}
|
|
199
228
|
//# sourceMappingURL=FindCursor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FindCursor.d.ts","sourceRoot":"","sources":["../../src/client/FindCursor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,UAAU,CACrB,OAAO,SAAS;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,EAC/F,YAAY,GAAG,OAAO;IAqBpB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,MAAM;IAEd,OAAO,CAAC,SAAS,CAAC;IAClB,OAAO,CAAC,WAAW,CAAC;IACpB,OAAO,CAAC,aAAa,CAAC;IACtB,OAAO,CAAC,cAAc,CAAC;IA1BzB,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,QAAQ,CAAC,CAAyE;IAC1F,OAAO,CAAC,gBAAgB,CAAC,CAAiB;IAE1C;;;;;;;;;;;OAWG;gBAEO,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,EAC/B,OAAO,GAAE,WAAgB,EACjB,SAAS,CAAC,EAAE,MAAM,YAAA,EAClB,WAAW,CAAC,EAAE,YAAY,YAAA,EAC1B,aAAa,CAAC,EAAE,aAAa,YAAA,EAC7B,cAAc,CAAC,EAAE,iBAAiB,CAAC,YAAY,CAAC,YAAA;IAK1D;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,MAAM,CAAC,GAAG,IAAI;IAKzD;;;;;;;;;;;;;;;;;OAiBG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK1B;;;;;;;;;;;;;;;;;OAiBG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAKxB;;;;;OAKG;YACW,OAAO;IAwFrB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACG,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAOnC;;;;;;;;;;;;;;;;;;;;;OAqBG;IACG,WAAW,IAAI,OAAO,CAAC;QAC3B,WAAW,EAAE,OAAO,CAAC;QACrB,eAAe,EAAE,OAAO,CAAC;QACzB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IAYF;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACG,mBAAmB,IAAI,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"FindCursor.d.ts","sourceRoot":"","sources":["../../src/client/FindCursor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,UAAU,CACrB,OAAO,SAAS;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,EAC/F,YAAY,GAAG,OAAO;IAqBpB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,MAAM;IAEd,OAAO,CAAC,SAAS,CAAC;IAClB,OAAO,CAAC,WAAW,CAAC;IACpB,OAAO,CAAC,aAAa,CAAC;IACtB,OAAO,CAAC,cAAc,CAAC;IA1BzB,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,QAAQ,CAAC,CAAyE;IAC1F,OAAO,CAAC,gBAAgB,CAAC,CAAiB;IAE1C;;;;;;;;;;;OAWG;gBAEO,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,EAC/B,OAAO,GAAE,WAAgB,EACjB,SAAS,CAAC,EAAE,MAAM,YAAA,EAClB,WAAW,CAAC,EAAE,YAAY,YAAA,EAC1B,aAAa,CAAC,EAAE,aAAa,YAAA,EAC7B,cAAc,CAAC,EAAE,iBAAiB,CAAC,YAAY,CAAC,YAAA;IAK1D;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,MAAM,CAAC,GAAG,IAAI;IAKzD;;;;;;;;;;;;;;;;;OAiBG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK1B;;;;;;;;;;;;;;;;;OAiBG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAKxB;;;;;OAKG;YACW,OAAO;IAwFrB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACG,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAOnC;;;;;;;;;;;;;;;;;;;;;OAqBG;IACG,WAAW,IAAI,OAAO,CAAC;QAC3B,WAAW,EAAE,OAAO,CAAC;QACrB,eAAe,EAAE,OAAO,CAAC;QACzB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IAYF;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACG,mBAAmB,IAAI,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAOhE;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACG,UAAU,CAAC,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CAyCzF"}
|
|
@@ -282,5 +282,53 @@ export class FindCursor {
|
|
|
282
282
|
}
|
|
283
283
|
return this.consumedCapacity;
|
|
284
284
|
}
|
|
285
|
+
/**
|
|
286
|
+
* 全ページを自動的に辿り、条件に一致するすべてのドキュメントを取得
|
|
287
|
+
*
|
|
288
|
+
* `toArray()` は1ページ分(デフォルト50件、最大50件)しか返さず、
|
|
289
|
+
* `nextToken` を辿るかどうかは呼び出し側の責任です。
|
|
290
|
+
* `toArrayAll()` は内部で `nextToken` が無くなるまでページを取得し続け、
|
|
291
|
+
* 全件をまとめて返します。
|
|
292
|
+
*
|
|
293
|
+
* このメソッドの前に呼ばれた `limit()`/`skip()` は無視されます
|
|
294
|
+
* (全件取得とページ制限は意味が競合するため)。`sort()` は各ページに適用されます。
|
|
295
|
+
*
|
|
296
|
+
* Lambda タイムアウト・無限ループに対する安全弁として、既定で最大200ページ
|
|
297
|
+
* (1ページ50件 × 200 = 1万件)まで取得したら打ち切り、コンソールに警告を出力します。
|
|
298
|
+
* 通常のデータ量では到達しないはずですが、到達した場合はそれまでに集めた分を返します
|
|
299
|
+
* (タイムアウトによるエラーより安全なため)。
|
|
300
|
+
*
|
|
301
|
+
* @param options - ページサイズ・最大ページ数を上書きするオプション
|
|
302
|
+
* @returns 条件に一致するすべてのドキュメントの配列
|
|
303
|
+
*
|
|
304
|
+
* @example
|
|
305
|
+
* ```typescript
|
|
306
|
+
* // limit を指定せず、条件に一致する全件を取得
|
|
307
|
+
* const allActive = await products.find({ status: 'active' }).toArrayAll();
|
|
308
|
+
* ```
|
|
309
|
+
*/
|
|
310
|
+
async toArrayAll(options) {
|
|
311
|
+
const pageSize = options?.pageSize ?? 50;
|
|
312
|
+
const maxPages = options?.maxPages ?? 200;
|
|
313
|
+
const all = [];
|
|
314
|
+
let nextToken = this.options.nextToken;
|
|
315
|
+
let page = 0;
|
|
316
|
+
for (;;) {
|
|
317
|
+
const cursor = new FindCursor(this.endpoint, this.collectionName, this.filter, { sort: this.options.sort, limit: pageSize, nextToken }, this.authToken, this.authOptions, this.clientOptions, this.getAuthHeaders);
|
|
318
|
+
const items = await cursor.toArray();
|
|
319
|
+
all.push(...items);
|
|
320
|
+
const pageInfo = await cursor.getPageInfo();
|
|
321
|
+
nextToken = pageInfo.nextToken;
|
|
322
|
+
page++;
|
|
323
|
+
if (!nextToken) {
|
|
324
|
+
break;
|
|
325
|
+
}
|
|
326
|
+
if (page >= maxPages) {
|
|
327
|
+
console.warn(`FindCursor.toArrayAll: reached maxPages=${maxPages} (${all.length} items) for collection="${this.collectionName}". Stopping pagination.`);
|
|
328
|
+
break;
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
return all;
|
|
332
|
+
}
|
|
285
333
|
}
|
|
286
334
|
//# sourceMappingURL=FindCursor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FindCursor.js","sourceRoot":"","sources":["../../src/client/FindCursor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FindCursor.js","sourceRoot":"","sources":["../../src/client/FindCursor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReferenceManyToManyField.d.ts","sourceRoot":"","sources":["../../../../../src/integrations/react-admin/components/ReferenceManyToMany/ReferenceManyToManyField.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAI1C,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,YAAY,CAAC;AAahE,eAAO,MAAM,wBAAwB,GAAI,OAAO,6BAA6B,KAAG,YAsE/E,CAAC"}
|
package/dist/integrations/react-admin/components/ReferenceManyToMany/ReferenceManyToManyField.js
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useMemo } from 'react';
|
|
3
|
+
import { ListContextProvider, useGetList, useGetMany, useRecordContext } from 'react-admin';
|
|
4
|
+
import { BASE_LIST_CONTEXT, DEFAULT_SORT, parseUsing } from './types.js';
|
|
5
|
+
export const ReferenceManyToManyField = (props) => {
|
|
6
|
+
const { reference, through, using, source = 'id', children, sort = DEFAULT_SORT } = props;
|
|
7
|
+
const record = useRecordContext();
|
|
8
|
+
const recordId = record?.[source];
|
|
9
|
+
const [sourceKey, targetKey] = parseUsing(using);
|
|
10
|
+
const { data: junctionRecords, isPending: junctionPending, error: junctionError, } = useGetList(through, {
|
|
11
|
+
filter: { [sourceKey]: recordId },
|
|
12
|
+
pagination: { page: 1, perPage: 1000 },
|
|
13
|
+
sort,
|
|
14
|
+
}, { enabled: !!recordId });
|
|
15
|
+
const { targetIds, junctionMap } = useMemo(() => {
|
|
16
|
+
const ids = [];
|
|
17
|
+
const map = new Map();
|
|
18
|
+
(junctionRecords ?? []).forEach((j) => {
|
|
19
|
+
const targetId = j[targetKey];
|
|
20
|
+
if (targetId) {
|
|
21
|
+
ids.push(targetId);
|
|
22
|
+
map.set(targetId, j);
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
return { targetIds: ids, junctionMap: map };
|
|
26
|
+
}, [junctionRecords, targetKey]);
|
|
27
|
+
const { data: targetRecords, isPending: targetPending, error: targetError, } = useGetMany(reference, { ids: targetIds }, { enabled: targetIds.length > 0 });
|
|
28
|
+
const enrichedRecords = useMemo(() => (targetRecords ?? []).map((r) => ({
|
|
29
|
+
...r,
|
|
30
|
+
_through: junctionMap.get(String(r.id)) ?? null,
|
|
31
|
+
})), [targetRecords, junctionMap]);
|
|
32
|
+
const total = enrichedRecords.length;
|
|
33
|
+
const loading = junctionPending || (targetIds.length > 0 && targetPending);
|
|
34
|
+
const error = junctionError ?? targetError;
|
|
35
|
+
const listContextValue = useMemo(() => ({
|
|
36
|
+
...BASE_LIST_CONTEXT,
|
|
37
|
+
data: enrichedRecords,
|
|
38
|
+
total,
|
|
39
|
+
perPage: total,
|
|
40
|
+
resource: reference,
|
|
41
|
+
sort,
|
|
42
|
+
}), [enrichedRecords, total, sort, reference]);
|
|
43
|
+
if (loading)
|
|
44
|
+
return _jsx("div", { children: "\u8AAD\u307F\u8FBC\u307F\u4E2D..." });
|
|
45
|
+
if (error)
|
|
46
|
+
return _jsxs("div", { children: ["\u30A8\u30E9\u30FC: ", error.message] });
|
|
47
|
+
return _jsx(ListContextProvider, { value: listContextValue, children: children });
|
|
48
|
+
};
|
|
49
|
+
//# sourceMappingURL=ReferenceManyToManyField.js.map
|
package/dist/integrations/react-admin/components/ReferenceManyToMany/ReferenceManyToManyField.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReferenceManyToManyField.js","sourceRoot":"","sources":["../../../../../src/integrations/react-admin/components/ReferenceManyToMany/ReferenceManyToManyField.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReferenceManyToManyInput.d.ts","sourceRoot":"","sources":["../../../../../src/integrations/react-admin/components/ReferenceManyToMany/ReferenceManyToManyInput.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAS1C,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,YAAY,CAAC;AAEhE,eAAO,MAAM,wBAAwB,GAAI,OAAO,6BAA6B,KAAG,YAwD/E,CAAC"}
|
package/dist/integrations/react-admin/components/ReferenceManyToMany/ReferenceManyToManyInput.js
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useQueryClient } from '@tanstack/react-query';
|
|
3
|
+
import { cloneElement, useCallback, useMemo } from 'react';
|
|
4
|
+
import { ReferenceArrayInput, useGetList, useRecordContext, useRegisterMutationMiddleware, } from 'react-admin';
|
|
5
|
+
import { DEFAULT_SORT, parseUsing } from './types.js';
|
|
6
|
+
export const ReferenceManyToManyInput = (props) => {
|
|
7
|
+
const { reference, through, using, source = 'id', children, label, filter } = props;
|
|
8
|
+
const record = useRecordContext();
|
|
9
|
+
const recordId = record?.[source];
|
|
10
|
+
const [sourceKey, targetKey] = parseUsing(using);
|
|
11
|
+
// crudRouter が __manyToMany:{through}:{sourceKey}:{targetKey} 形式を解釈して中間テーブルを更新する
|
|
12
|
+
const fieldName = `__manyToMany:${through}:${sourceKey}:${targetKey}`;
|
|
13
|
+
const { data: junctionRecords, isPending, error, } = useGetList(through, {
|
|
14
|
+
filter: { [sourceKey]: recordId },
|
|
15
|
+
pagination: { page: 1, perPage: 1000 },
|
|
16
|
+
sort: DEFAULT_SORT,
|
|
17
|
+
}, { enabled: !!recordId });
|
|
18
|
+
const initialIds = useMemo(() => (junctionRecords ?? []).map((r) => r[targetKey]).filter(Boolean), [junctionRecords, targetKey]);
|
|
19
|
+
// 保存後に中間テーブルのキャッシュだけをピンポイント invalidate する。
|
|
20
|
+
// onSuccess で渡すとデフォルトの redirect/notify が失われるため、middleware で割り込む。
|
|
21
|
+
const queryClient = useQueryClient();
|
|
22
|
+
const middleware = useCallback(async (resource, params, next) => {
|
|
23
|
+
const result = await next(resource, params);
|
|
24
|
+
queryClient.invalidateQueries({ queryKey: [through] });
|
|
25
|
+
return result;
|
|
26
|
+
}, [through, queryClient]);
|
|
27
|
+
useRegisterMutationMiddleware(middleware);
|
|
28
|
+
if (isPending && !!recordId)
|
|
29
|
+
return _jsx("div", { children: "\u8AAD\u307F\u8FBC\u307F\u4E2D..." });
|
|
30
|
+
if (error)
|
|
31
|
+
return _jsxs("div", { children: ["\u30A8\u30E9\u30FC: ", error.message] });
|
|
32
|
+
return (_jsx(ReferenceArrayInput, { source: fieldName, reference: reference, label: label, filter: filter, children: cloneElement(children, { defaultValue: initialIds }) }));
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=ReferenceManyToManyInput.js.map
|
package/dist/integrations/react-admin/components/ReferenceManyToMany/ReferenceManyToManyInput.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReferenceManyToManyInput.js","sourceRoot":"","sources":["../../../../../src/integrations/react-admin/components/ReferenceManyToMany/ReferenceManyToManyInput.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAE3D,OAAO,EACL,mBAAmB,EACnB,UAAU,EACV,gBAAgB,EAChB,6BAA6B,GAC9B,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAGtD,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,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;IAClC,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,MAAM,CAAuB,CAAC;IAExD,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAEjD,iFAAiF;IACjF,MAAM,SAAS,GAAG,gBAAgB,OAAO,IAAI,SAAS,IAAI,SAAS,EAAE,CAAC;IAEtE,MAAM,EACJ,IAAI,EAAE,eAAe,EACrB,SAAS,EACT,KAAK,GACN,GAAG,UAAU,CACZ,OAAO,EACP;QACE,MAAM,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE;QACjC,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE;QACtC,IAAI,EAAE,YAAY;KACnB,EACD,EAAE,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CACxB,CAAC;IAEF,MAAM,UAAU,GAAG,OAAO,CACxB,GAAG,EAAE,CAAC,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAW,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAChF,CAAC,eAAe,EAAE,SAAS,CAAC,CAC7B,CAAC;IAEF,2CAA2C;IAC3C,iEAAiE;IACjE,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,MAAM,UAAU,GAAG,WAAW,CAC5B,KAAK,EACH,QAAgB,EAChB,MAAe,EACf,IAA6D,EAC7D,EAAE;QACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC5C,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACvD,OAAO,MAAM,CAAC;IAChB,CAAC,EACD,CAAC,OAAO,EAAE,WAAW,CAAC,CACvB,CAAC;IACF,6BAA6B,CAAC,UAAU,CAAC,CAAC;IAE1C,IAAI,SAAS,IAAI,CAAC,CAAC,QAAQ;QAAE,OAAO,8DAAmB,CAAC;IACxD,IAAI,KAAK;QAAE,OAAO,kDAAY,KAAe,CAAC,OAAO,IAAO,CAAC;IAE7D,OAAO,CACL,KAAC,mBAAmB,IAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,YAEvF,YAAY,CAAC,QAAQ,EAAE,EAAE,YAAY,EAAE,UAAU,EAAS,CAAC,GACxC,CACvB,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { ReferenceManyToManyField } from './ReferenceManyToManyField.js';
|
|
2
|
+
export { ReferenceManyToManyInput } from './ReferenceManyToManyInput.js';
|
|
3
|
+
export type { ReferenceManyToManyFieldProps, ReferenceManyToManyInputProps } from './types.js';
|
|
4
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/integrations/react-admin/components/ReferenceManyToMany/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,YAAY,EAAE,6BAA6B,EAAE,6BAA6B,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/integrations/react-admin/components/ReferenceManyToMany/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import type { ReactElement } from 'react';
|
|
2
|
+
export declare const DEFAULT_SORT: {
|
|
3
|
+
field: string;
|
|
4
|
+
order: "ASC";
|
|
5
|
+
};
|
|
6
|
+
export declare function parseUsing(using: string): [string, string];
|
|
7
|
+
export declare const noop: () => void;
|
|
8
|
+
export declare const BASE_LIST_CONTEXT: {
|
|
9
|
+
isLoading: false;
|
|
10
|
+
isFetching: false;
|
|
11
|
+
isPending: false;
|
|
12
|
+
error: null;
|
|
13
|
+
page: number;
|
|
14
|
+
displayedFilters: {};
|
|
15
|
+
filterValues: {};
|
|
16
|
+
hasNextPage: boolean;
|
|
17
|
+
hasPreviousPage: boolean;
|
|
18
|
+
selectedIds: string[];
|
|
19
|
+
setSort: () => void;
|
|
20
|
+
setPage: () => void;
|
|
21
|
+
setPerPage: () => void;
|
|
22
|
+
setFilters: () => void;
|
|
23
|
+
showFilter: () => void;
|
|
24
|
+
hideFilter: () => void;
|
|
25
|
+
refetch: () => void;
|
|
26
|
+
onSelect: () => void;
|
|
27
|
+
onSelectAll: () => void;
|
|
28
|
+
onToggleItem: () => void;
|
|
29
|
+
onUnselectItems: () => void;
|
|
30
|
+
};
|
|
31
|
+
export interface ReferenceManyToManyFieldProps {
|
|
32
|
+
reference: string;
|
|
33
|
+
through: string;
|
|
34
|
+
using: string;
|
|
35
|
+
source?: string;
|
|
36
|
+
children: ReactElement;
|
|
37
|
+
label?: string;
|
|
38
|
+
sort?: {
|
|
39
|
+
field: string;
|
|
40
|
+
order: 'ASC' | 'DESC';
|
|
41
|
+
};
|
|
42
|
+
perPage?: number;
|
|
43
|
+
}
|
|
44
|
+
export interface ReferenceManyToManyInputProps {
|
|
45
|
+
reference: string;
|
|
46
|
+
through: string;
|
|
47
|
+
using: string;
|
|
48
|
+
source?: string;
|
|
49
|
+
children: ReactElement;
|
|
50
|
+
label?: string;
|
|
51
|
+
filter?: Record<string, unknown>;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/integrations/react-admin/components/ReferenceManyToMany/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,eAAO,MAAM,YAAY;;;CAAyC,CAAC;AAEnE,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAM1D;AAED,eAAO,MAAM,IAAI,YAAW,CAAC;AAE7B,eAAO,MAAM,iBAAiB;;;;;;;;;;iBAUT,MAAM,EAAE;;;;;;;;;;;;CAY5B,CAAC;AAEF,MAAM,WAAW,6BAA6B;IAC5C,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,YAAY,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAAA;KAAE,CAAC;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,6BAA6B;IAC5C,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,YAAY,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export const DEFAULT_SORT = { field: 'id', order: 'ASC' };
|
|
2
|
+
export function parseUsing(using) {
|
|
3
|
+
const keys = using.split(',').map((k) => k.trim());
|
|
4
|
+
if (keys.length !== 2 || !keys[0] || !keys[1]) {
|
|
5
|
+
throw new Error(`Invalid using format: "${using}". Expected "sourceKey,targetKey"`);
|
|
6
|
+
}
|
|
7
|
+
return keys;
|
|
8
|
+
}
|
|
9
|
+
export const noop = () => { };
|
|
10
|
+
export const BASE_LIST_CONTEXT = {
|
|
11
|
+
isLoading: false,
|
|
12
|
+
isFetching: false,
|
|
13
|
+
isPending: false,
|
|
14
|
+
error: null,
|
|
15
|
+
page: 1,
|
|
16
|
+
displayedFilters: {},
|
|
17
|
+
filterValues: {},
|
|
18
|
+
hasNextPage: false,
|
|
19
|
+
hasPreviousPage: false,
|
|
20
|
+
selectedIds: [],
|
|
21
|
+
setSort: noop,
|
|
22
|
+
setPage: noop,
|
|
23
|
+
setPerPage: noop,
|
|
24
|
+
setFilters: noop,
|
|
25
|
+
showFilter: noop,
|
|
26
|
+
hideFilter: noop,
|
|
27
|
+
refetch: noop,
|
|
28
|
+
onSelect: noop,
|
|
29
|
+
onSelectAll: noop,
|
|
30
|
+
onToggleItem: noop,
|
|
31
|
+
onUnselectItems: noop,
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/integrations/react-admin/components/ReferenceManyToMany/types.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,YAAY,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAc,EAAE,CAAC;AAEnE,MAAM,UAAU,UAAU,CAAC,KAAa;IACtC,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,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,0BAA0B,KAAK,mCAAmC,CAAC,CAAC;IACtF,CAAC;IACD,OAAO,IAAwB,CAAC;AAClC,CAAC;AAED,MAAM,CAAC,MAAM,IAAI,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;AAE7B,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,SAAS,EAAE,KAAc;IACzB,UAAU,EAAE,KAAc;IAC1B,SAAS,EAAE,KAAc;IACzB,KAAK,EAAE,IAAI;IACX,IAAI,EAAE,CAAC;IACP,gBAAgB,EAAE,EAAE;IACpB,YAAY,EAAE,EAAE;IAChB,WAAW,EAAE,KAAK;IAClB,eAAe,EAAE,KAAK;IACtB,WAAW,EAAE,EAAc;IAC3B,OAAO,EAAE,IAAI;IACb,OAAO,EAAE,IAAI;IACb,UAAU,EAAE,IAAI;IAChB,UAAU,EAAE,IAAI;IAChB,UAAU,EAAE,IAAI;IAChB,UAAU,EAAE,IAAI;IAChB,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,IAAI;IACd,WAAW,EAAE,IAAI;IACjB,YAAY,EAAE,IAAI;IAClB,eAAe,EAAE,IAAI;CACtB,CAAC"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* React-Admin 多対多関係コンポーネント
|
|
3
3
|
*/
|
|
4
|
-
export { ReferenceManyToManyField } from './
|
|
5
|
-
export { ReferenceManyToManyInput } from './ReferenceManyToManyInput.js';
|
|
4
|
+
export { ReferenceManyToManyField, ReferenceManyToManyInput } from './ReferenceManyToMany/index.js';
|
|
6
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/integrations/react-admin/components/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,wBAAwB,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/integrations/react-admin/components/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* React-Admin 多対多関係コンポーネント
|
|
3
3
|
*/
|
|
4
|
-
export { ReferenceManyToManyField } from './
|
|
5
|
-
export { ReferenceManyToManyInput } from './ReferenceManyToManyInput.js';
|
|
4
|
+
export { ReferenceManyToManyField, ReferenceManyToManyInput } from './ReferenceManyToMany/index.js';
|
|
6
5
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/integrations/react-admin/components/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,wBAAwB,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/integrations/react-admin/components/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC"}
|
|
@@ -312,9 +312,9 @@ export function createDataProvider(options) {
|
|
|
312
312
|
const cleanData = { ...params.data };
|
|
313
313
|
const manyToManyFields = [];
|
|
314
314
|
for (const [key, value] of Object.entries(cleanData)) {
|
|
315
|
-
//
|
|
316
|
-
if (key.startsWith('
|
|
317
|
-
const parts = key.replace('
|
|
315
|
+
// __manyToMany:{through}:{sourceKey}:{targetKey} 形式のフィールドを検出
|
|
316
|
+
if (key.startsWith('__manyToMany:')) {
|
|
317
|
+
const parts = key.replace('__manyToMany:', '').split(':');
|
|
318
318
|
if (parts.length === 3) {
|
|
319
319
|
const [through, sourceKey, targetKey] = parts;
|
|
320
320
|
manyToManyFields.push({
|
|
@@ -379,9 +379,9 @@ export function createDataProvider(options) {
|
|
|
379
379
|
const cleanData = { ...params.data };
|
|
380
380
|
const manyToManyFields = [];
|
|
381
381
|
for (const [key, value] of Object.entries(cleanData)) {
|
|
382
|
-
//
|
|
383
|
-
if (key.startsWith('
|
|
384
|
-
const parts = key.replace('
|
|
382
|
+
// __manyToMany:{through}:{sourceKey}:{targetKey} 形式のフィールドを検出
|
|
383
|
+
if (key.startsWith('__manyToMany:')) {
|
|
384
|
+
const parts = key.replace('__manyToMany:', '').split(':');
|
|
385
385
|
if (parts.length === 3) {
|
|
386
386
|
const [through, sourceKey, targetKey] = parts;
|
|
387
387
|
manyToManyFields.push({
|
|
@@ -32,8 +32,7 @@ export async function repairAllRecords(collection, dryRun) {
|
|
|
32
32
|
* @returns 全レコードの配列
|
|
33
33
|
*/
|
|
34
34
|
async function fetchAllRecords(collection) {
|
|
35
|
-
|
|
36
|
-
return await cursor.toArray();
|
|
35
|
+
return await collection.find({}).toArrayAll();
|
|
37
36
|
}
|
|
38
37
|
/**
|
|
39
38
|
* 単一レコードを処理
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bulkRecordRepair.js","sourceRoot":"","sources":["../../../src/scripts/operations/bulkRecordRepair.ts"],"names":[],"mappings":"AAMA,OAAO,EAEL,oBAAoB,EACpB,oBAAoB,EACpB,2BAA2B,EAC3B,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AAEjC;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,UAA4E,EAC5E,MAAe;IAEf,MAAM,KAAK,GAAgB;QACzB,OAAO,EAAE,CAAC;QACV,WAAW,EAAE,CAAC;QACd,QAAQ,EAAE,CAAC;QACX,MAAM,EAAE,CAAC;QACT,MAAM,EAAE,EAAE;KACX,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IAEtD,WAAW;IACX,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,SAAS,OAAO,CAAC,MAAM,UAAU,CAAC,CAAC;IAE/C,WAAW;IACX,KAAK,MAAM,UAAU,IAAI,OAAO,EAAE,CAAC;QACjC,MAAM,aAAa,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IAC7D,CAAC;IAED,UAAU;IACV,oBAAoB,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,eAAe,CAC5B,UAA4E;IAE5E,
|
|
1
|
+
{"version":3,"file":"bulkRecordRepair.js","sourceRoot":"","sources":["../../../src/scripts/operations/bulkRecordRepair.ts"],"names":[],"mappings":"AAMA,OAAO,EAEL,oBAAoB,EACpB,oBAAoB,EACpB,2BAA2B,EAC3B,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AAEjC;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,UAA4E,EAC5E,MAAe;IAEf,MAAM,KAAK,GAAgB;QACzB,OAAO,EAAE,CAAC;QACV,WAAW,EAAE,CAAC;QACd,QAAQ,EAAE,CAAC;QACX,MAAM,EAAE,CAAC;QACT,MAAM,EAAE,EAAE;KACX,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IAEtD,WAAW;IACX,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,SAAS,OAAO,CAAC,MAAM,UAAU,CAAC,CAAC;IAE/C,WAAW;IACX,KAAK,MAAM,UAAU,IAAI,OAAO,EAAE,CAAC;QACjC,MAAM,aAAa,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IAC7D,CAAC;IAED,UAAU;IACV,oBAAoB,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,eAAe,CAC5B,UAA4E;IAE5E,OAAO,MAAM,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC;AAChD,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,aAAa,CAC1B,UAAkD,EAClD,KAAkB,EAClB,MAAe,EACf,UAA4E;IAE5E,KAAK,CAAC,OAAO,EAAE,CAAC;IAChB,MAAM,QAAQ,GAAG,UAAU,CAAC,EAAE,CAAC;IAE/B,IAAI,CAAC;QACH,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,GAAG,MAAM,oBAAoB,EAAE,CAAC;QAEnF,IAAI,WAAW,EAAE,CAAC;YAChB,KAAK,CAAC,WAAW,EAAE,CAAC;YACpB,OAAO,CAAC,GAAG,CACT,MAAM,KAAK,CAAC,OAAO,YAAY,QAAQ,aAAa,cAAc,WAAW,YAAY,EAAE,CAC5F,CAAC;YAEF,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,2BAA2B,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;gBACxD,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;gBAE5B,kBAAkB;gBAClB,MAAM,gBAAgB,EAAE,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB;;;;;WAKG;QACH,KAAK,CAAC,MAAM,EAAE,CAAC;QACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5E,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;QACzD,OAAO,CAAC,KAAK,CAAC,eAAe,YAAY,EAAE,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC"}
|