@hisptz/react-ui
Version:
A collection of reusable complex DHIS2 react ui components.
60 lines (49 loc) • 1.15 kB
JavaScript
const identifiableObjectsQuery = {
object: {
resource: "identifiableObjects",
id: _ref => {
let {
id
} = _ref;
return id;
}
}
};
function getResourceFromHref(href) {
const resource = href.split("/");
return resource[resource.length - 2];
}
function getTypeFromResource(resource) {
switch (resource) {
case "indicators":
return "indicator";
case "dataElements":
return "dataElement";
case "dataSets":
return "dataSet";
case "programIndicators":
return "programIndicator";
case "eventDataItems":
return "dataElement";
default:
return resource;
}
}
export async function getDataSourceType(engine, dataSourceId) {
var _await$engine$query;
const {
object
} = (_await$engine$query = await engine.query(identifiableObjectsQuery, {
variables: {
id: dataSourceId
}
})) !== null && _await$engine$query !== void 0 ? _await$engine$query : {};
if (object.href) {
const resource = getResourceFromHref(object.href);
return {
object,
resource: getTypeFromResource(resource)
};
}
return null;
}