@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,215 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TrackedEntityInstance = void 0;
4
+ const lodash_1 = require("lodash");
5
+ const utils_1 = require("../utils");
6
+ const date_fns_1 = require("date-fns");
7
+ const base_model_1 = require("./base.model");
8
+ class TrackedEntityInstance extends base_model_1.BaseTrackerSDKModel {
9
+ constructor(trackedEntityInstanceObject) {
10
+ var _a, _b;
11
+ super(trackedEntityInstanceObject);
12
+ if (!(0, lodash_1.isEmpty)(this)) {
13
+ this.ownerOrgUnit = this.orgUnit;
14
+ this.trackedEntity = this.trackedEntityInstance || this.trackedEntity;
15
+ this.enrollments = utils_1.EnrollmentUtil.getEnrollments(this.enrollments || [
16
+ utils_1.EnrollmentUtil.generate({
17
+ date: new Date().toISOString(),
18
+ program: this.program,
19
+ trackedEntity: this.trackedEntity,
20
+ trackedEntityType: this.trackedEntityType,
21
+ orgUnit: this.orgUnit,
22
+ }),
23
+ ], { program: this.program, trackedEntityType: this.trackedEntityType });
24
+ this.latestEnrollment = utils_1.EnrollmentUtil.getLatestEnrollment(this.enrollments.filter((enrollment) => enrollment.program === this.program) || []);
25
+ // Spread event data values as standalone attributes of the class
26
+ (Object.keys(((_a = this.latestEnrollment) === null || _a === void 0 ? void 0 : _a.programStageEvents) || {}) || []).forEach((stageKey) => {
27
+ var _a, _b;
28
+ const stageEvent = (((_b = (((_a = this.latestEnrollment) === null || _a === void 0 ? void 0 : _a.programStageEvents) || {})[stageKey]) === null || _b === void 0 ? void 0 : _b.events) || [])[0];
29
+ Object.keys((stageEvent === null || stageEvent === void 0 ? void 0 : stageEvent.dataValueEntities) || {}).forEach((dataValueKey) => {
30
+ this[dataValueKey] = stageEvent[dataValueKey];
31
+ });
32
+ });
33
+ // Spread enrollment data values as standalone attributes of the class
34
+ Object.keys(this.latestEnrollment || {}).forEach((key) => {
35
+ this[key] = this.latestEnrollment[key];
36
+ });
37
+ this.orgUnitName = (_b = this.latestEnrollment) === null || _b === void 0 ? void 0 : _b.orgUnitName;
38
+ // this.attributes = trackedEntityInstanceObject?.['attributes'] || [];
39
+ this.relatedEntities = utils_1.TrackerRelationshipUtil.getRelationships(this['relationships'] || [], this.trackedEntity);
40
+ this.spreadAttributes(this.attributes || []);
41
+ }
42
+ }
43
+ get attributeEntities() {
44
+ return utils_1.AttributeUtil.getAttributeEntities(this.attributes);
45
+ }
46
+ get dataEntities() {
47
+ return Object.assign({}, this.attributeEntities);
48
+ }
49
+ get reportEntities() {
50
+ return {
51
+ orgUnit: this.orgUnit,
52
+ orgUnitName: this.orgUnitName,
53
+ enrollmentDate: this.enrollmentDate,
54
+ incidentDate: this['incidentDate'],
55
+ };
56
+ }
57
+ spreadAttributes(attributes) {
58
+ attributes.forEach((attribute) => {
59
+ if (attribute.code) {
60
+ this[(0, lodash_1.camelCase)(attribute.code)] = attribute.value;
61
+ }
62
+ else {
63
+ this[attribute.attribute] = attribute.value;
64
+ }
65
+ });
66
+ }
67
+ setOrgUnit(orgUnit) {
68
+ this.orgUnit = orgUnit;
69
+ if (this.latestEnrollment) {
70
+ this.latestEnrollment.orgUnit = orgUnit;
71
+ }
72
+ }
73
+ setAttributeValue(attribute, value, code) {
74
+ this.attributes = utils_1.AttributeUtil.setAttributeValue(this.attributes, attribute, value, code);
75
+ if (this.spreadAttributes)
76
+ this.spreadAttributes([{ attribute, code, value }]);
77
+ }
78
+ setEnrollment(enrollment) {
79
+ enrollment.attributes = this.attributes;
80
+ const availableEnrollment = (this.enrollments || []).find((enrollmentItem) => enrollmentItem.enrollment === enrollment.enrollment);
81
+ const enrollmentIndex = (this.enrollments || []).indexOf(availableEnrollment);
82
+ if (enrollmentIndex !== -1) {
83
+ this.enrollments[enrollmentIndex] = enrollment;
84
+ }
85
+ else {
86
+ this.enrollments.push(enrollment);
87
+ }
88
+ this.enrollments = utils_1.EnrollmentUtil.sortEnrollments(this.enrollments);
89
+ this.latestEnrollment = utils_1.EnrollmentUtil.getLatestEnrollment(this.enrollments);
90
+ }
91
+ setRelationship(relationship) {
92
+ const availableRelatedEntity = (this.relatedEntities || []).find((relatedEntity) => relatedEntity.relationship === relationship.relationship);
93
+ const relatedEntityIndex = (this.relatedEntities || []).indexOf(availableRelatedEntity);
94
+ this.relatedEntities =
95
+ relatedEntityIndex !== -1
96
+ ? [
97
+ ...(this.relatedEntities || []).slice(0, relatedEntityIndex),
98
+ relationship,
99
+ ...(this.relatedEntities || []).slice(relatedEntityIndex + 1),
100
+ ]
101
+ : [...(this.relatedEntities || []), relationship];
102
+ }
103
+ setEnrollmentDate(enrollmentDate) {
104
+ if (this.latestEnrollment) {
105
+ this.latestEnrollment.enrolledAt = enrollmentDate;
106
+ this.latestEnrollment.enrollmentDate = enrollmentDate;
107
+ }
108
+ }
109
+ setIncidentDate(incidentDate) {
110
+ if (this.latestEnrollment) {
111
+ this.latestEnrollment.occurredAt = incidentDate;
112
+ this.latestEnrollment.incidentDate = incidentDate;
113
+ }
114
+ }
115
+ complete() {
116
+ if (this.latestEnrollment) {
117
+ this.latestEnrollment.status = 'COMPLETED';
118
+ }
119
+ }
120
+ getEventByStage(programStage) {
121
+ return (this._events.find((event) => event.programStage === programStage) || {
122
+ dataValues: [],
123
+ programStage,
124
+ });
125
+ }
126
+ setEvent(event) {
127
+ if (this.latestEnrollment) {
128
+ this.latestEnrollment.setEvent(event);
129
+ }
130
+ }
131
+ setProgramStageData(programStage, data) {
132
+ if (this.latestEnrollment) {
133
+ this.latestEnrollment.setProgramStageData(programStage, data);
134
+ }
135
+ }
136
+ getEventsByProgramStage(programStage) {
137
+ if (this.latestEnrollment) {
138
+ return this.latestEnrollment.getEventsByProgramStage(programStage);
139
+ }
140
+ return [];
141
+ }
142
+ getRelatedEntitiesByType(relationshipType) {
143
+ return (this.relatedEntities || [])
144
+ .filter((relatedEntity) => relatedEntity.relationshipType === relationshipType)
145
+ .map((relatedEntity) => relatedEntity.trackedEntityInstance);
146
+ }
147
+ updateDataValues(dataValueEntities) {
148
+ const dataValueKeys = Object.keys(dataValueEntities);
149
+ dataValueKeys.forEach((key) => {
150
+ const dataValue = dataValueEntities[key];
151
+ if (dataValue.attribute) {
152
+ if (this.setAttributeValue)
153
+ this.setAttributeValue(dataValue.attribute, dataValue.value, dataValue.code);
154
+ }
155
+ else if (dataValue.dataElement) {
156
+ //TODO: Add implementation to add stage data
157
+ }
158
+ });
159
+ }
160
+ setDataValue(dataElement, value, programStage, eventId) {
161
+ if (this.latestEnrollment) {
162
+ this.latestEnrollment.setDataValue(dataElement, value, programStage, eventId);
163
+ }
164
+ }
165
+ // TODO: Make this dynamic so in the future user does not have to supply attribute type
166
+ toReadable(attributeName, attributeType) {
167
+ switch (attributeType) {
168
+ case 'DATE': {
169
+ try {
170
+ return (0, date_fns_1.format)(new Date(this[attributeName]), 'MMMM dd, yyyy');
171
+ }
172
+ catch (_e) {
173
+ return this[attributeName];
174
+ }
175
+ }
176
+ case 'BOOLEAN': {
177
+ try {
178
+ return JSON.parse(this[attributeName].toLowerCase());
179
+ }
180
+ catch (_e) {
181
+ return this[attributeName];
182
+ }
183
+ }
184
+ default:
185
+ return this[attributeName];
186
+ }
187
+ }
188
+ toObject(options) {
189
+ if (this.latestEnrollment) {
190
+ this.setEnrollment(this.latestEnrollment);
191
+ }
192
+ return {
193
+ trackedEntity: this.trackedEntity,
194
+ trackedEntityType: this.trackedEntityType,
195
+ orgUnit: this === null || this === void 0 ? void 0 : this.orgUnit,
196
+ enrollments: this.enrollments
197
+ .map((enrollment) => enrollment.toObject ? enrollment.toObject() : null)
198
+ .filter((enrollment) => (enrollment === null || enrollment === void 0 ? void 0 : enrollment.program) === this.program),
199
+ attributes: (options === null || options === void 0 ? void 0 : options.skipAttributes)
200
+ ? []
201
+ : utils_1.AttributeUtil.sanitizeAttributes(this.attributes),
202
+ relationships: (this.relatedEntities || []).map((relatedEntity) => relatedEntity.toObject()),
203
+ };
204
+ }
205
+ toTrackedEntity() {
206
+ return {
207
+ trackedEntity: this.trackedEntity,
208
+ trackedEntityType: this.trackedEntityType,
209
+ orgUnit: this.orgUnit,
210
+ attributes: this.attributes,
211
+ };
212
+ }
213
+ }
214
+ exports.TrackedEntityInstance = TrackedEntityInstance;
215
+ //# sourceMappingURL=tracked-entity-instance.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracked-entity-instance.model.js","sourceRoot":"","sources":["../../../../../../../../packages/dhis2-web-sdk/src/lib/modules/tracker/models/tracked-entity-instance.model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ export declare class TrackerImportStats {
2
+ created: number;
3
+ updated: number;
4
+ deleted: number;
5
+ ignored: number;
6
+ total: number;
7
+ summary: string;
8
+ constructor(stats: Partial<TrackerImportStats>);
9
+ getSummary(stats: Partial<TrackerImportStats>): string;
10
+ get hasErrors(): boolean;
11
+ }
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TrackerImportStats = void 0;
4
+ // Copyright 2023 UDSM DHIS2 Lab. All rights reserved.
5
+ // Use of this source code is governed by a BSD-style
6
+ // license that can be found in the LICENSE file.
7
+ class TrackerImportStats {
8
+ constructor(stats) {
9
+ this.created = stats.created || 0;
10
+ this.updated = stats.updated || 0;
11
+ this.deleted = stats.deleted || 0;
12
+ this.ignored = stats.ignored || 0;
13
+ this.total = stats.total || 0;
14
+ this.summary = this.getSummary(stats);
15
+ }
16
+ getSummary(stats) {
17
+ return Object.keys(stats || {})
18
+ .map((statsKey) => {
19
+ return `${statsKey.toUpperCase()}: ${stats[statsKey]}`;
20
+ })
21
+ .join(', ');
22
+ }
23
+ get hasErrors() {
24
+ return this.ignored > 0;
25
+ }
26
+ }
27
+ exports.TrackerImportStats = TrackerImportStats;
28
+ //# sourceMappingURL=tracker-import-stats.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracker-import-stats.model.js","sourceRoot":"","sources":["../../../../../../../../packages/dhis2-web-sdk/src/lib/modules/tracker/models/tracker-import-stats.model.ts"],"names":[],"mappings":";;;AAAA,sDAAsD;AACtD,qDAAqD;AACrD,iDAAiD;AACjD,MAAa,kBAAkB;IAO7B,YAAY,KAAkC;QAC5C,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IAED,UAAU,CAAC,KAAkC;QAC3C,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;aAC5B,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;YAChB,OAAO,GAAG,QAAQ,CAAC,WAAW,EAAE,KAC7B,KAAgC,CAAC,QAAQ,CAC5C,EAAE,CAAC;QACL,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;IAC1B,CAAC;CACF;AA7BD,gDA6BC"}
@@ -0,0 +1,10 @@
1
+ import { TrackerImportStats } from './tracker-import-stats.model';
2
+ import { TrackerImportValidationReport } from './tracker-import-validation-report.model';
3
+ export declare class TrackerImportSummary {
4
+ statusCode: number;
5
+ status: string;
6
+ stats: TrackerImportStats;
7
+ validationReports: TrackerImportValidationReport[];
8
+ constructor(summaryResponse: Record<string, unknown>);
9
+ get hasErrors(): boolean;
10
+ }
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ // Copyright 2023 UDSM DHIS2 Lab. All rights reserved.
3
+ // Use of this source code is governed by a BSD-style
4
+ // license that can be found in the LICENSE file.
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.TrackerImportSummary = void 0;
7
+ const tracker_import_stats_model_1 = require("./tracker-import-stats.model");
8
+ const tracker_import_validation_report_model_1 = require("./tracker-import-validation-report.model");
9
+ class TrackerImportSummary {
10
+ constructor(summaryResponse) {
11
+ this.statusCode = summaryResponse['statusCode'];
12
+ this.status = summaryResponse['status'];
13
+ this.stats = new tracker_import_stats_model_1.TrackerImportStats(summaryResponse['stats']);
14
+ this.validationReports = tracker_import_validation_report_model_1.TrackerImportValidationReport.setReports(summaryResponse['validationReport']);
15
+ }
16
+ get hasErrors() {
17
+ return this.stats.hasErrors;
18
+ }
19
+ }
20
+ exports.TrackerImportSummary = TrackerImportSummary;
21
+ //# sourceMappingURL=tracker-import-summary.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracker-import-summary.model.js","sourceRoot":"","sources":["../../../../../../../../packages/dhis2-web-sdk/src/lib/modules/tracker/models/tracker-import-summary.model.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,qDAAqD;AACrD,iDAAiD;;;AAEjD,6EAAkE;AAClE,qGAAyF;AAEzF,MAAa,oBAAoB;IAK/B,YAAY,eAAwC;QAClD,IAAI,CAAC,UAAU,GAAG,eAAe,CAAC,YAAY,CAAW,CAAC;QAC1D,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC,QAAQ,CAAW,CAAC;QAClD,IAAI,CAAC,KAAK,GAAG,IAAI,+CAAkB,CACjC,eAAe,CAAC,OAAO,CAAuB,CAC/C,CAAC;QACF,IAAI,CAAC,iBAAiB,GAAG,sEAA6B,CAAC,UAAU,CAC/D,eAAe,CAAC,kBAAkB,CAGjC,CACF,CAAC;IACJ,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;IAC9B,CAAC;CACF;AAtBD,oDAsBC"}
@@ -0,0 +1,12 @@
1
+ export declare class TrackerImportValidationReport {
2
+ id: string;
3
+ uid?: string;
4
+ type: 'ERROR' | 'WARNING';
5
+ errorCode: string;
6
+ objectType: string;
7
+ message: string;
8
+ summary: string;
9
+ constructor(report: Partial<TrackerImportValidationReport>);
10
+ getSummary(): string;
11
+ static setReports(reportResponse: Record<string, Record<string, unknown>[]>): TrackerImportValidationReport[];
12
+ }
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TrackerImportValidationReport = void 0;
4
+ // Copyright 2023 UDSM DHIS2 Lab. All rights reserved.
5
+ // Use of this source code is governed by a BSD-style
6
+ // license that can be found in the LICENSE file.
7
+ class TrackerImportValidationReport {
8
+ constructor(report) {
9
+ this.id = report.uid;
10
+ this.type = report.type;
11
+ this.errorCode = report.errorCode;
12
+ this.objectType = report.objectType;
13
+ this.message = report.message;
14
+ this.summary = this.getSummary();
15
+ }
16
+ getSummary() {
17
+ return `[${this.errorCode} - ${this.objectType} (${this.id})]: ${this.message}`;
18
+ }
19
+ static setReports(reportResponse) {
20
+ return [
21
+ ...(reportResponse['errorReports'] || []).map((errorReport) => new TrackerImportValidationReport({
22
+ uid: errorReport['uid'],
23
+ type: 'ERROR',
24
+ errorCode: errorReport['errorCode'],
25
+ objectType: errorReport['trackerType'],
26
+ message: errorReport['message'],
27
+ })),
28
+ ...(reportResponse['warningReports'] || []).map((warningReport) => new TrackerImportValidationReport({
29
+ uid: warningReport['uid'],
30
+ type: 'WARNING',
31
+ errorCode: warningReport['errorCode'],
32
+ objectType: warningReport['trackerType'],
33
+ message: warningReport['message'],
34
+ })),
35
+ ];
36
+ }
37
+ }
38
+ exports.TrackerImportValidationReport = TrackerImportValidationReport;
39
+ //# sourceMappingURL=tracker-import-validation-report.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracker-import-validation-report.model.js","sourceRoot":"","sources":["../../../../../../../../packages/dhis2-web-sdk/src/lib/modules/tracker/models/tracker-import-validation-report.model.ts"],"names":[],"mappings":";;;AAAA,sDAAsD;AACtD,qDAAqD;AACrD,iDAAiD;AACjD,MAAa,6BAA6B;IAQxC,YAAY,MAA8C;QACxD,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,GAAa,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAA2B,CAAC;QAC/C,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAmB,CAAC;QAC5C,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAoB,CAAC;QAC9C,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAiB,CAAC;QACxC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;IACnC,CAAC;IAED,UAAU;QACR,OAAO,IAAI,IAAI,CAAC,SAAS,MAAM,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,EAAE,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IAClF,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,cAAyD;QACzE,OAAO;YACL,GAAG,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAC3C,CAAC,WAAW,EAAE,EAAE,CACd,IAAI,6BAA6B,CAAC;gBAChC,GAAG,EAAE,WAAW,CAAC,KAAK,CAAW;gBACjC,IAAI,EAAE,OAAO;gBACb,SAAS,EAAE,WAAW,CAAC,WAAW,CAAW;gBAC7C,UAAU,EAAE,WAAW,CAAC,aAAa,CAAW;gBAChD,OAAO,EAAE,WAAW,CAAC,SAAS,CAAW;aAC1C,CAAC,CACL;YACD,GAAG,CAAC,cAAc,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAC7C,CAAC,aAAa,EAAE,EAAE,CAChB,IAAI,6BAA6B,CAAC;gBAChC,GAAG,EAAE,aAAa,CAAC,KAAK,CAAW;gBACnC,IAAI,EAAE,SAAS;gBACf,SAAS,EAAE,aAAa,CAAC,WAAW,CAAW;gBAC/C,UAAU,EAAE,aAAa,CAAC,aAAa,CAAW;gBAClD,OAAO,EAAE,aAAa,CAAC,SAAS,CAAW;aAC5C,CAAC,CACL;SACF,CAAC;IACJ,CAAC;CACF;AA7CD,sEA6CC"}
@@ -0,0 +1,13 @@
1
+ import { TrackerFilterCondition } from '../interfaces';
2
+ import { ITrackerQueryFilter } from '../interfaces';
3
+ export declare class TrackerQueryFilter implements ITrackerQueryFilter {
4
+ attribute: string;
5
+ condition: TrackerFilterCondition;
6
+ value: string | string[];
7
+ setAttribute(attribute: string): TrackerQueryFilter;
8
+ setCondition(condition: TrackerFilterCondition): TrackerQueryFilter;
9
+ setValue(value: string | string[]): TrackerQueryFilter;
10
+ static getApiFilters(filters: TrackerQueryFilter[]): string;
11
+ toApiFilters(): string;
12
+ private _getApiFilterValue;
13
+ }
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ // Copyright 2023 UDSM DHIS2 Lab. All rights reserved.
3
+ // Use of this source code is governed by a BSD-style
4
+ // license that can be found in the LICENSE file.
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.TrackerQueryFilter = void 0;
7
+ const interfaces_1 = require("../interfaces");
8
+ class TrackerQueryFilter {
9
+ setAttribute(attribute) {
10
+ this.attribute = attribute;
11
+ return this;
12
+ }
13
+ setCondition(condition) {
14
+ this.condition = condition;
15
+ return this;
16
+ }
17
+ setValue(value) {
18
+ this.value = value;
19
+ return this;
20
+ }
21
+ static getApiFilters(filters) {
22
+ return filters
23
+ .map((trackerQueryFilter) => trackerQueryFilter.toApiFilters())
24
+ .join('&');
25
+ }
26
+ toApiFilters() {
27
+ return `filter=${this.attribute}:${this.condition}:${this._getApiFilterValue()}`;
28
+ }
29
+ _getApiFilterValue() {
30
+ switch (this.condition) {
31
+ case interfaces_1.TrackerFilterCondition.In:
32
+ return this.value.join(';');
33
+ default:
34
+ return this.value;
35
+ }
36
+ }
37
+ }
38
+ exports.TrackerQueryFilter = TrackerQueryFilter;
39
+ //# sourceMappingURL=tracker-query-filter.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracker-query-filter.model.js","sourceRoot":"","sources":["../../../../../../../../packages/dhis2-web-sdk/src/lib/modules/tracker/models/tracker-query-filter.model.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,qDAAqD;AACrD,iDAAiD;;;AAEjD,8CAAuD;AAGvD,MAAa,kBAAkB;IAK7B,YAAY,CAAC,SAAiB;QAC5B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,YAAY,CAAC,SAAiC;QAC5C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,QAAQ,CAAC,KAAwB;QAC/B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,OAA6B;QAChD,OAAO,OAAO;aACX,GAAG,CAAC,CAAC,kBAAkB,EAAE,EAAE,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;aAC9D,IAAI,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;IAED,YAAY;QACV,OAAO,UAAU,IAAI,CAAC,SAAS,IAC7B,IAAI,CAAC,SACP,IAAI,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC;IAClC,CAAC;IAEO,kBAAkB;QACxB,QAAQ,IAAI,CAAC,SAAS,EAAE,CAAC;YACvB,KAAK,mCAAsB,CAAC,EAAE;gBAC5B,OAAQ,IAAI,CAAC,KAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAE5C;gBACE,OAAO,IAAI,CAAC,KAAK,CAAC;QACtB,CAAC;IACH,CAAC;CACF;AAzCD,gDAyCC"}
@@ -0,0 +1,28 @@
1
+ export declare class TrackerRelationship {
2
+ relationshipResponse: Record<string, any>;
3
+ currentTrackedEntityInstance: string;
4
+ relationship: string;
5
+ relationshipType: string;
6
+ trackedEntityInstance: string;
7
+ relationDirection: 'FROM' | 'TO';
8
+ constructor(relationshipResponse: Record<string, any>, currentTrackedEntityInstance: string);
9
+ getRelatedTrackedEntityInstance(relationshipResponse: Record<string, any>, currentTrackedEntityInstance: string): {
10
+ trackedEntityInstance: string;
11
+ relationDirection: 'FROM' | 'TO';
12
+ };
13
+ static fromJson(jsonData: Record<string, string>): TrackerRelationship;
14
+ toObject(): {
15
+ relationshipType: string;
16
+ relationship: string;
17
+ from: {
18
+ trackedEntity: {
19
+ trackedEntity: string;
20
+ };
21
+ };
22
+ to: {
23
+ trackedEntity: {
24
+ trackedEntity: string;
25
+ };
26
+ };
27
+ };
28
+ }
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TrackerRelationship = void 0;
4
+ const d2_web_sdk_1 = require("@iapps/d2-web-sdk");
5
+ class TrackerRelationship {
6
+ constructor(relationshipResponse, currentTrackedEntityInstance) {
7
+ this.relationshipResponse = relationshipResponse;
8
+ this.currentTrackedEntityInstance = currentTrackedEntityInstance;
9
+ this.relationshipType = relationshipResponse === null || relationshipResponse === void 0 ? void 0 : relationshipResponse.relationshipType;
10
+ this.relationship =
11
+ (relationshipResponse === null || relationshipResponse === void 0 ? void 0 : relationshipResponse.relationship) || (0, d2_web_sdk_1.generateUid)();
12
+ const { trackedEntityInstance, relationDirection } = this.getRelatedTrackedEntityInstance(relationshipResponse, currentTrackedEntityInstance);
13
+ this.trackedEntityInstance = trackedEntityInstance;
14
+ this.relationDirection = relationDirection;
15
+ }
16
+ getRelatedTrackedEntityInstance(relationshipResponse, currentTrackedEntityInstance) {
17
+ var _a, _b, _c, _d;
18
+ const relatedEntity = (_b = (_a = relationshipResponse.to) === null || _a === void 0 ? void 0 : _a.trackedEntity) === null || _b === void 0 ? void 0 : _b.trackedEntity;
19
+ if (relatedEntity === currentTrackedEntityInstance) {
20
+ return {
21
+ trackedEntityInstance: (_d = (_c = relationshipResponse.from) === null || _c === void 0 ? void 0 : _c.trackedEntity) === null || _d === void 0 ? void 0 : _d.trackedEntity,
22
+ relationDirection: 'FROM',
23
+ };
24
+ }
25
+ return { trackedEntityInstance: relatedEntity, relationDirection: 'TO' };
26
+ }
27
+ static fromJson(jsonData) {
28
+ const trackerRelationship = new TrackerRelationship({}, jsonData['currentTrackedEntityInstance']);
29
+ trackerRelationship.relationship = (0, d2_web_sdk_1.generateUid)();
30
+ trackerRelationship.relationshipType = jsonData['relationshipType'];
31
+ trackerRelationship.trackedEntityInstance =
32
+ jsonData['trackedEntityInstance'] || jsonData['trackedEntity'];
33
+ trackerRelationship.relationDirection = jsonData['relationDirection'];
34
+ return trackerRelationship;
35
+ }
36
+ toObject() {
37
+ return {
38
+ relationshipType: this.relationshipType,
39
+ relationship: this.relationship,
40
+ from: {
41
+ trackedEntity: {
42
+ trackedEntity: this.relationDirection === 'FROM'
43
+ ? this.trackedEntityInstance
44
+ : this.currentTrackedEntityInstance,
45
+ },
46
+ },
47
+ to: {
48
+ trackedEntity: {
49
+ trackedEntity: this.relationDirection === 'TO'
50
+ ? this.trackedEntityInstance
51
+ : this.currentTrackedEntityInstance,
52
+ },
53
+ },
54
+ };
55
+ }
56
+ }
57
+ exports.TrackerRelationship = TrackerRelationship;
58
+ //# sourceMappingURL=tracker-relationship.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracker-relationship.model.js","sourceRoot":"","sources":["../../../../../../../../packages/dhis2-web-sdk/src/lib/modules/tracker/models/tracker-relationship.model.ts"],"names":[],"mappings":";;;AACA,kDAAgD;AAEhD,MAAa,mBAAmB;IAK9B,YACS,oBAAyC,EACzC,4BAAoC;QADpC,yBAAoB,GAApB,oBAAoB,CAAqB;QACzC,iCAA4B,GAA5B,4BAA4B,CAAQ;QAE3C,IAAI,CAAC,gBAAgB,GAAI,oBAA4B,aAA5B,oBAAoB,uBAApB,oBAAoB,CAAU,gBAAgB,CAAC;QACxE,IAAI,CAAC,YAAY;YACf,CAAC,oBAA4B,aAA5B,oBAAoB,uBAApB,oBAAoB,CAAU,YAAY,KAAI,IAAA,wBAAW,GAAE,CAAC;QAC/D,MAAM,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,GAChD,IAAI,CAAC,+BAA+B,CAClC,oBAAoB,EACpB,4BAA4B,CAC7B,CAAC;QAEJ,IAAI,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;QACnD,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;IAC7C,CAAC;IAED,+BAA+B,CAC7B,oBAAyC,EACzC,4BAAoC;;QAEpC,MAAM,aAAa,GAAG,MAAA,MAAC,oBAA4B,CAAC,EAAE,0CAAE,aAAa,0CACjE,aAAa,CAAC;QAElB,IAAI,aAAa,KAAK,4BAA4B,EAAE,CAAC;YACnD,OAAO;gBACL,qBAAqB,EAAE,MAAA,MAAC,oBAA4B,CAAC,IAAI,0CAAE,aAAa,0CACpE,aAAa;gBACjB,iBAAiB,EAAE,MAAM;aAC1B,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;IAC3E,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,QAAgC;QAC9C,MAAM,mBAAmB,GAAG,IAAI,mBAAmB,CACjD,EAAE,EACF,QAAQ,CAAC,8BAA8B,CAAC,CACzC,CAAC;QACF,mBAAmB,CAAC,YAAY,GAAG,IAAA,wBAAW,GAAE,CAAC;QACjD,mBAAmB,CAAC,gBAAgB,GAAG,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QACpE,mBAAmB,CAAC,qBAAqB;YACvC,QAAQ,CAAC,uBAAuB,CAAC,IAAI,QAAQ,CAAC,eAAe,CAAC,CAAC;QACjE,mBAAmB,CAAC,iBAAiB,GAAG,QAAQ,CAAC,mBAAmB,CAE5D,CAAC;QACT,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAED,QAAQ;QACN,OAAO;YACL,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,IAAI,EAAE;gBACJ,aAAa,EAAE;oBACb,aAAa,EACX,IAAI,CAAC,iBAAiB,KAAK,MAAM;wBAC/B,CAAC,CAAC,IAAI,CAAC,qBAAqB;wBAC5B,CAAC,CAAC,IAAI,CAAC,4BAA4B;iBACxC;aACF;YACD,EAAE,EAAE;gBACF,aAAa,EAAE;oBACb,aAAa,EACX,IAAI,CAAC,iBAAiB,KAAK,IAAI;wBAC7B,CAAC,CAAC,IAAI,CAAC,qBAAqB;wBAC5B,CAAC,CAAC,IAAI,CAAC,4BAA4B;iBACxC;aACF;SACF,CAAC;IACJ,CAAC;CACF;AA7ED,kDA6EC"}
@@ -0,0 +1,20 @@
1
+ import { Pager } from '../../../shared';
2
+ import { TrackerQueryFilter } from './tracker-query-filter.model';
3
+ export type ProgramDateType = 'ENROLLED_ON' | 'OCCURED_ON';
4
+ export declare class TrackerUrlGenerator {
5
+ #private;
6
+ filters?: TrackerQueryFilter[];
7
+ constructor(params: {
8
+ program?: string;
9
+ trackedEntityType?: string;
10
+ orgUnit?: string;
11
+ ouMode?: 'ALL' | 'DESCENDANTS' | 'SELECTED';
12
+ filters?: TrackerQueryFilter[];
13
+ fields?: string;
14
+ enrollmentEnrolledAfter?: string;
15
+ enrollmentEnrolledBefore?: string;
16
+ trackedEntity?: string;
17
+ pager?: Pager;
18
+ });
19
+ generate(): string;
20
+ }