| 12345678910111213141516171819202122232425262728293031323334 |
- export function model() {
- return globalThis.dataModel;
- }
- export async function getAll({ filter, select, name }) {
- const addSelect = (prop) => (select ? { ...prop, select } : prop);
- const pageSize = 200;
- const first = await model()[name].list(
- addSelect({
- pageNumber: 1,
- pageSize,
- getCount: true,
- filter,
- }),
- );
- const {
- data: { total },
- } = first;
- const totalPage = Math.ceil(total / 200);
- const lists = await Promise.all(
- Array.from({ length: totalPage - 1 }, (_, index) => index + 2).map((pageNumber) =>
- model()[name].list(
- addSelect({
- pageNumber,
- pageSize,
- filter,
- }),
- ),
- ),
- );
- const ret = lists.reduce((acc, current) => acc.concat(current.data.records), first.data.records);
- return ret;
- }
|