Skip to content

Commit 7eb854a

Browse files
authored
Consistently interpolate conceptUuid URL parameter in SelectConceptAnswersDatasource (#474)
1 parent d28f37f commit 7eb854a

File tree

1 file changed

+13
-3
lines changed

1 file changed

+13
-3
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,25 @@
1-
import { openmrsFetch, restBaseUrl } from '@openmrs/esm-framework';
1+
import { openmrsFetch, OpenmrsResource, restBaseUrl } from '@openmrs/esm-framework';
22
import { BaseOpenMRSDataSource } from './data-source';
33

44
export class SelectConceptAnswersDatasource extends BaseOpenMRSDataSource {
55
constructor() {
6-
super(`${restBaseUrl}/concept/conceptUuid?v=custom:(uuid,setMembers:(uuid,display),answers:(uuid,display))`);
6+
super(
7+
`${restBaseUrl}/concept/:conceptUuid?v=custom:(uuid,display,setMembers:(uuid,display),answers:(uuid,display))`,
8+
);
9+
}
10+
11+
fetchSingleItem(uuid: string): Promise<OpenmrsResource | null> {
12+
return openmrsFetch(this.buildUrl(uuid)).then(({ data }) => data);
713
}
814

915
fetchData(searchTerm: string, config?: Record<string, any>): Promise<any[]> {
10-
const apiUrl = this.url.replace('conceptUuid', config.referencedValue || config.concept);
16+
const apiUrl = this.buildUrl(config.referencedValue || config.concept);
1117
return openmrsFetch(apiUrl).then(({ data }) => {
1218
return data['setMembers'].length ? data['setMembers'] : data['answers'];
1319
});
1420
}
21+
22+
private buildUrl(conceptUuid: string): string {
23+
return this.url.replace(':conceptUuid', conceptUuid);
24+
}
1525
}

0 commit comments

Comments
 (0)