@iapps/d2-web-sdk 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (254) hide show
  1. package/package.json +12 -1
  2. package/src/lib/d2-web-sdk.d.ts +9 -3
  3. package/src/lib/d2-web-sdk.js +12 -9
  4. package/src/lib/d2-web-sdk.js.map +1 -1
  5. package/src/lib/index.d.ts +0 -0
  6. package/src/lib/index.js +5 -0
  7. package/src/lib/index.js.map +1 -0
  8. package/src/lib/modules/data-element/models/data-element.model.d.ts +3 -2
  9. package/src/lib/modules/data-element/models/data-element.model.js +14 -60
  10. package/src/lib/modules/data-element/models/data-element.model.js.map +1 -1
  11. package/src/lib/modules/data-element/queries/data-element.query.d.ts +2 -2
  12. package/src/lib/modules/data-element/queries/data-element.query.js.map +1 -1
  13. package/src/lib/modules/engine/engine.module.d.ts +4 -0
  14. package/src/lib/modules/engine/engine.module.js +14 -0
  15. package/src/lib/modules/engine/engine.module.js.map +1 -0
  16. package/src/lib/modules/engine/index.d.ts +2 -0
  17. package/src/lib/modules/{organisation-unit → engine}/index.js +2 -3
  18. package/src/lib/modules/engine/index.js.map +1 -0
  19. package/src/lib/modules/engine/program-rule/index.d.ts +1 -0
  20. package/src/lib/{shared/decorators → modules/engine/program-rule}/index.js +1 -1
  21. package/src/lib/modules/engine/program-rule/index.js.map +1 -0
  22. package/src/lib/modules/engine/program-rule/program-rule.engine.d.ts +7 -0
  23. package/src/lib/modules/engine/program-rule/program-rule.engine.js +42 -0
  24. package/src/lib/modules/engine/program-rule/program-rule.engine.js.map +1 -0
  25. package/src/lib/modules/engine/program-rule/utils/d2-functions.util.d.ts +7 -0
  26. package/src/lib/modules/engine/program-rule/utils/d2-functions.util.js +361 -0
  27. package/src/lib/modules/engine/program-rule/utils/d2-functions.util.js.map +1 -0
  28. package/src/lib/modules/engine/program-rule/utils/d2.util.d.ts +17 -0
  29. package/src/lib/modules/engine/program-rule/utils/d2.util.js +35 -0
  30. package/src/lib/modules/engine/program-rule/utils/d2.util.js.map +1 -0
  31. package/src/lib/modules/engine/program-rule/utils/date.utils.d.ts +9 -0
  32. package/src/lib/modules/engine/program-rule/utils/date.utils.js +35 -0
  33. package/src/lib/modules/engine/program-rule/utils/date.utils.js.map +1 -0
  34. package/src/lib/modules/engine/program-rule/utils/index.d.ts +1 -0
  35. package/src/lib/modules/{organisation-unit/models → engine/program-rule/utils}/index.js +1 -3
  36. package/src/lib/modules/engine/program-rule/utils/index.js.map +1 -0
  37. package/src/lib/modules/engine/program-rule/utils/run-d2-expression.util.d.ts +4 -0
  38. package/src/lib/modules/engine/program-rule/utils/run-d2-expression.util.js +88 -0
  39. package/src/lib/modules/engine/program-rule/utils/run-d2-expression.util.js.map +1 -0
  40. package/src/lib/modules/engine/program-rule/utils/trim-quotes.util.d.ts +1 -0
  41. package/src/lib/modules/engine/program-rule/utils/trim-quotes.util.js +18 -0
  42. package/src/lib/modules/engine/program-rule/utils/trim-quotes.util.js.map +1 -0
  43. package/src/lib/modules/engine/program-rule/utils/value-converter.util.d.ts +3 -0
  44. package/src/lib/modules/engine/program-rule/utils/value-converter.util.js +10 -0
  45. package/src/lib/modules/engine/program-rule/utils/value-converter.util.js.map +1 -0
  46. package/src/lib/modules/engine/program-rule/utils/z-score-wfa.util.d.ts +1 -0
  47. package/src/lib/modules/engine/program-rule/utils/z-score-wfa.util.js +182 -0
  48. package/src/lib/modules/engine/program-rule/utils/z-score-wfa.util.js.map +1 -0
  49. package/src/lib/modules/index.d.ts +2 -1
  50. package/src/lib/modules/index.js +2 -1
  51. package/src/lib/modules/index.js.map +1 -1
  52. package/src/lib/modules/program/models/program-rule-action.model.d.ts +4 -2
  53. package/src/lib/modules/program/models/program-rule-action.model.js.map +1 -1
  54. package/src/lib/modules/program/models/program-rule-variable.model.d.ts +2 -2
  55. package/src/lib/modules/program/models/program-rule.model.d.ts +1 -1
  56. package/src/lib/modules/program/models/program-rule.model.js +6 -2
  57. package/src/lib/modules/program/models/program-rule.model.js.map +1 -1
  58. package/src/lib/modules/program/models/program-section.model.d.ts +1 -1
  59. package/src/lib/modules/program/models/program-section.model.js +1 -1
  60. package/src/lib/modules/program/models/program-section.model.js.map +1 -1
  61. package/src/lib/modules/program/models/program.model.d.ts +3 -0
  62. package/src/lib/modules/program/models/program.model.js +6 -0
  63. package/src/lib/modules/program/models/program.model.js.map +1 -1
  64. package/src/lib/modules/program/program.module.d.ts +2 -2
  65. package/src/lib/modules/program/program.module.js +2 -2
  66. package/src/lib/modules/program/program.module.js.map +1 -1
  67. package/src/lib/modules/tracker/decorators/attribute-field.decorator.d.ts +1 -0
  68. package/src/lib/modules/tracker/decorators/attribute-field.decorator.js +28 -0
  69. package/src/lib/modules/tracker/decorators/attribute-field.decorator.js.map +1 -0
  70. package/src/lib/modules/tracker/decorators/data-element-field.decorator.d.ts +4 -0
  71. package/src/lib/modules/tracker/decorators/data-element-field.decorator.js +53 -0
  72. package/src/lib/modules/tracker/decorators/data-element-field.decorator.js.map +1 -0
  73. package/src/lib/modules/tracker/decorators/enrollment-date-field.decorator.d.ts +1 -0
  74. package/src/lib/modules/tracker/decorators/enrollment-date-field.decorator.js +22 -0
  75. package/src/lib/modules/tracker/decorators/enrollment-date-field.decorator.js.map +1 -0
  76. package/src/lib/modules/tracker/decorators/event-date-field.decorator.d.ts +1 -0
  77. package/src/lib/modules/tracker/decorators/event-date-field.decorator.js +21 -0
  78. package/src/lib/modules/tracker/decorators/event-date-field.decorator.js.map +1 -0
  79. package/src/lib/modules/tracker/decorators/event-field.decorator.d.ts +2 -0
  80. package/src/lib/modules/tracker/decorators/event-field.decorator.js +54 -0
  81. package/src/lib/modules/tracker/decorators/event-field.decorator.js.map +1 -0
  82. package/src/lib/modules/tracker/decorators/event-id-field.decorator.d.ts +1 -0
  83. package/src/lib/modules/tracker/decorators/event-id-field.decorator.js +21 -0
  84. package/src/lib/modules/tracker/decorators/event-id-field.decorator.js.map +1 -0
  85. package/src/lib/modules/tracker/decorators/event.decorator.d.ts +3 -0
  86. package/src/lib/modules/tracker/decorators/event.decorator.js +13 -0
  87. package/src/lib/modules/tracker/decorators/event.decorator.js.map +1 -0
  88. package/src/lib/modules/tracker/decorators/index.d.ts +11 -0
  89. package/src/lib/modules/tracker/decorators/index.js +15 -0
  90. package/src/lib/modules/tracker/decorators/index.js.map +1 -0
  91. package/src/lib/modules/tracker/decorators/org-unit-field.decorator.d.ts +3 -0
  92. package/src/lib/modules/tracker/decorators/org-unit-field.decorator.js +28 -0
  93. package/src/lib/modules/tracker/decorators/org-unit-field.decorator.js.map +1 -0
  94. package/src/lib/modules/tracker/decorators/relationship-field.decorator.d.ts +2 -0
  95. package/src/lib/modules/tracker/decorators/relationship-field.decorator.js +55 -0
  96. package/src/lib/modules/tracker/decorators/relationship-field.decorator.js.map +1 -0
  97. package/src/lib/modules/tracker/decorators/tracked-entity-id-field.decorator.d.ts +1 -0
  98. package/src/lib/modules/tracker/decorators/tracked-entity-id-field.decorator.js +22 -0
  99. package/src/lib/modules/tracker/decorators/tracked-entity-id-field.decorator.js.map +1 -0
  100. package/src/lib/modules/tracker/decorators/tracked-entity.decorator.d.ts +4 -0
  101. package/src/lib/modules/tracker/decorators/tracked-entity.decorator.js +14 -0
  102. package/src/lib/modules/tracker/decorators/tracked-entity.decorator.js.map +1 -0
  103. package/src/lib/modules/tracker/index.d.ts +6 -0
  104. package/src/lib/modules/tracker/index.js +10 -0
  105. package/src/lib/modules/tracker/index.js.map +1 -0
  106. package/src/lib/modules/tracker/interfaces/index.d.ts +2 -0
  107. package/src/lib/modules/tracker/interfaces/index.js +9 -0
  108. package/src/lib/modules/tracker/interfaces/index.js.map +1 -0
  109. package/src/lib/modules/tracker/interfaces/tracker-filter-condition.interface.d.ts +10 -0
  110. package/src/lib/modules/tracker/interfaces/tracker-filter-condition.interface.js +18 -0
  111. package/src/lib/modules/tracker/interfaces/tracker-filter-condition.interface.js.map +1 -0
  112. package/src/lib/modules/tracker/interfaces/tracker-query-filter.interface.d.ts +6 -0
  113. package/src/lib/modules/tracker/interfaces/tracker-query-filter.interface.js +6 -0
  114. package/src/lib/modules/tracker/interfaces/tracker-query-filter.interface.js.map +1 -0
  115. package/src/lib/modules/tracker/models/attribute.model.d.ts +16 -0
  116. package/src/lib/modules/tracker/models/attribute.model.js +3 -0
  117. package/src/lib/modules/tracker/models/attribute.model.js.map +1 -0
  118. package/src/lib/modules/tracker/models/base.model.d.ts +3 -0
  119. package/src/lib/modules/tracker/models/base.model.js +14 -0
  120. package/src/lib/modules/tracker/models/base.model.js.map +1 -0
  121. package/src/lib/modules/tracker/models/d2-event-response.model.d.ts +10 -0
  122. package/src/lib/modules/tracker/models/d2-event-response.model.js +38 -0
  123. package/src/lib/modules/tracker/models/d2-event-response.model.js.map +1 -0
  124. package/src/lib/modules/tracker/models/d2-tracker-response.model.d.ts +10 -0
  125. package/src/lib/modules/tracker/models/d2-tracker-response.model.js +38 -0
  126. package/src/lib/modules/tracker/models/d2-tracker-response.model.js.map +1 -0
  127. package/src/lib/modules/tracker/models/data-value.model.d.ts +47 -0
  128. package/src/lib/modules/tracker/models/data-value.model.js +35 -0
  129. package/src/lib/modules/tracker/models/data-value.model.js.map +1 -0
  130. package/src/lib/modules/tracker/models/enrollment.model.d.ts +73 -0
  131. package/src/lib/modules/tracker/models/enrollment.model.js +113 -0
  132. package/src/lib/modules/tracker/models/enrollment.model.js.map +1 -0
  133. package/src/lib/modules/tracker/models/event.model.d.ts +95 -0
  134. package/src/lib/modules/tracker/models/event.model.js +99 -0
  135. package/src/lib/modules/tracker/models/event.model.js.map +1 -0
  136. package/src/lib/modules/tracker/models/index.d.ts +14 -0
  137. package/src/lib/modules/tracker/models/index.js +18 -0
  138. package/src/lib/modules/tracker/models/index.js.map +1 -0
  139. package/src/lib/modules/tracker/models/tracked-entity-instance.model.d.ts +125 -0
  140. package/src/lib/modules/tracker/models/tracked-entity-instance.model.js +215 -0
  141. package/src/lib/modules/tracker/models/tracked-entity-instance.model.js.map +1 -0
  142. package/src/lib/modules/tracker/models/tracker-import-stats.model.d.ts +11 -0
  143. package/src/lib/modules/tracker/models/tracker-import-stats.model.js +28 -0
  144. package/src/lib/modules/tracker/models/tracker-import-stats.model.js.map +1 -0
  145. package/src/lib/modules/tracker/models/tracker-import-summary.model.d.ts +10 -0
  146. package/src/lib/modules/tracker/models/tracker-import-summary.model.js +21 -0
  147. package/src/lib/modules/tracker/models/tracker-import-summary.model.js.map +1 -0
  148. package/src/lib/modules/tracker/models/tracker-import-validation-report.model.d.ts +12 -0
  149. package/src/lib/modules/tracker/models/tracker-import-validation-report.model.js +39 -0
  150. package/src/lib/modules/tracker/models/tracker-import-validation-report.model.js.map +1 -0
  151. package/src/lib/modules/tracker/models/tracker-query-filter.model.d.ts +13 -0
  152. package/src/lib/modules/tracker/models/tracker-query-filter.model.js +39 -0
  153. package/src/lib/modules/tracker/models/tracker-query-filter.model.js.map +1 -0
  154. package/src/lib/modules/tracker/models/tracker-relationship.model.d.ts +28 -0
  155. package/src/lib/modules/tracker/models/tracker-relationship.model.js +58 -0
  156. package/src/lib/modules/tracker/models/tracker-relationship.model.js.map +1 -0
  157. package/src/lib/modules/tracker/models/tracker-url-generator.model.d.ts +20 -0
  158. package/src/lib/modules/tracker/models/tracker-url-generator.model.js +98 -0
  159. package/src/lib/modules/tracker/models/tracker-url-generator.model.js.map +1 -0
  160. package/src/lib/modules/tracker/queries/base-event.query.d.ts +22 -0
  161. package/src/lib/modules/tracker/queries/base-event.query.js +104 -0
  162. package/src/lib/modules/tracker/queries/base-event.query.js.map +1 -0
  163. package/src/lib/modules/tracker/queries/base-tracker.query.d.ts +32 -0
  164. package/src/lib/modules/tracker/queries/base-tracker.query.js +230 -0
  165. package/src/lib/modules/tracker/queries/base-tracker.query.js.map +1 -0
  166. package/src/lib/modules/tracker/queries/index.d.ts +2 -0
  167. package/src/lib/modules/tracker/queries/index.js +6 -0
  168. package/src/lib/modules/tracker/queries/index.js.map +1 -0
  169. package/src/lib/modules/tracker/tracker.module.d.ts +8 -0
  170. package/src/lib/modules/tracker/tracker.module.js +14 -0
  171. package/src/lib/modules/tracker/tracker.module.js.map +1 -0
  172. package/src/lib/modules/tracker/utils/attribute.util.d.ts +9 -0
  173. package/src/lib/modules/tracker/utils/attribute.util.js +49 -0
  174. package/src/lib/modules/tracker/utils/attribute.util.js.map +1 -0
  175. package/src/lib/modules/tracker/utils/enrollment.util.d.ts +17 -0
  176. package/src/lib/modules/tracker/utils/enrollment.util.js +57 -0
  177. package/src/lib/modules/tracker/utils/enrollment.util.js.map +1 -0
  178. package/src/lib/modules/tracker/utils/event.util.d.ts +16 -0
  179. package/src/lib/modules/tracker/utils/event.util.js +45 -0
  180. package/src/lib/modules/tracker/utils/event.util.js.map +1 -0
  181. package/src/lib/modules/tracker/utils/index.d.ts +5 -0
  182. package/src/lib/modules/tracker/utils/index.js +9 -0
  183. package/src/lib/modules/tracker/utils/index.js.map +1 -0
  184. package/src/lib/modules/tracker/utils/program-rule.util.d.ts +4 -0
  185. package/src/lib/modules/tracker/utils/program-rule.util.js +21 -0
  186. package/src/lib/modules/tracker/utils/program-rule.util.js.map +1 -0
  187. package/src/lib/modules/tracker/utils/tracked-entity-instance.util.d.ts +14 -0
  188. package/src/lib/modules/tracker/utils/tracked-entity-instance.util.js +58 -0
  189. package/src/lib/modules/tracker/utils/tracked-entity-instance.util.js.map +1 -0
  190. package/src/lib/modules/tracker/utils/tracker-relationship.util.d.ts +4 -0
  191. package/src/lib/modules/tracker/utils/tracker-relationship.util.js +11 -0
  192. package/src/lib/modules/tracker/utils/tracker-relationship.util.js.map +1 -0
  193. package/src/lib/shared/index.d.ts +1 -1
  194. package/src/lib/shared/index.js +1 -1
  195. package/src/lib/shared/index.js.map +1 -1
  196. package/src/lib/shared/models/base.model.d.ts +0 -1
  197. package/src/lib/shared/models/base.model.js +0 -4
  198. package/src/lib/shared/models/base.model.js.map +1 -1
  199. package/src/lib/shared/models/d2-response.model.js +5 -3
  200. package/src/lib/shared/models/d2-response.model.js.map +1 -1
  201. package/src/lib/shared/models/d2-web-config.model.d.ts +1 -1
  202. package/src/lib/shared/models/http-client.model.d.ts +1 -0
  203. package/src/lib/shared/models/http-client.model.js +12 -1
  204. package/src/lib/shared/models/http-client.model.js.map +1 -1
  205. package/src/lib/shared/models/http-response.model.d.ts +1 -0
  206. package/src/lib/shared/models/http-response.model.js +3 -0
  207. package/src/lib/shared/models/http-response.model.js.map +1 -1
  208. package/src/lib/shared/models/index.d.ts +2 -0
  209. package/src/lib/shared/models/index.js +2 -0
  210. package/src/lib/shared/models/index.js.map +1 -1
  211. package/src/lib/shared/queries/base-query.d.ts +15 -5
  212. package/src/lib/shared/queries/base-query.js +32 -26
  213. package/src/lib/shared/queries/base-query.js.map +1 -1
  214. package/src/lib/shared/utils/dhis-url-generator.util.js +1 -1
  215. package/src/lib/shared/utils/dhis-url-generator.util.js.map +1 -1
  216. package/src/lib/shared/utils/generate-uid.util.d.ts +2 -0
  217. package/src/lib/shared/utils/generate-uid.util.js +31 -0
  218. package/src/lib/shared/utils/generate-uid.util.js.map +1 -0
  219. package/src/lib/shared/utils/index.d.ts +1 -0
  220. package/src/lib/shared/utils/index.js +1 -0
  221. package/src/lib/shared/utils/index.js.map +1 -1
  222. package/src/lib/modules/organisation-unit/index.d.ts +0 -3
  223. package/src/lib/modules/organisation-unit/index.js.map +0 -1
  224. package/src/lib/modules/organisation-unit/models/index.d.ts +0 -3
  225. package/src/lib/modules/organisation-unit/models/index.js.map +0 -1
  226. package/src/lib/modules/organisation-unit/models/organisation-unit-group-set.model.d.ts +0 -44
  227. package/src/lib/modules/organisation-unit/models/organisation-unit-group-set.model.js +0 -55
  228. package/src/lib/modules/organisation-unit/models/organisation-unit-group-set.model.js.map +0 -1
  229. package/src/lib/modules/organisation-unit/models/organisation-unit-group.model.d.ts +0 -39
  230. package/src/lib/modules/organisation-unit/models/organisation-unit-group.model.js +0 -50
  231. package/src/lib/modules/organisation-unit/models/organisation-unit-group.model.js.map +0 -1
  232. package/src/lib/modules/organisation-unit/models/organisation-unit.model.d.ts +0 -56
  233. package/src/lib/modules/organisation-unit/models/organisation-unit.model.js +0 -68
  234. package/src/lib/modules/organisation-unit/models/organisation-unit.model.js.map +0 -1
  235. package/src/lib/modules/organisation-unit/organisation-unit.module.d.ts +0 -9
  236. package/src/lib/modules/organisation-unit/organisation-unit.module.js +0 -20
  237. package/src/lib/modules/organisation-unit/organisation-unit.module.js.map +0 -1
  238. package/src/lib/modules/organisation-unit/queries/index.d.ts +0 -3
  239. package/src/lib/modules/organisation-unit/queries/index.js +0 -10
  240. package/src/lib/modules/organisation-unit/queries/index.js.map +0 -1
  241. package/src/lib/modules/organisation-unit/queries/organisation-unit-group-set.query.d.ts +0 -5
  242. package/src/lib/modules/organisation-unit/queries/organisation-unit-group-set.query.js +0 -15
  243. package/src/lib/modules/organisation-unit/queries/organisation-unit-group-set.query.js.map +0 -1
  244. package/src/lib/modules/organisation-unit/queries/organisation-unit-group.query.d.ts +0 -5
  245. package/src/lib/modules/organisation-unit/queries/organisation-unit-group.query.js +0 -15
  246. package/src/lib/modules/organisation-unit/queries/organisation-unit-group.query.js.map +0 -1
  247. package/src/lib/modules/organisation-unit/queries/organisation-unit.query.d.ts +0 -5
  248. package/src/lib/modules/organisation-unit/queries/organisation-unit.query.js +0 -15
  249. package/src/lib/modules/organisation-unit/queries/organisation-unit.query.js.map +0 -1
  250. package/src/lib/shared/decorators/d2-property.decorator.d.ts +0 -2
  251. package/src/lib/shared/decorators/d2-property.decorator.js +0 -14
  252. package/src/lib/shared/decorators/d2-property.decorator.js.map +0 -1
  253. package/src/lib/shared/decorators/index.d.ts +0 -1
  254. package/src/lib/shared/decorators/index.js.map +0 -1
@@ -0,0 +1,17 @@
1
+ import { IEnrollment } from '../models';
2
+ export declare class EnrollmentUtil {
3
+ static getEnrollments(enrollmentResponse: Record<string, any>[], params: {
4
+ program: string;
5
+ trackedEntityType: string;
6
+ }): IEnrollment[];
7
+ static sortEnrollments(enrollments: IEnrollment[], sortOrder?: 'DESC' | 'ASC'): IEnrollment[];
8
+ static getLatestEnrollment(enrollments: IEnrollment[], skipSorting?: boolean): IEnrollment;
9
+ static setEnrollmentOrgUnit(enrollment: IEnrollment, orgUnit: string): IEnrollment;
10
+ static generate(options: {
11
+ date: string;
12
+ program: string;
13
+ trackedEntity: string;
14
+ trackedEntityType: string;
15
+ orgUnit: string;
16
+ }): IEnrollment;
17
+ }
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EnrollmentUtil = void 0;
4
+ const d2_web_sdk_1 = require("@iapps/d2-web-sdk");
5
+ const models_1 = require("../models");
6
+ class EnrollmentUtil {
7
+ static getEnrollments(enrollmentResponse, params) {
8
+ const enrollments = (enrollmentResponse || []).map((enrollment) => {
9
+ if (params.program) {
10
+ enrollment['program'] = params.program;
11
+ }
12
+ if (params.trackedEntityType) {
13
+ enrollment['trackedEntityType'] = params.trackedEntityType;
14
+ }
15
+ return new models_1.Enrollment(enrollment);
16
+ });
17
+ return EnrollmentUtil.sortEnrollments(enrollments);
18
+ }
19
+ static sortEnrollments(enrollments, sortOrder = 'DESC') {
20
+ return (enrollments || []).sort((a, b) => {
21
+ const dateA = new Date((a === null || a === void 0 ? void 0 : a.enrollmentDate) || (a === null || a === void 0 ? void 0 : a.enrollmentAt));
22
+ const dateB = new Date((b === null || b === void 0 ? void 0 : b.enrollmentDate) || (b === null || b === void 0 ? void 0 : b.enrollmentAt));
23
+ switch (sortOrder) {
24
+ case 'DESC':
25
+ return dateB - dateA;
26
+ case 'ASC':
27
+ default:
28
+ return dateA - dateB;
29
+ }
30
+ });
31
+ }
32
+ static getLatestEnrollment(enrollments, skipSorting = true) {
33
+ return ((skipSorting
34
+ ? enrollments
35
+ : EnrollmentUtil.sortEnrollments(enrollments)) || [])[0];
36
+ }
37
+ static setEnrollmentOrgUnit(enrollment, orgUnit) {
38
+ return Object.assign(Object.assign({}, enrollment), { orgUnit, orgUnitName: '' });
39
+ }
40
+ static generate(options) {
41
+ const { date, program, trackedEntity, trackedEntityType, orgUnit } = options;
42
+ return {
43
+ enrolledAt: date,
44
+ occurredAt: date,
45
+ createdAtClient: date,
46
+ program,
47
+ lastUpdated: date,
48
+ orgUnit,
49
+ trackedEntity,
50
+ enrollment: (0, d2_web_sdk_1.generateUid)(),
51
+ trackedEntityType,
52
+ events: [],
53
+ };
54
+ }
55
+ }
56
+ exports.EnrollmentUtil = EnrollmentUtil;
57
+ //# sourceMappingURL=enrollment.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enrollment.util.js","sourceRoot":"","sources":["../../../../../../../../packages/dhis2-web-sdk/src/lib/modules/tracker/utils/enrollment.util.ts"],"names":[],"mappings":";;;AAAA,kDAAgD;AAChD,sCAAoD;AAEpD,MAAa,cAAc;IACzB,MAAM,CAAC,cAAc,CACnB,kBAAyC,EACzC,MAAsD;QAEtD,MAAM,WAAW,GAAG,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;YAChE,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,UAAU,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC;YACzC,CAAC;YAED,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;gBAC7B,UAAU,CAAC,mBAAmB,CAAC,GAAG,MAAM,CAAC,iBAAiB,CAAC;YAC7D,CAAC;YAED,OAAO,IAAI,mBAAU,CAAC,UAAU,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,OAAO,cAAc,CAAC,eAAe,CAAC,WAAkB,CAAC,CAAC;IAC5D,CAAC;IACD,MAAM,CAAC,eAAe,CACpB,WAA0B,EAC1B,YAA4B,MAAM;QAElC,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE;YACjD,MAAM,KAAK,GAAQ,IAAI,IAAI,CAAC,CAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,cAAc,MAAI,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,YAAY,CAAA,CAAC,CAAC;YAClE,MAAM,KAAK,GAAQ,IAAI,IAAI,CAAC,CAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,cAAc,MAAI,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,YAAY,CAAA,CAAC,CAAC;YAElE,QAAQ,SAAS,EAAE,CAAC;gBAClB,KAAK,MAAM;oBACT,OAAO,KAAK,GAAG,KAAK,CAAC;gBACvB,KAAK,KAAK,CAAC;gBACX;oBACE,OAAO,KAAK,GAAG,KAAK,CAAC;YACzB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,mBAAmB,CACxB,WAA0B,EAC1B,WAAW,GAAG,IAAI;QAElB,OAAO,CAAC,CAAC,WAAW;YAClB,CAAC,CAAC,WAAW;YACb,CAAC,CAAC,cAAc,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,CAAC,oBAAoB,CACzB,UAAuB,EACvB,OAAe;QAEf,uCACK,UAAU,KACb,OAAO,EACP,WAAW,EAAE,EAAE,IACf;IACJ,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,OAMf;QACC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,OAAO,EAAE,GAChE,OAAO,CAAC;QACV,OAAO;YACL,UAAU,EAAE,IAAI;YAChB,UAAU,EAAE,IAAI;YAChB,eAAe,EAAE,IAAI;YACrB,OAAO;YACP,WAAW,EAAE,IAAI;YACjB,OAAO;YACP,aAAa;YACb,UAAU,EAAE,IAAA,wBAAW,GAAE;YACzB,iBAAiB;YACjB,MAAM,EAAE,EAAE;SACX,CAAC;IACJ,CAAC;CACF;AA/ED,wCA+EC"}
@@ -0,0 +1,16 @@
1
+ import { DHIS2Event } from '../models';
2
+ export declare class EventUtil {
3
+ static getEvents(eventList: Record<string, any>): DHIS2Event[];
4
+ static sortEvents(eventList: DHIS2Event[], sortOrder?: 'DESC' | 'ASC'): DHIS2Event[];
5
+ static generateEvent(params: {
6
+ program: string;
7
+ programStage: string;
8
+ orgUnit: string;
9
+ eventId?: string;
10
+ enrollment?: string;
11
+ trackedEntity?: string;
12
+ eventDate?: string;
13
+ }): DHIS2Event;
14
+ static getEventByStage(events: DHIS2Event[], programStage: string): DHIS2Event | undefined;
15
+ static getEventById(events: DHIS2Event[], eventId: string): DHIS2Event | undefined;
16
+ }
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EventUtil = void 0;
4
+ const d2_web_sdk_1 = require("@iapps/d2-web-sdk");
5
+ const models_1 = require("../models");
6
+ class EventUtil {
7
+ static getEvents(eventList) {
8
+ return eventList['map']((event) => new models_1.DHIS2Event(event));
9
+ }
10
+ static sortEvents(eventList, sortOrder = 'DESC') {
11
+ return (eventList || []).sort((a, b) => {
12
+ const dateA = new Date(a.dueDate);
13
+ const dateB = new Date(b.dueDate);
14
+ switch (sortOrder) {
15
+ case 'DESC':
16
+ return dateB - dateA;
17
+ case 'ASC':
18
+ default:
19
+ return dateA - dateB;
20
+ }
21
+ });
22
+ }
23
+ static generateEvent(params) {
24
+ return new models_1.DHIS2Event({
25
+ programStage: params === null || params === void 0 ? void 0 : params.programStage,
26
+ enrollment: params === null || params === void 0 ? void 0 : params.enrollment,
27
+ trackedEntity: params === null || params === void 0 ? void 0 : params.trackedEntity,
28
+ event: (params === null || params === void 0 ? void 0 : params.eventId) || (0, d2_web_sdk_1.generateUid)(),
29
+ orgUnit: params === null || params === void 0 ? void 0 : params.orgUnit,
30
+ program: params === null || params === void 0 ? void 0 : params.program,
31
+ status: 'ACTIVE',
32
+ eventDate: (params === null || params === void 0 ? void 0 : params.eventDate) || new Date().toISOString(),
33
+ dataValues: [],
34
+ dataValueEntities: {},
35
+ });
36
+ }
37
+ static getEventByStage(events, programStage) {
38
+ return (events || []).find((event) => event.programStage === programStage);
39
+ }
40
+ static getEventById(events, eventId) {
41
+ return (events || []).find((event) => event.event === eventId);
42
+ }
43
+ }
44
+ exports.EventUtil = EventUtil;
45
+ //# sourceMappingURL=event.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event.util.js","sourceRoot":"","sources":["../../../../../../../../packages/dhis2-web-sdk/src/lib/modules/tracker/utils/event.util.ts"],"names":[],"mappings":";;;AAAA,kDAAgD;AAChD,sCAAoD;AAEpD,MAAa,SAAS;IACpB,MAAM,CAAC,SAAS,CAAC,SAA8B;QAC7C,OAAO,SAAS,CAAC,KAAK,CAAC,CACrB,CAAC,KAA0B,EAAE,EAAE,CAAC,IAAI,mBAAU,CAAC,KAAK,CAAC,CACtD,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,UAAU,CACf,SAAuB,EACvB,YAA4B,MAAM;QAElC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACrC,MAAM,KAAK,GAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,OAAc,CAAC,CAAC;YAC9C,MAAM,KAAK,GAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,OAAc,CAAC,CAAC;YAE9C,QAAQ,SAAS,EAAE,CAAC;gBAClB,KAAK,MAAM;oBACT,OAAO,KAAK,GAAG,KAAK,CAAC;gBACvB,KAAK,KAAK,CAAC;gBACX;oBACE,OAAO,KAAK,GAAG,KAAK,CAAC;YACzB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,MAQpB;QACC,OAAO,IAAI,mBAAU,CAAC;YACpB,YAAY,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY;YAClC,UAAU,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU;YAC9B,aAAa,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa;YACpC,KAAK,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,KAAI,IAAA,wBAAW,GAAE;YACvC,OAAO,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO;YACxB,OAAO,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO;YACxB,MAAM,EAAE,QAAQ;YAChB,SAAS,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,KAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACxD,UAAU,EAAE,EAAE;YACd,iBAAiB,EAAE,EAAE;SACtB,CAAQ,CAAC;IACZ,CAAC;IAED,MAAM,CAAC,eAAe,CACpB,MAAoB,EACpB,YAAoB;QAEpB,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,KAAK,YAAY,CAAC,CAAC;IAC7E,CAAC;IAED,MAAM,CAAC,YAAY,CACjB,MAAoB,EACpB,OAAe;QAEf,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC;IACjE,CAAC;CACF;AA7DD,8BA6DC"}
@@ -0,0 +1,5 @@
1
+ export * from './attribute.util';
2
+ export * from './tracked-entity-instance.util';
3
+ export * from './enrollment.util';
4
+ export * from './tracker-relationship.util';
5
+ export * from './event.util';
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./attribute.util"), exports);
5
+ tslib_1.__exportStar(require("./tracked-entity-instance.util"), exports);
6
+ tslib_1.__exportStar(require("./enrollment.util"), exports);
7
+ tslib_1.__exportStar(require("./tracker-relationship.util"), exports);
8
+ tslib_1.__exportStar(require("./event.util"), exports);
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../packages/dhis2-web-sdk/src/lib/modules/tracker/utils/index.ts"],"names":[],"mappings":";;;AAAA,2DAAiC;AACjC,yEAA+C;AAC/C,4DAAkC;AAClC,sEAA4C;AAC5C,uDAA6B"}
@@ -0,0 +1,4 @@
1
+ export declare class ProgramRuleUtil {
2
+ static getProgramRuleActions(attributeObjects: any, programRules: any, programRuleVariables: any): void;
3
+ static getProgramRuleActionsOnStage(attributeObjects: any, programRules: any, programRuleVariables: any): void;
4
+ }
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ProgramRuleUtil = void 0;
4
+ class ProgramRuleUtil {
5
+ static getProgramRuleActions(attributeObjects, programRules, programRuleVariables) {
6
+ // return new ProgramRuleEngine(
7
+ // attributeObjects,
8
+ // programRules,
9
+ // programRuleVariables
10
+ // ).execute();
11
+ }
12
+ static getProgramRuleActionsOnStage(attributeObjects, programRules, programRuleVariables) {
13
+ // return new ProgramRuleEngine(
14
+ // attributeObjects,
15
+ // programRules,
16
+ // programRuleVariables
17
+ // ).executeOnStage();
18
+ }
19
+ }
20
+ exports.ProgramRuleUtil = ProgramRuleUtil;
21
+ //# sourceMappingURL=program-rule.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"program-rule.util.js","sourceRoot":"","sources":["../../../../../../../../packages/dhis2-web-sdk/src/lib/modules/tracker/utils/program-rule.util.ts"],"names":[],"mappings":";;;AAAA,MAAa,eAAe;IAC1B,MAAM,CAAC,qBAAqB,CAC1B,gBAAqB,EACrB,YAAiB,EACjB,oBAAyB;QAEzB,gCAAgC;QAChC,sBAAsB;QACtB,kBAAkB;QAClB,yBAAyB;QACzB,eAAe;IACjB,CAAC;IAED,MAAM,CAAC,4BAA4B,CACjC,gBAAqB,EACrB,YAAiB,EACjB,oBAAyB;QAEzB,gCAAgC;QAChC,sBAAsB;QACtB,kBAAkB;QAClB,yBAAyB;QACzB,sBAAsB;IACxB,CAAC;CACF;AAxBD,0CAwBC"}
@@ -0,0 +1,14 @@
1
+ import { ITrackedEntityInstance } from '../models';
2
+ export declare class TrackedEntityInstanceUtil {
3
+ static getProgramDateQueryParams(date: string, dateType: string): string | undefined;
4
+ static getProgramOrgUnitQueryParams(orgUnit: string, ouMode: string): string;
5
+ static getPagingQueryParams(page: number, pageSize: number, paging: boolean): string;
6
+ static getAttributeFilterQueryParams(attribute: string, value: string, operator: 'EQ' | 'GT' | 'LT' | 'LIKE' | 'NE'): string | undefined;
7
+ static getFieldsQueryParams(attributeFields: string, enrollmentFields: string): string;
8
+ static generate(options: {
9
+ trackedEntity?: string;
10
+ trackedEntityType?: string;
11
+ program?: string;
12
+ orgUnit: string;
13
+ }): Partial<ITrackedEntityInstance>;
14
+ }
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TrackedEntityInstanceUtil = void 0;
4
+ const d2_web_sdk_1 = require("@iapps/d2-web-sdk");
5
+ const enrollment_util_1 = require("./enrollment.util");
6
+ class TrackedEntityInstanceUtil {
7
+ static getProgramDateQueryParams(date, dateType) {
8
+ switch (dateType) {
9
+ case 'START_DATE':
10
+ return date ? `programStartDate=${date}` : undefined;
11
+ case 'END_DATE':
12
+ return date ? `programEndDate=${date}` : undefined;
13
+ default:
14
+ return undefined;
15
+ }
16
+ }
17
+ static getProgramOrgUnitQueryParams(orgUnit, ouMode) {
18
+ return orgUnit ? `ou=${orgUnit}&ouMode=${ouMode || 'SELECTED'}` : '';
19
+ }
20
+ static getPagingQueryParams(page, pageSize, paging) {
21
+ if (!paging) {
22
+ return 'paging=false';
23
+ }
24
+ return `page=${page || 1}&pageSize=${pageSize || 50}&skipPaging=false&totalPages=true`;
25
+ }
26
+ static getAttributeFilterQueryParams(attribute, value, operator) {
27
+ return value ? `filter=${attribute}:${operator}:${value}` : undefined;
28
+ }
29
+ static getFieldsQueryParams(attributeFields, enrollmentFields) {
30
+ return `fields=attributes[${attributeFields}],relationships,enrollments[${enrollmentFields}],orgUnit,trackedEntityInstance`;
31
+ }
32
+ static generate(options) {
33
+ const { trackedEntityType, program, orgUnit, trackedEntity } = options;
34
+ const date = new Date().toISOString();
35
+ const trackedEntityId = trackedEntity !== null && trackedEntity !== void 0 ? trackedEntity : (0, d2_web_sdk_1.generateUid)();
36
+ const initialTrackedEntityInstance = {
37
+ orgUnit,
38
+ trackedEntity: trackedEntityId,
39
+ trackedEntityInstance: trackedEntityId,
40
+ trackedEntityType,
41
+ attributes: [],
42
+ };
43
+ if (!program) {
44
+ return initialTrackedEntityInstance;
45
+ }
46
+ return Object.assign(Object.assign({}, initialTrackedEntityInstance), { enrollments: [
47
+ enrollment_util_1.EnrollmentUtil.generate({
48
+ date,
49
+ program,
50
+ trackedEntity: trackedEntityId,
51
+ trackedEntityType: trackedEntityType,
52
+ orgUnit,
53
+ }),
54
+ ] });
55
+ }
56
+ }
57
+ exports.TrackedEntityInstanceUtil = TrackedEntityInstanceUtil;
58
+ //# sourceMappingURL=tracked-entity-instance.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracked-entity-instance.util.js","sourceRoot":"","sources":["../../../../../../../../packages/dhis2-web-sdk/src/lib/modules/tracker/utils/tracked-entity-instance.util.ts"],"names":[],"mappings":";;;AAAA,kDAAgD;AAEhD,uDAAmD;AAEnD,MAAa,yBAAyB;IACpC,MAAM,CAAC,yBAAyB,CAC9B,IAAY,EACZ,QAAgB;QAEhB,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,YAAY;gBACf,OAAO,IAAI,CAAC,CAAC,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YACvD,KAAK,UAAU;gBACb,OAAO,IAAI,CAAC,CAAC,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YACrD;gBACE,OAAO,SAAS,CAAC;QACrB,CAAC;IACH,CAAC;IAED,MAAM,CAAC,4BAA4B,CAAC,OAAe,EAAE,MAAc;QACjE,OAAO,OAAO,CAAC,CAAC,CAAC,MAAM,OAAO,WAAW,MAAM,IAAI,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACvE,CAAC;IAED,MAAM,CAAC,oBAAoB,CACzB,IAAY,EACZ,QAAgB,EAChB,MAAe;QAEf,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,cAAc,CAAC;QACxB,CAAC;QACD,OAAO,QAAQ,IAAI,IAAI,CAAC,aACtB,QAAQ,IAAI,EACd,mCAAmC,CAAC;IACtC,CAAC;IAED,MAAM,CAAC,6BAA6B,CAClC,SAAiB,EACjB,KAAa,EACb,QAA4C;QAE5C,OAAO,KAAK,CAAC,CAAC,CAAC,UAAU,SAAS,IAAI,QAAQ,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACxE,CAAC;IAED,MAAM,CAAC,oBAAoB,CACzB,eAAuB,EACvB,gBAAwB;QAExB,OAAO,qBAAqB,eAAe,+BAA+B,gBAAgB,iCAAiC,CAAC;IAC9H,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,OAKf;QACC,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;QACvE,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACtC,MAAM,eAAe,GAAG,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,IAAA,wBAAW,GAAE,CAAC;QAEvD,MAAM,4BAA4B,GAAG;YACnC,OAAO;YACP,aAAa,EAAE,eAAe;YAC9B,qBAAqB,EAAE,eAAe;YACtC,iBAAiB;YACjB,UAAU,EAAE,EAAE;SACf,CAAC;QAEF,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,4BAA4B,CAAC;QACtC,CAAC;QAED,uCACK,4BAA4B,KAC/B,WAAW,EAAE;gBACX,gCAAc,CAAC,QAAQ,CAAC;oBACtB,IAAI;oBACJ,OAAO;oBACP,aAAa,EAAE,eAAe;oBAC9B,iBAAiB,EAAE,iBAAwB;oBAC3C,OAAO;iBACR,CAAC;aACH,IACD;IACJ,CAAC;CACF;AAlFD,8DAkFC"}
@@ -0,0 +1,4 @@
1
+ import { TrackerRelationship } from '../models';
2
+ export declare class TrackerRelationshipUtil {
3
+ static getRelationships(relationshipResponses: Record<string, any>[], currentTrackedEntityInstance: string): TrackerRelationship[];
4
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TrackerRelationshipUtil = void 0;
4
+ const models_1 = require("../models");
5
+ class TrackerRelationshipUtil {
6
+ static getRelationships(relationshipResponses, currentTrackedEntityInstance) {
7
+ return relationshipResponses.map((relation) => new models_1.TrackerRelationship(relation, currentTrackedEntityInstance));
8
+ }
9
+ }
10
+ exports.TrackerRelationshipUtil = TrackerRelationshipUtil;
11
+ //# sourceMappingURL=tracker-relationship.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracker-relationship.util.js","sourceRoot":"","sources":["../../../../../../../../packages/dhis2-web-sdk/src/lib/modules/tracker/utils/tracker-relationship.util.ts"],"names":[],"mappings":";;;AAAA,sCAAgD;AAEhD,MAAa,uBAAuB;IAClC,MAAM,CAAC,gBAAgB,CACrB,qBAA4C,EAC5C,4BAAoC;QAEpC,OAAO,qBAAqB,CAAC,GAAG,CAC9B,CAAC,QAAQ,EAAE,EAAE,CACX,IAAI,4BAAmB,CAAC,QAAQ,EAAE,4BAA4B,CAAC,CAClE,CAAC;IACJ,CAAC;CACF;AAVD,0DAUC"}
@@ -1,3 +1,3 @@
1
1
  export * from './models';
2
2
  export * from './queries';
3
- export * from './decorators';
3
+ export * from './utils';
@@ -6,5 +6,5 @@ const tslib_1 = require("tslib");
6
6
  // license that can be found in the LICENSE file.
7
7
  tslib_1.__exportStar(require("./models"), exports);
8
8
  tslib_1.__exportStar(require("./queries"), exports);
9
- tslib_1.__exportStar(require("./decorators"), exports);
9
+ tslib_1.__exportStar(require("./utils"), exports);
10
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/dhis2-web-sdk/src/lib/shared/index.ts"],"names":[],"mappings":";;;AAAA,sDAAsD;AACtD,qDAAqD;AACrD,iDAAiD;AACjD,mDAAyB;AACzB,oDAA0B;AAC1B,uDAA6B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/dhis2-web-sdk/src/lib/shared/index.ts"],"names":[],"mappings":";;;AAAA,sDAAsD;AACtD,qDAAqD;AACrD,iDAAiD;AACjD,mDAAyB;AACzB,oDAA0B;AAC1B,kDAAwB"}
@@ -4,5 +4,4 @@ export declare class IBaseSDKModel {
4
4
  export declare class BaseSDKModel<T extends IBaseSDKModel> {
5
5
  [attribute: string]: unknown;
6
6
  constructor(model: Partial<T>);
7
- static getProperties(): any;
8
7
  }
@@ -8,15 +8,11 @@ class IBaseSDKModel {
8
8
  }
9
9
  exports.IBaseSDKModel = IBaseSDKModel;
10
10
  class BaseSDKModel {
11
- // #propertyMetadata: Record<string, unknown>;
12
11
  constructor(model) {
13
12
  Object.keys(model).forEach((key) => {
14
13
  this[key] = model[key];
15
14
  });
16
15
  }
17
- static getProperties() {
18
- return this._propertyMetadata;
19
- }
20
16
  }
21
17
  exports.BaseSDKModel = BaseSDKModel;
22
18
  //# sourceMappingURL=base.model.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base.model.js","sourceRoot":"","sources":["../../../../../../../packages/dhis2-web-sdk/src/lib/shared/models/base.model.ts"],"names":[],"mappings":";;;AAAA,sDAAsD;AACtD,qDAAqD;AACrD,iDAAiD;AACjD,MAAa,aAAa;CAEzB;AAFD,sCAEC;AAED,MAAa,YAAY;IAEvB,8CAA8C;IAC9C,YAAY,KAAiB;QAC3B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACjC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,aAAa;QAClB,OAAQ,IAAY,CAAC,iBAAiB,CAAC;IACzC,CAAC;CACF;AAZD,oCAYC"}
1
+ {"version":3,"file":"base.model.js","sourceRoot":"","sources":["../../../../../../../packages/dhis2-web-sdk/src/lib/shared/models/base.model.ts"],"names":[],"mappings":";;;AAAA,sDAAsD;AACtD,qDAAqD;AACrD,iDAAiD;AACjD,MAAa,aAAa;CAEzB;AAFD,sCAEC;AAED,MAAa,YAAY;IAEvB,YAAY,KAAiB;QAC3B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACjC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAPD,oCAOC"}
@@ -21,9 +21,11 @@ class D2Response {
21
21
  return new pager_model_1.Pager(data['pager']);
22
22
  }
23
23
  getData(dataResponse, model) {
24
- const data = dataResponse[model.resourceName];
25
- if (!data && (0, lodash_1.isPlainObject)(dataResponse)) {
26
- return new model(dataResponse);
24
+ const data = (0, lodash_1.isPlainObject)(dataResponse)
25
+ ? dataResponse[model.resourceName] || dataResponse
26
+ : dataResponse;
27
+ if ((0, lodash_1.isPlainObject)(data)) {
28
+ return new model(data);
27
29
  }
28
30
  return (0, lodash_1.isArray)(data)
29
31
  ? data.map((dataItem) => new model(dataItem))
@@ -1 +1 @@
1
- {"version":3,"file":"d2-response.model.js","sourceRoot":"","sources":["../../../../../../../packages/dhis2-web-sdk/src/lib/shared/models/d2-response.model.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,qDAAqD;AACrD,iDAAiD;;;AAEjD,mCAAgD;AAMhD,+CAAsC;AAEtC,MAAa,UAAU;IAKrB,YAAY,QAAwB,EAAE,KAAwB;QAC5D,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAC;QAE9C,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;YAClB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACpD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAED,aAAa,CAAC,IAA6B;QACzC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACnB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,IAAI,mBAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,CAAC,YAAqC,EAAE,KAAwB;QACrE,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAE9C,IAAI,CAAC,IAAI,IAAI,IAAA,sBAAa,EAAC,YAAY,CAAC,EAAE,CAAC;YACzC,OAAO,IAAK,KAAa,CAAC,YAAY,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO,IAAA,gBAAO,EAAC,IAAI,CAAC;YAClB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAK,KAAa,CAAC,QAAQ,CAAC,CAAC;YACtD,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;CACF;AAjCD,gCAiCC"}
1
+ {"version":3,"file":"d2-response.model.js","sourceRoot":"","sources":["../../../../../../../packages/dhis2-web-sdk/src/lib/shared/models/d2-response.model.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,qDAAqD;AACrD,iDAAiD;;;AAEjD,mCAAgD;AAMhD,+CAAsC;AAEtC,MAAa,UAAU;IAKrB,YAAY,QAAwB,EAAE,KAAwB;QAC5D,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAC;QAE9C,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;YAClB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACpD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAED,aAAa,CAAC,IAA6B;QACzC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACnB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,IAAI,mBAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,CAAC,YAAqC,EAAE,KAAwB;QACrE,MAAM,IAAI,GAAG,IAAA,sBAAa,EAAC,YAAY,CAAC;YACtC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,YAAY;YAClD,CAAC,CAAC,YAAY,CAAC;QAEjB,IAAI,IAAA,sBAAa,EAAC,IAAI,CAAC,EAAE,CAAC;YACxB,OAAO,IAAK,KAAa,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;QAED,OAAO,IAAA,gBAAO,EAAC,IAAI,CAAC;YAClB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAK,KAAa,CAAC,QAAQ,CAAC,CAAC;YACtD,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;CACF;AAnCD,gCAmCC"}
@@ -1,6 +1,6 @@
1
1
  import { AxiosDefaults } from 'axios';
2
2
  export declare class D2WebConfig {
3
- baseUrl: string;
3
+ baseUrl?: string;
4
4
  locale?: string;
5
5
  httpClientConfig?: Partial<AxiosDefaults>;
6
6
  constructor(config: Partial<D2WebConfig>);
@@ -4,4 +4,5 @@ export declare class D2HttpClient {
4
4
  #private;
5
5
  constructor(config: AxiosDefaults);
6
6
  get(url: string): Promise<D2HttpResponse>;
7
+ post(url: string, data: Record<string, unknown>): Promise<D2HttpResponse>;
7
8
  }
@@ -16,7 +16,18 @@ class D2HttpClient {
16
16
  get(url) {
17
17
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
18
18
  try {
19
- const response = yield tslib_1.__classPrivateFieldGet(this, _D2HttpClient_axiosInstance, "f").get(`api/${url}`);
19
+ const response = yield tslib_1.__classPrivateFieldGet(this, _D2HttpClient_axiosInstance, "f").get(`../../../api/${url}`);
20
+ return new http_response_model_1.D2HttpResponse(response);
21
+ }
22
+ catch (error) {
23
+ return new http_response_model_1.D2HttpResponse(error);
24
+ }
25
+ });
26
+ }
27
+ post(url, data) {
28
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
29
+ try {
30
+ const response = yield tslib_1.__classPrivateFieldGet(this, _D2HttpClient_axiosInstance, "f").post(`../../../api/${url}`, data);
20
31
  return new http_response_model_1.D2HttpResponse(response);
21
32
  }
22
33
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"http-client.model.js","sourceRoot":"","sources":["../../../../../../../packages/dhis2-web-sdk/src/lib/shared/models/http-client.model.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,qDAAqD;AACrD,iDAAiD;;;;;AAEjD,0DAA4D;AAC5D,+DAAuD;AAEvD,MAAa,YAAY;IAGvB,YAAY,MAAqB;QAFjC,8CAA+B;QAG7B,+BAAA,IAAI,+BAAkB,eAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAA,CAAC;IAC7C,CAAC;IAEK,GAAG,CAAC,GAAW;;YACnB,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,+BAAA,IAAI,mCAAe,CAAC,GAAG,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;gBAE7D,OAAO,IAAI,oCAAc,CAAC,QAA8C,CAAC,CAAC;YAC5E,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,IAAI,oCAAc,CAAC,KAA2C,CAAC,CAAC;YACzE,CAAC;QACH,CAAC;KAAA;CACF;AAhBD,oCAgBC"}
1
+ {"version":3,"file":"http-client.model.js","sourceRoot":"","sources":["../../../../../../../packages/dhis2-web-sdk/src/lib/shared/models/http-client.model.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,qDAAqD;AACrD,iDAAiD;;;;;AAEjD,0DAA4D;AAC5D,+DAAuD;AAEvD,MAAa,YAAY;IAGvB,YAAY,MAAqB;QAFjC,8CAA+B;QAG7B,+BAAA,IAAI,+BAAkB,eAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAA,CAAC;IAC7C,CAAC;IAEK,GAAG,CAAC,GAAW;;YACnB,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,+BAAA,IAAI,mCAAe,CAAC,GAAG,CAAC,gBAAgB,GAAG,EAAE,CAAC,CAAC;gBAEtE,OAAO,IAAI,oCAAc,CAAC,QAA8C,CAAC,CAAC;YAC5E,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,IAAI,oCAAc,CAAC,KAA2C,CAAC,CAAC;YACzE,CAAC;QACH,CAAC;KAAA;IAEK,IAAI,CACR,GAAW,EACX,IAA6B;;YAE7B,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,+BAAA,IAAI,mCAAe,CAAC,IAAI,CAC7C,gBAAgB,GAAG,EAAE,EACrB,IAAI,CACL,CAAC;gBAEF,OAAO,IAAI,oCAAc,CAAC,QAA8C,CAAC,CAAC;YAC5E,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,IAAI,oCAAc,CAAC,KAA2C,CAAC,CAAC;YACzE,CAAC;QACH,CAAC;KAAA;CACF;AAhCD,oCAgCC"}
@@ -3,6 +3,7 @@ export declare class D2HttpResponseStatus extends BaseSDKModel<D2HttpResponseSta
3
3
  status: number;
4
4
  statusText: string;
5
5
  message?: any;
6
+ get isSuccess(): boolean;
6
7
  }
7
8
  export declare class D2HttpResponse {
8
9
  data?: Record<string, unknown>;
@@ -7,6 +7,9 @@ exports.D2HttpResponse = exports.D2HttpResponseStatus = void 0;
7
7
  const axios_1 = require("axios");
8
8
  const base_model_1 = require("./base.model");
9
9
  class D2HttpResponseStatus extends base_model_1.BaseSDKModel {
10
+ get isSuccess() {
11
+ return this.status >= 200 && this.status < 300;
12
+ }
10
13
  }
11
14
  exports.D2HttpResponseStatus = D2HttpResponseStatus;
12
15
  class D2HttpResponse {
@@ -1 +1 @@
1
- {"version":3,"file":"http-response.model.js","sourceRoot":"","sources":["../../../../../../../packages/dhis2-web-sdk/src/lib/shared/models/http-response.model.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,qDAAqD;AACrD,iDAAiD;;;AAEjD,iCAAmC;AACnC,6CAA4C;AAE5C,MAAa,oBAAqB,SAAQ,yBAAkC;CAI3E;AAJD,oDAIC;AAED,MAAa,cAAc;IAIzB,YAAY,QAAiC;;QAC3C,IAAI,QAAQ,YAAY,kBAAU,EAAE,CAAC;YACnC,IAAI,CAAC,cAAc,GAAG,IAAI,oBAAoB,CAAC;gBAC7C,MAAM,EAAE,QAAQ,CAAC,MAAM,KAAI,MAAA,QAAQ,CAAC,QAAQ,0CAAE,MAAM,CAAA;gBACpD,UAAU,EAAE,CAAA,MAAA,QAAQ,CAAC,QAAQ,0CAAE,UAAU,KAAI,QAAQ,CAAC,OAAO;gBAC7D,OAAO,EAAE,CAAA,MAAA,QAAQ,CAAC,QAAQ,0CAAE,IAAI,KAAI,QAAQ,CAAC,OAAO;aACrD,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,MAAM,CAA4B,CAAC;YACxD,IAAI,CAAC,cAAc,GAAG,IAAI,oBAAoB,CAAC;gBAC7C,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAW;gBACpC,UAAU,EAAE,QAAQ,CAAC,YAAY,CAAW;aAC7C,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF;AAnBD,wCAmBC"}
1
+ {"version":3,"file":"http-response.model.js","sourceRoot":"","sources":["../../../../../../../packages/dhis2-web-sdk/src/lib/shared/models/http-response.model.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,qDAAqD;AACrD,iDAAiD;;;AAEjD,iCAAmC;AACnC,6CAA4C;AAE5C,MAAa,oBAAqB,SAAQ,yBAAkC;IAK1E,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;IACjD,CAAC;CACF;AARD,oDAQC;AAED,MAAa,cAAc;IAIzB,YAAY,QAAiC;;QAC3C,IAAI,QAAQ,YAAY,kBAAU,EAAE,CAAC;YACnC,IAAI,CAAC,cAAc,GAAG,IAAI,oBAAoB,CAAC;gBAC7C,MAAM,EAAE,QAAQ,CAAC,MAAM,KAAI,MAAA,QAAQ,CAAC,QAAQ,0CAAE,MAAM,CAAA;gBACpD,UAAU,EAAE,CAAA,MAAA,QAAQ,CAAC,QAAQ,0CAAE,UAAU,KAAI,QAAQ,CAAC,OAAO;gBAC7D,OAAO,EAAE,CAAA,MAAA,QAAQ,CAAC,QAAQ,0CAAE,IAAI,KAAI,QAAQ,CAAC,OAAO;aACrD,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,MAAM,CAA4B,CAAC;YACxD,IAAI,CAAC,cAAc,GAAG,IAAI,oBAAoB,CAAC;gBAC7C,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAW;gBACpC,UAAU,EAAE,QAAQ,CAAC,YAAY,CAAW;aAC7C,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF;AAnBD,wCAmBC"}
@@ -9,3 +9,5 @@ export * from './http-client.model';
9
9
  export * from './pager.model';
10
10
  export * from './d2-response.model';
11
11
  export * from './relationship-direction.model';
12
+ export * from './http-response.model';
13
+ export * from './http-client-config.model';
@@ -15,4 +15,6 @@ tslib_1.__exportStar(require("./http-client.model"), exports);
15
15
  tslib_1.__exportStar(require("./pager.model"), exports);
16
16
  tslib_1.__exportStar(require("./d2-response.model"), exports);
17
17
  tslib_1.__exportStar(require("./relationship-direction.model"), exports);
18
+ tslib_1.__exportStar(require("./http-response.model"), exports);
19
+ tslib_1.__exportStar(require("./http-client-config.model"), exports);
18
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/dhis2-web-sdk/src/lib/shared/models/index.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,qDAAqD;AACrD,iDAAiD;;;AAEjD,sEAA4C;AAC5C,+DAAqC;AACrC,kEAAwC;AACxC,wDAA8B;AAC9B,uDAA6B;AAC7B,oEAA0C;AAC1C,gEAAsC;AACtC,8DAAoC;AACpC,wDAA8B;AAC9B,8DAAoC;AACpC,yEAA+C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/dhis2-web-sdk/src/lib/shared/models/index.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,qDAAqD;AACrD,iDAAiD;;;AAEjD,sEAA4C;AAC5C,+DAAqC;AACrC,kEAAwC;AACxC,wDAA8B;AAC9B,uDAA6B;AAC7B,oEAA0C;AAC1C,gEAAsC;AACtC,8DAAoC;AACpC,wDAA8B;AAC9B,8DAAoC;AACpC,yEAA+C;AAC/C,gEAAsC;AACtC,qEAA2C"}
@@ -1,14 +1,24 @@
1
- import { BaseIdentifiable, D2HttpClient, D2Response, IBaseIdentifiable, Pager, QueryFilter, RelationshipDirection } from '../models';
1
+ import { BaseIdentifiable, D2HttpClient, D2Response, IBaseIdentifiable, JunctionOperator, Pager, QueryFilter, QueryModel, RelationshipDirection } from '../models';
2
2
  export declare class BaseQuery<T extends BaseIdentifiable, U> {
3
- #private;
4
3
  protected identifiable: IBaseIdentifiable;
5
4
  protected httpClient: D2HttpClient;
6
5
  filters: QueryFilter[];
6
+ id?: string;
7
7
  fields: U[];
8
+ resourceName: string;
9
+ singularResourceName: string;
10
+ pagination: Pager;
11
+ junctionOperator?: JunctionOperator;
8
12
  constructor(identifiable: IBaseIdentifiable, httpClient: D2HttpClient);
9
- select(fields: U[]): BaseQuery<T, U>;
10
- paginate(pagination: Pager): BaseQuery<T, U>;
11
- byId(id: string): BaseQuery<T, U>;
13
+ select(fields: U[]): this;
14
+ paginate(pagination: Pager): this;
15
+ byId(id: string): this;
16
+ where(params: {
17
+ attribute: U;
18
+ value: string;
19
+ }): this;
12
20
  with(modelQuery: BaseQuery<any, any>, relationshipDirection?: RelationshipDirection): this;
21
+ query(): QueryModel<U>;
22
+ dhisUrl(): string;
13
23
  get(): Promise<D2Response<T>>;
14
24
  }
@@ -2,7 +2,6 @@
2
2
  // Copyright 2024 UDSM DHIS2 Lab. All rights reserved.
3
3
  // Use of this source code is governed by a BSD-style
4
4
  // license that can be found in the LICENSE file.
5
- var _BaseQuery_instances, _BaseQuery_id, _BaseQuery_resourceName, _BaseQuery_singularResourceName, _BaseQuery_pagination, _BaseQuery_junctionOperator, _BaseQuery_query, _BaseQuery_dhisUrl;
6
5
  Object.defineProperty(exports, "__esModule", { value: true });
7
6
  exports.BaseQuery = void 0;
8
7
  const tslib_1 = require("tslib");
@@ -10,61 +9,68 @@ const models_1 = require("../models");
10
9
  const utils_1 = require("../utils");
11
10
  class BaseQuery {
12
11
  constructor(identifiable, httpClient) {
13
- _BaseQuery_instances.add(this);
14
12
  this.identifiable = identifiable;
15
13
  this.httpClient = httpClient;
16
14
  this.filters = [];
17
- _BaseQuery_id.set(this, void 0);
18
- _BaseQuery_resourceName.set(this, void 0);
19
- _BaseQuery_singularResourceName.set(this, void 0);
20
- _BaseQuery_pagination.set(this, new models_1.Pager());
21
- _BaseQuery_junctionOperator.set(this, void 0);
15
+ this.pagination = new models_1.Pager();
22
16
  this.fields = identifiable.fields;
23
- tslib_1.__classPrivateFieldSet(this, _BaseQuery_resourceName, identifiable.resourceName, "f");
24
- tslib_1.__classPrivateFieldSet(this, _BaseQuery_singularResourceName, identifiable.singularResourceName, "f");
17
+ this.resourceName = identifiable.resourceName;
18
+ this.singularResourceName = identifiable.singularResourceName;
25
19
  }
26
20
  select(fields) {
27
21
  this.fields = fields;
28
22
  return this;
29
23
  }
30
24
  paginate(pagination) {
31
- tslib_1.__classPrivateFieldSet(this, _BaseQuery_pagination, pagination, "f");
25
+ this.pagination = pagination;
32
26
  return this;
33
27
  }
34
28
  byId(id) {
35
- tslib_1.__classPrivateFieldSet(this, _BaseQuery_id, id, "f");
29
+ this.id = id;
36
30
  this.filters = [];
37
31
  return this;
38
32
  }
33
+ where(params) {
34
+ this.filters = [
35
+ ...this.filters,
36
+ new models_1.QueryFilter({
37
+ attribute: params.attribute,
38
+ value: params.value,
39
+ condition: models_1.QueryCondition.Equal,
40
+ }),
41
+ ];
42
+ return this;
43
+ }
39
44
  with(modelQuery, relationshipDirection = 'ToMany') {
40
45
  var _a;
41
46
  // TODO: This currently suport one to many, find ways to support man to one
42
47
  this.fields = [
43
48
  ...this.fields,
44
49
  `${relationshipDirection === 'ToMany'
45
- ? tslib_1.__classPrivateFieldGet(modelQuery, _BaseQuery_resourceName, "f")
46
- : tslib_1.__classPrivateFieldGet(modelQuery, _BaseQuery_singularResourceName, "f")}[${(_a = modelQuery.fields) === null || _a === void 0 ? void 0 : _a.join(',')}]`,
50
+ ? modelQuery.resourceName
51
+ : modelQuery.singularResourceName}[${(_a = modelQuery.fields) === null || _a === void 0 ? void 0 : _a.join(',')}]`,
47
52
  ];
48
53
  return this;
49
54
  }
55
+ query() {
56
+ return new models_1.QueryModel({
57
+ resourceName: this.identifiable.resourceName,
58
+ id: this.id,
59
+ fields: this.fields,
60
+ filters: this.filters,
61
+ pagination: this.pagination,
62
+ junctionOperator: this.junctionOperator,
63
+ });
64
+ }
65
+ dhisUrl() {
66
+ return utils_1.DhisUrlGenerator.generate(this.query());
67
+ }
50
68
  get() {
51
69
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
52
- const response = yield this.httpClient.get(tslib_1.__classPrivateFieldGet(this, _BaseQuery_instances, "m", _BaseQuery_dhisUrl).call(this));
70
+ const response = yield this.httpClient.get(this.dhisUrl());
53
71
  return new models_1.D2Response(response, this.identifiable);
54
72
  });
55
73
  }
56
74
  }
57
75
  exports.BaseQuery = BaseQuery;
58
- _BaseQuery_id = new WeakMap(), _BaseQuery_resourceName = new WeakMap(), _BaseQuery_singularResourceName = new WeakMap(), _BaseQuery_pagination = new WeakMap(), _BaseQuery_junctionOperator = new WeakMap(), _BaseQuery_instances = new WeakSet(), _BaseQuery_query = function _BaseQuery_query() {
59
- return new models_1.QueryModel({
60
- resourceName: this.identifiable.resourceName,
61
- id: tslib_1.__classPrivateFieldGet(this, _BaseQuery_id, "f"),
62
- fields: this.fields,
63
- filters: this.filters,
64
- pagination: tslib_1.__classPrivateFieldGet(this, _BaseQuery_pagination, "f"),
65
- junctionOperator: tslib_1.__classPrivateFieldGet(this, _BaseQuery_junctionOperator, "f"),
66
- });
67
- }, _BaseQuery_dhisUrl = function _BaseQuery_dhisUrl() {
68
- return utils_1.DhisUrlGenerator.generate(tslib_1.__classPrivateFieldGet(this, _BaseQuery_instances, "m", _BaseQuery_query).call(this));
69
- };
70
76
  //# sourceMappingURL=base-query.js.map