Skip to content

Commit

Permalink
Merge pull request #266 from EyeSeeTea/development
Browse files Browse the repository at this point in the history
  • Loading branch information
SferaDev authored Feb 17, 2022
2 parents 7e75e15 + eb939b6 commit 9737791
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 9 deletions.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "bulk-load",
"description": "Bulk importing made easy",
"version": "3.17.1",
"version": "3.17.2",
"license": "GPL-3.0",
"author": "EyeSeeTea team",
"homepage": ".",
Expand Down
28 changes: 20 additions & 8 deletions src/data/Dhis2RelationshipTypes.ts
Original file line number Diff line number Diff line change
Expand Up @@ -253,17 +253,29 @@ async function getConstraintForTypeTei(
fields: "trackedEntityInstance",
} as const;

const { trackedEntityInstances: firstPage, pager } = await api.trackedEntityInstances.get(query).getData();
const pages = _.range(2, pager.pageCount + 1);
const results = await promiseMap(_.chunk(query.ou, 250), async ouChunk => {
const filterQuery =
query.ouMode === "SELECTED" || query.ouMode === "CHILDREN" || query.ouMode === "DESCENDANTS"
? { ...query, ou: ouChunk }
: query;

const { trackedEntityInstances: firstPage, pager } = await api.trackedEntityInstances
.get(filterQuery)
.getData();

const pages = _.range(2, pager.pageCount + 1);
const otherPages = await promiseMap(pages, async page => {
const { trackedEntityInstances } = await api.trackedEntityInstances.get({ ...filterQuery, page }).getData();
return trackedEntityInstances;
});

const otherPages = await promiseMap(pages, async page => {
const { trackedEntityInstances } = await api.trackedEntityInstances.get({ ...query, page }).getData();
return trackedEntityInstances;
return [...firstPage, ..._.flatten(otherPages)];
});

const trackedEntityInstances = [...firstPage, ..._.flatten(otherPages)].map(
({ trackedEntityInstance, ...rest }) => ({ ...rest, id: trackedEntityInstance })
);
const trackedEntityInstances = _.flatten(results).map(({ trackedEntityInstance, ...rest }) => ({
...rest,
id: trackedEntityInstance,
}));

const teis = _.sortBy(trackedEntityInstances, tei => tei.id.toLowerCase());
const name = trackedEntityTypesById[constraint.trackedEntityType.id]?.name ?? "Unknown";
Expand Down

0 comments on commit 9737791

Please sign in to comment.