Skip to content

Commit

Permalink
O3-3503 Fix problem datasource fetch results based on problem concept…
Browse files Browse the repository at this point in the history
… classes
  • Loading branch information
CynthiaKamau committed Aug 30, 2024
1 parent 0984766 commit 47b0b33
Showing 1 changed file with 18 additions and 5 deletions.
23 changes: 18 additions & 5 deletions src/datasources/concept-data-source.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,24 @@ export class ConceptDataSource extends BaseOpenMRSDataSource {
const urlParts = apiUrl.split('searchType=fuzzy');
apiUrl = `${urlParts[0]}searchType=fuzzy&class=${config.class}&${urlParts[1]}`;
} else {
return openmrsFetch(searchTerm ? `${apiUrl}&q=${searchTerm}` : apiUrl).then(({ data }) => {
return data.results.filter(
(concept) => concept.conceptClass && config.class.includes(concept.conceptClass.uuid),
);
});
const fetchAllConcepts = (): Promise<any[]> => {
const fetchConceptsByClass = (classUuid: string) => {
const urlParts = apiUrl.split('searchType=fuzzy');
const url = `${urlParts[0]}searchType=fuzzy&class=${classUuid}&${urlParts[1] || ''}`;
return openmrsFetch(url).then(({ data }) => {
return data.results;
});
};

return Promise.all(config.class.map(fetchConceptsByClass))
.then((results) => results.flat())
.catch((error) => {
console.error('Error fetching data:', error);
return [];
});
};

return fetchAllConcepts();
}
}

Expand Down

0 comments on commit 47b0b33

Please sign in to comment.