mirror of
https://github.com/4gray/iptvnator.git
synced 2026-10-10 01:56:16 -08:00
fix(stalker): preserve catalog pagination metadata
This commit is contained in:
1 parent
00c85beb70
commit
cede2c6bb3
3 files changed
+19
-5
No files matched your search
+3
@@ -230,6 +230,7 @@ describe('stalker-operation-adapter', () => {
|
||||
],
|
||||
max_page_items: '10',
|
||||
total_items: '25',
|
||||
total_pages: '3',
|
||||
},
|
||||
})
|
||||
).toEqual({
|
||||
@@ -252,7 +253,9 @@ describe('stalker-operation-adapter', () => {
|
||||
},
|
||||
],
|
||||
page: 2,
|
||||
pageSize: 10,
|
||||
total: 25,
|
||||
totalPages: 3,
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
+14
-5
@@ -300,13 +300,22 @@ function mapCatalog(
|
||||
);
|
||||
const total = optionalNonNegativeInteger(envelope['total_items']);
|
||||
const pageSize = optionalPositiveInteger(envelope['max_page_items']);
|
||||
const totalPages =
|
||||
optionalPositiveInteger(envelope['total_pages']) ??
|
||||
(total !== undefined && pageSize !== undefined
|
||||
? Math.ceil(total / pageSize)
|
||||
: undefined);
|
||||
const hasMore =
|
||||
total !== undefined && page !== undefined
|
||||
? pageSize !== undefined
|
||||
? page * pageSize < total
|
||||
: items.length > 0 && page * items.length < total
|
||||
page !== undefined
|
||||
? totalPages !== undefined
|
||||
? page < totalPages
|
||||
: total !== undefined && pageSize !== undefined
|
||||
? page * pageSize < total
|
||||
: total !== undefined
|
||||
? items.length > 0 && page * items.length < total
|
||||
: undefined
|
||||
: undefined;
|
||||
return compact({ hasMore, items, page, total });
|
||||
return compact({ hasMore, items, page, pageSize, total, totalPages });
|
||||
}
|
||||
|
||||
function mapCatalogItem(
|
||||
|
||||
@@ -143,7 +143,9 @@ export interface StalkerSessionCatalogItem {
|
||||
export interface StalkerSessionCatalogResult {
|
||||
items: readonly StalkerSessionCatalogItem[];
|
||||
page?: number;
|
||||
pageSize?: number;
|
||||
total?: number;
|
||||
totalPages?: number;
|
||||
hasMore?: boolean;
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user