forked from baron/baron-sso
테넌트 목록 조회 cursor기반으로 재구성. 사용자 metadata 미사용 필드 제거
This commit is contained in:
43
common/core/pagination/cursorFetch.worker.ts
Normal file
43
common/core/pagination/cursorFetch.worker.ts
Normal file
@@ -0,0 +1,43 @@
|
||||
import {
|
||||
fetchAllCursorPagesMainThread,
|
||||
type CursorFetchRequest,
|
||||
type CursorPageResponse,
|
||||
} from "./cursorFetchCore";
|
||||
|
||||
type CursorWorkerRequestMessage = {
|
||||
id: string;
|
||||
request: CursorFetchRequest;
|
||||
};
|
||||
|
||||
type CursorWorkerResponseMessage<TItem> =
|
||||
| {
|
||||
id: string;
|
||||
ok: true;
|
||||
response: CursorPageResponse<TItem>;
|
||||
}
|
||||
| {
|
||||
id: string;
|
||||
ok: false;
|
||||
error: string;
|
||||
};
|
||||
|
||||
self.addEventListener("message", async (event: MessageEvent<CursorWorkerRequestMessage>) => {
|
||||
const { id, request } = event.data;
|
||||
|
||||
try {
|
||||
const response = await fetchAllCursorPagesMainThread(request);
|
||||
self.postMessage({
|
||||
id,
|
||||
ok: true,
|
||||
response,
|
||||
} satisfies CursorWorkerResponseMessage<unknown>);
|
||||
} catch (error) {
|
||||
self.postMessage({
|
||||
id,
|
||||
ok: false,
|
||||
error: error instanceof Error ? error.message : String(error),
|
||||
} satisfies CursorWorkerResponseMessage<unknown>);
|
||||
}
|
||||
});
|
||||
|
||||
export {};
|
||||
Reference in New Issue
Block a user