UNPKG

d2

Version:

Javascript library for DHIS2

107 lines (101 loc) 3.41 kB
import AnalyticsBase from './AnalyticsBase' /** * @extends module:analytics.AnalyticsBase * * @description * Analytics events class used to request analytics events data from Web API. * * @memberof module:analytics * * @see https://docs.dhis2.org/master/en/developer/html/webapi_event_analytics.html */ class AnalyticsEvents extends AnalyticsBase { /** * @param {!AnalyticsRequest} req Request object * * @returns {Promise} Promise that resolves with the analytics aggregate data from the api. * * @example * const req = new d2.analytics.request() * .withProgram('eBAyeGv0exc') * .addDataDimension(['Uvn6LCg7dVU','OdiHJayrsKo']) * .addPeriodDimension('LAST_4_QUARTERS') * .addOrgUnitDimension(['lc3eMKXaEfw','PMa2VCrupOd']) * .addOrgUnitFilter('O6uvpzGd5pu') * .withStartDate('2017-10-01') * .withEndDate('2017-10-31'); * * d2.analytics.events.getAggregate(req) * .then(console.log); */ getAggregate(req) { return this.fetch(req.withPath('events/aggregate')) } /** * @param {!AnalyticsRequest} req Request object * * @returns {Promise} Promise that resolves with the analytics count data from the api. * * @example * const req = new d2.analytics.request() * .withProgram('eBAyeGv0exc') * .addDataDimension(['Uvn6LCg7dVU','OdiHJayrsKo']) * .addPeriodDimension('LAST_4_QUARTERS') * .addOrgUnitDimension(['lc3eMKXaEfw','PMa2VCrupOd']) * .addOrgUnitFilter('O6uvpzGd5pu') * .withStartDate('2017-10-01') * .withEndDate('2017-10-31'); * * d2.analytics.events.getCount(req) * .then(console.log); */ getCount(req) { return this.fetch(req.withPath('events/count')) } /** * @param {!AnalyticsRequest} req Request object * Must contain clusterSize and bbox parameters. * * @returns {Promise} Promise that resolves with the analytics cluster data from the api. * * @example * const req = new d2.analytics.request() * .withProgram('eBAyeGv0exc') * .addDataDimension(['Uvn6LCg7dVU','OdiHJayrsKo']) * .addPeriodDimension('LAST_4_QUARTERS') * .addOrgUnitDimension(['lc3eMKXaEfw','PMa2VCrupOd']) * .addOrgUnitFilter('O6uvpzGd5pu') * .withStartDate('2017-10-01') * .withEndDate('2017-10-31') * .withClusterSize(100000) * .withBbox('-13.2682125,7.3721619,-10.4261178,9.904012'); * * d2.analytics.events.getCluster(req) * .then(console.log); */ getCluster(req) { return this.fetch(req.withPath('events/cluster')) } /** * @param {!AnalyticsRequest} req Request object * * @returns {Promise} Promise that resolves with the analytics query data from the api. * * @example * const req = new d2.analytics.request() * .withProgram('eBAyeGv0exc') * .addDataDimension(['Uvn6LCg7dVU','OdiHJayrsKo']) * .addPeriodDimension('LAST_4_QUARTERS') * .addOrgUnitDimension(['lc3eMKXaEfw','PMa2VCrupOd']) * .addOrgUnitFilter('O6uvpzGd5pu') * .withStartDate('2017-10-01') * .withEndDate('2017-10-31'); * * d2.analytics.events.getQuery(req) * .then(console.log); */ getQuery(req) { return this.fetch(req.withPath('events/query')) } } export default AnalyticsEvents