diff --git a/src/api.ts b/src/api.ts index e8cf90c..72b39f8 100644 --- a/src/api.ts +++ b/src/api.ts @@ -306,8 +306,8 @@ class API { const pageSize = Number(params._query.get("pageSize")) || 25; if (q) { // eslint-disable-next-line @typescript-eslint/no-unsafe-argument - const pages = await coll.store.queryPages(q, page, pageSize); - return { pages }; + const { pages, total } = await coll.store.queryPages(q, page, pageSize); + return { pages, total }; } } const pages = await coll.store.getAllPages(); diff --git a/src/wacz/multiwacz.ts b/src/wacz/multiwacz.ts index 06fe73e..df114dd 100644 --- a/src/wacz/multiwacz.ts +++ b/src/wacz/multiwacz.ts @@ -1263,7 +1263,7 @@ export class MultiWACZ page = 1, pageSize = 25, // eslint-disable-next-line @typescript-eslint/no-explicit-any - ): Promise[]> { + ): Promise<{pages: Record[], total: number}> { const params = new URLSearchParams(); params.set("search", search); params.set("page", page + ""); @@ -1272,14 +1272,17 @@ export class MultiWACZ headers: this.sourceLoader?.headers, }); if (res.status !== 200) { - return []; + return {pages: [], total: 0}; } const json = await res.json(); if (!json) { - return []; + return {pages: [], total: 0}; } + + const total = json.total; + // eslint-disable-next-line @typescript-eslint/no-explicit-any - const pages = json.items.map((x: any) => { + const pages : Record[] = json.items.map((x: any) => { x.wacz = x.filename; const file = this.waczfiles[x.filename]; if (file) { @@ -1293,8 +1296,7 @@ export class MultiWACZ return x; }); - // eslint-disable-next-line @typescript-eslint/no-unsafe-return - return pages; + return {pages, total}; } async getWACZFilesToTry(request: ArchiveRequest, waczname: string | null) {