openchs-models 1.33.69 → 1.33.71

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.
@@ -1,5 +1,5 @@
1
1
  # Check https://circleci.com/docs/2.0/language-javascript/ for more details
2
- version: 2
2
+ version: 2.1
3
3
  defaults: &defaults
4
4
  working_directory: ~/repo
5
5
  docker:
@@ -52,7 +52,6 @@ jobs:
52
52
  # command: npm publish
53
53
 
54
54
  workflows:
55
- version: 2
56
55
  test_deploy:
57
56
  jobs:
58
57
  - build
@@ -64,7 +63,3 @@ workflows:
64
63
  # only: /^v.*/
65
64
  # branches:
66
65
  # ignore: /.*/
67
-
68
- notify:
69
- webhooks:
70
- - url: https://webhooks.gitter.im/e/0fdffde721194986f2a0
@@ -42,6 +42,12 @@ class AttendanceRecord extends _BaseEntity.default {
42
42
  set reasonConceptUUIDs(x) {
43
43
  this.that.reasonConceptUUIDs = x || [];
44
44
  }
45
+ get otherReasonText() {
46
+ return this.that.otherReasonText;
47
+ }
48
+ set otherReasonText(x) {
49
+ this.that.otherReasonText = x || null;
50
+ }
45
51
  get followUpEncounterUUID() {
46
52
  return this.that.followUpEncounterUUID;
47
53
  }
@@ -91,6 +97,7 @@ class AttendanceRecord extends _BaseEntity.default {
91
97
  record.subjectUUID = resource.subjectUUID;
92
98
  record.status = resource.status;
93
99
  record.reasonConceptUUIDs = Array.isArray(resource.reasonConceptUUIDs) ? resource.reasonConceptUUIDs : resource.reasonConceptUUID ? [resource.reasonConceptUUID] : [];
100
+ record.otherReasonText = resource.otherReasonText || null;
94
101
  record.followUpEncounterUUID = resource.followUpEncounterUUID || null;
95
102
  record.needsFollowUp = !!resource.needsFollowUp;
96
103
  record.voided = !!resource.voided;
@@ -100,6 +107,7 @@ class AttendanceRecord extends _BaseEntity.default {
100
107
  get toResource() {
101
108
  const resource = _lodash.default.pick(this, ["uuid", "sessionUUID", "subjectUUID", "status", "voided"]);
102
109
  resource.reasonConceptUUIDs = this.reasonConceptUUIDs || [];
110
+ resource.otherReasonText = this.otherReasonText || null;
103
111
  resource.followUpEncounterUUID = this.followUpEncounterUUID || null;
104
112
  resource.needsFollowUp = !!this.needsFollowUp;
105
113
  return resource;
@@ -117,6 +125,10 @@ _defineProperty(AttendanceRecord, "schema", {
117
125
  type: "list",
118
126
  objectType: "string"
119
127
  },
128
+ otherReasonText: {
129
+ type: "string",
130
+ optional: true
131
+ },
120
132
  followUpEncounterUUID: {
121
133
  type: "string",
122
134
  optional: true
@@ -0,0 +1,116 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _BaseEntity = _interopRequireDefault(require("./BaseEntity"));
8
+ var _General = _interopRequireDefault(require("./utility/General"));
9
+ var _SchemaNames = _interopRequireDefault(require("./SchemaNames"));
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
12
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
13
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
14
+ class DownloadableContent extends _BaseEntity.default {
15
+ constructor(that = null) {
16
+ super(that);
17
+ }
18
+ get name() {
19
+ return this.that.name;
20
+ }
21
+ set name(x) {
22
+ this.that.name = x;
23
+ }
24
+ get category() {
25
+ return this.that.category;
26
+ }
27
+ set category(x) {
28
+ this.that.category = x;
29
+ }
30
+ get contentKey() {
31
+ return this.that.contentKey;
32
+ }
33
+ set contentKey(x) {
34
+ this.that.contentKey = x;
35
+ }
36
+ get sha256() {
37
+ return this.that.sha256;
38
+ }
39
+ set sha256(x) {
40
+ this.that.sha256 = x;
41
+ }
42
+ get needsKey() {
43
+ return this.that.needsKey;
44
+ }
45
+ set needsKey(x) {
46
+ this.that.needsKey = x;
47
+ }
48
+ get payload() {
49
+ return this.that.payload;
50
+ }
51
+ set payload(x) {
52
+ this.that.payload = x;
53
+ }
54
+ get voided() {
55
+ return this.that.voided;
56
+ }
57
+ set voided(x) {
58
+ this.that.voided = x;
59
+ }
60
+ getPayload() {
61
+ if (!this.payload) {
62
+ return {};
63
+ }
64
+ try {
65
+ const parsed = JSON.parse(this.payload);
66
+ return parsed && typeof parsed === 'object' && !Array.isArray(parsed) ? parsed : {};
67
+ } catch (e) {
68
+ return {};
69
+ }
70
+ }
71
+ static fromResource(resource) {
72
+ const content = _General.default.assignFields(resource, new DownloadableContent(), ["uuid", "name", "category", "contentKey", "sha256", "voided"]);
73
+ // Coerce: needsKey is a non-optional Realm bool, so an undefined write would abort the sync.
74
+ content.needsKey = resource && resource.needsKey === true;
75
+ // Server sends payload as a JSON object, but tolerate an already-stringified payload too.
76
+ if (resource && resource.payload && typeof resource.payload === 'object') {
77
+ content.payload = JSON.stringify(resource.payload);
78
+ } else if (resource && typeof resource.payload === 'string' && resource.payload.length > 0) {
79
+ content.payload = resource.payload;
80
+ } else {
81
+ content.payload = null;
82
+ }
83
+ return content;
84
+ }
85
+ }
86
+ _defineProperty(DownloadableContent, "schema", {
87
+ name: _SchemaNames.default.DownloadableContent,
88
+ primaryKey: "uuid",
89
+ properties: {
90
+ uuid: "string",
91
+ name: "string",
92
+ category: "string",
93
+ contentKey: {
94
+ type: "string",
95
+ optional: true
96
+ },
97
+ sha256: {
98
+ type: "string",
99
+ optional: true
100
+ },
101
+ needsKey: {
102
+ type: "bool",
103
+ default: false
104
+ },
105
+ payload: {
106
+ type: "string",
107
+ optional: true
108
+ },
109
+ voided: {
110
+ type: "bool",
111
+ default: false
112
+ }
113
+ }
114
+ });
115
+ var _default = DownloadableContent;
116
+ exports.default = _default;
@@ -63,6 +63,7 @@ var _News = _interopRequireDefault(require("./News"));
63
63
  var _Comment = _interopRequireDefault(require("./Comment"));
64
64
  var _CommentThread = _interopRequireDefault(require("./CommentThread"));
65
65
  var _Extension = _interopRequireDefault(require("./Extension"));
66
+ var _DownloadableContent = _interopRequireDefault(require("./DownloadableContent"));
66
67
  var _SubjectMigration = _interopRequireDefault(require("./SubjectMigration"));
67
68
  var _ResetSync = _interopRequireDefault(require("./ResetSync"));
68
69
  var _Documentation = _interopRequireDefault(require("./Documentation"));
@@ -350,6 +351,11 @@ const extension = refData(_Extension.default, {
350
351
  syncWeight: 0,
351
352
  filter: ''
352
353
  });
354
+ const downloadableContent = refData(_DownloadableContent.default, {
355
+ res: "downloadableContent",
356
+ syncWeight: 0,
357
+ apiVersion: "v2"
358
+ });
353
359
  const groupRole = refData(_GroupRole.default, {
354
360
  res: "groupRole",
355
361
  syncWeight: 0
@@ -583,7 +589,7 @@ class EntityMetaData {
583
589
  }
584
590
  //order is important. last entity in each (tx and ref) with be executed first. parent should be synced before the child.
585
591
  static model() {
586
- return [groupDashboard, approvalStatus, dashboardSectionCardMapping, dashboardSection, dashboardFilter, dashboard, reportCard, customCardConfig, standardReportCardType, menuItem, locationHierarchy, video, checklistItemDetail, checklistDetail, rule, ruleDependency, individualRelationshipType, individualRelationGenderMapping, individualRelation, formMapping, formElement, formElementGroup, form, documentationItem, documentation, identifierSource, organisationConfig, platformTranslation, translation, locationMapping, addressLevel, taskStatus, taskType, encounterType, program, gender, groupRole, calendarDateMarker, calendar, attendanceType, subjectType, conceptAnswer, concept, myGroups, groupPrivileges, groups, privilege, resetSync, subjectMigration, userSubjectAssignment, task, taskUnAssigment, subjectProgramEligibility, news, videoTelemetric, groupSubject, comment, commentThread, entityApprovalStatus, subjectEntityApprovalStatus, encounterEntityApprovalStatus, programEncounterEntityApprovalStatus, programEnrolmentEntityApprovalStatus, checklistItemEntityApprovalStatus, individualRelationship, checklistItem, checklist, attendanceRecord, session, encounter, identifierAssignment, programEncounter, programEnrolment, individual, extension, userInfo, ruleFailureTelemetry, syncTelemetry];
592
+ return [groupDashboard, approvalStatus, dashboardSectionCardMapping, dashboardSection, dashboardFilter, dashboard, reportCard, customCardConfig, standardReportCardType, menuItem, locationHierarchy, video, checklistItemDetail, checklistDetail, rule, ruleDependency, individualRelationshipType, individualRelationGenderMapping, individualRelation, formMapping, formElement, formElementGroup, form, documentationItem, documentation, identifierSource, organisationConfig, platformTranslation, translation, locationMapping, addressLevel, taskStatus, taskType, encounterType, program, gender, groupRole, calendarDateMarker, calendar, attendanceType, subjectType, conceptAnswer, concept, myGroups, groupPrivileges, groups, privilege, resetSync, subjectMigration, userSubjectAssignment, task, taskUnAssigment, subjectProgramEligibility, news, videoTelemetric, groupSubject, comment, commentThread, entityApprovalStatus, subjectEntityApprovalStatus, encounterEntityApprovalStatus, programEncounterEntityApprovalStatus, programEnrolmentEntityApprovalStatus, checklistItemEntityApprovalStatus, individualRelationship, checklistItem, checklist, attendanceRecord, session, encounter, identifierAssignment, programEncounter, programEnrolment, individual, extension, downloadableContent, userInfo, ruleFailureTelemetry, syncTelemetry];
587
593
  }
588
594
  static entitiesLoadedFromServer() {
589
595
  return _lodash.default.differenceBy(_Schema.default.getInstance().getEntities(), [_Settings.default, _LocaleMapping.default].concat(EntityMetaData.embeddedEntities()), "schema.name");
package/dist/Schema.js CHANGED
@@ -65,6 +65,7 @@ var _DashboardCache = _interopRequireDefault(require("./DashboardCache"));
65
65
  var _LocationHierarchy = _interopRequireDefault(require("./LocationHierarchy"));
66
66
  var _ReportCard = _interopRequireDefault(require("./ReportCard"));
67
67
  var _CustomCardConfig = _interopRequireDefault(require("./CustomCardConfig"));
68
+ var _DownloadableContent = _interopRequireDefault(require("./DownloadableContent"));
68
69
  var _Dashboard = _interopRequireDefault(require("./Dashboard"));
69
70
  var _DashboardSectionCardMapping = _interopRequireDefault(require("./DashboardSectionCardMapping"));
70
71
  var _DraftSubject = _interopRequireDefault(require("./draft/DraftSubject"));
@@ -107,7 +108,7 @@ var _Session = _interopRequireDefault(require("./Session"));
107
108
  var _AttendanceRecord = _interopRequireDefault(require("./AttendanceRecord"));
108
109
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
109
110
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
110
- const entities = [_ReportCardResult.default, _NestedReportCardResult.default, _SubjectLocation.default, _DashboardFilter.default, _LocaleMapping.default, _Settings.default, _ConceptAnswer.default, _ConceptMedia.default, _Concept.default, _EncounterType.default, _Gender.default, _AddressLevel.LocationMapping, _AddressLevel.default, _KeyValue.default, _Form.default, _FormMapping.default, _FormElementGroup.default, _FormElement.default, _SubjectType.default, _Individual.default, _Program.default, _ProgramEnrolment.default, _Observation.default, _ProgramEncounter.default, _Encounter.default, _EntitySyncStatus.default, _EntityQueue.default, _Checklist.default, _ChecklistItem.default, _Format.default, _UserInfo.default, _StringKeyNumericValue.default, _Family.default, _IndividualRelation.default, _IndividualRelationGenderMapping.default, _IndividualRelationshipType.default, _IndividualRelationship.default, _RuleDependency.default, _Rule.default, _ChecklistItemStatus.default, _ChecklistDetail.default, _ChecklistItemDetail.default, _VideoTelemetric.default, _Video.default, _MediaQueue.default, _Point.default, _SyncTelemetry.default, _IdentifierSource.default, _IdentifierAssignment.default, _RuleFailureTelemetry.default, _BeneficiaryModePin.default, _OrganisationConfig.default, _PlatformTranslation.default, _Translation.default, _Groups.default, _MyGroups.default, _GroupPrivileges.default, _Privilege.default, _GroupRole.default, _GroupSubject.default, _DashboardCache.default, _CustomDashboardCache.default, _LocationHierarchy.default, _CustomCardConfig.default, _ReportCard.default, _Dashboard.default, _DashboardSectionCardMapping.default, _DraftSubject.default, _StandardReportCardType.default, _ApprovalStatus.default, _EntityApprovalStatus.default, _GroupDashboard.default, _DashboardSection.default, _News.default, _Comment.default, _CommentThread.default, _Extension.default, _SubjectMigration.default, _ResetSync.default, _Documentation.default, _DocumentationItem.default, _TaskType.default, _TaskStatus.default, _Task.default, _TaskUnAssignment.default, _DraftEncounter.default, _DraftEnrolment.default, _DraftProgramEncounter.default, _SubjectProgramEligibility.default, _MenuItem.default, _UserSubjectAssignment.default, _Calendar.default, _CalendarDateMarker.default, _AttendanceType.default, _Session.default, _AttendanceRecord.default];
111
+ const entities = [_ReportCardResult.default, _NestedReportCardResult.default, _SubjectLocation.default, _DashboardFilter.default, _LocaleMapping.default, _Settings.default, _ConceptAnswer.default, _ConceptMedia.default, _Concept.default, _EncounterType.default, _Gender.default, _AddressLevel.LocationMapping, _AddressLevel.default, _KeyValue.default, _Form.default, _FormMapping.default, _FormElementGroup.default, _FormElement.default, _SubjectType.default, _Individual.default, _Program.default, _ProgramEnrolment.default, _Observation.default, _ProgramEncounter.default, _Encounter.default, _EntitySyncStatus.default, _EntityQueue.default, _Checklist.default, _ChecklistItem.default, _Format.default, _UserInfo.default, _StringKeyNumericValue.default, _Family.default, _IndividualRelation.default, _IndividualRelationGenderMapping.default, _IndividualRelationshipType.default, _IndividualRelationship.default, _RuleDependency.default, _Rule.default, _ChecklistItemStatus.default, _ChecklistDetail.default, _ChecklistItemDetail.default, _VideoTelemetric.default, _Video.default, _MediaQueue.default, _Point.default, _SyncTelemetry.default, _IdentifierSource.default, _IdentifierAssignment.default, _RuleFailureTelemetry.default, _BeneficiaryModePin.default, _OrganisationConfig.default, _PlatformTranslation.default, _Translation.default, _Groups.default, _MyGroups.default, _GroupPrivileges.default, _Privilege.default, _GroupRole.default, _GroupSubject.default, _DashboardCache.default, _CustomDashboardCache.default, _LocationHierarchy.default, _CustomCardConfig.default, _ReportCard.default, _Dashboard.default, _DashboardSectionCardMapping.default, _DraftSubject.default, _StandardReportCardType.default, _ApprovalStatus.default, _EntityApprovalStatus.default, _GroupDashboard.default, _DashboardSection.default, _News.default, _Comment.default, _CommentThread.default, _Extension.default, _DownloadableContent.default, _SubjectMigration.default, _ResetSync.default, _Documentation.default, _DocumentationItem.default, _TaskType.default, _TaskStatus.default, _Task.default, _TaskUnAssignment.default, _DraftEncounter.default, _DraftEnrolment.default, _DraftProgramEncounter.default, _SubjectProgramEligibility.default, _MenuItem.default, _UserSubjectAssignment.default, _Calendar.default, _CalendarDateMarker.default, _AttendanceType.default, _Session.default, _AttendanceRecord.default];
111
112
  function migrateObjectTypeFieldToEmbedded(newDB, oldDB, schemaName, field, creatorFn) {
112
113
  console.log(`schema: ${schemaName}, field: ${field}`);
113
114
  newDB.objects(schemaName).forEach(newDbParentEntity => {
@@ -186,7 +187,7 @@ function createRealmConfig() {
186
187
  return doCompact;
187
188
  },
188
189
  //order is important, should be arranged according to the dependency
189
- schemaVersion: 216,
190
+ schemaVersion: 218,
190
191
  onMigration: function (oldDB, newDB) {
191
192
  console.log("[AvniModels.Schema]", `Running migration with old schema version: ${oldDB.schemaVersion} and new schema version: ${newDB.schemaVersion}`);
192
193
  if (oldDB.schemaVersion === VersionWithEmbeddedMigrationProblem) throw new Error(`Update from schema version ${VersionWithEmbeddedMigrationProblem} is not allowed. Please uninstall and install app.`);
@@ -852,6 +853,12 @@ function createRealmConfig() {
852
853
  if (oldDB.schemaVersion < 216) {
853
854
  // GroupSubject.removalReasonConceptUUID added (additive optional string). No backfill needed.
854
855
  }
856
+ if (oldDB.schemaVersion < 217) {
857
+ // DownloadableContent added (new reference-data entity). No backfill needed.
858
+ }
859
+ if (oldDB.schemaVersion < 218) {
860
+ // AttendanceRecord.otherReasonText added (additive optional string). No backfill needed.
861
+ }
855
862
  }
856
863
  };
857
864
  }
@@ -17,6 +17,7 @@ _defineProperty(SchemaNames, "ProgramEncounter", "ProgramEncounter");
17
17
  _defineProperty(SchemaNames, "Encounter", "Encounter");
18
18
  _defineProperty(SchemaNames, "ChecklistItem", "ChecklistItem");
19
19
  _defineProperty(SchemaNames, "Extension", "Extension");
20
+ _defineProperty(SchemaNames, "DownloadableContent", "DownloadableContent");
20
21
  _defineProperty(SchemaNames, "Identifier", "Identifier");
21
22
  _defineProperty(SchemaNames, "Form", "Form");
22
23
  _defineProperty(SchemaNames, "Format", "EmbeddedFormat");
package/dist/Session.js CHANGED
@@ -123,6 +123,7 @@ class Session extends _BaseEntity.default {
123
123
  record.subjectUUID = studentUUID;
124
124
  record.status = entry.status;
125
125
  record.reasonConceptUUIDs = entry.reasonConceptUUIDs || [];
126
+ record.otherReasonText = entry.otherReasonText || null;
126
127
  record.needsFollowUp = !!entry.needsFollowUp;
127
128
  record.followUpEncounterUUID = null;
128
129
  record.voided = false;
package/dist/index.js CHANGED
@@ -543,6 +543,12 @@ Object.defineProperty(exports, "CustomCardConfig", {
543
543
  return _CustomCardConfig.default;
544
544
  }
545
545
  });
546
+ Object.defineProperty(exports, "DownloadableContent", {
547
+ enumerable: true,
548
+ get: function () {
549
+ return _DownloadableContent.default;
550
+ }
551
+ });
546
552
  Object.defineProperty(exports, "Dashboard", {
547
553
  enumerable: true,
548
554
  get: function () {
@@ -979,6 +985,7 @@ var _DashboardCache = _interopRequireDefault(require("./DashboardCache"));
979
985
  var _LocationHierarchy = _interopRequireDefault(require("./LocationHierarchy"));
980
986
  var _ReportCard = _interopRequireDefault(require("./ReportCard"));
981
987
  var _CustomCardConfig = _interopRequireDefault(require("./CustomCardConfig"));
988
+ var _DownloadableContent = _interopRequireDefault(require("./DownloadableContent"));
982
989
  var _Dashboard = _interopRequireDefault(require("./Dashboard"));
983
990
  var _DashboardSectionCardMapping = _interopRequireDefault(require("./DashboardSectionCardMapping"));
984
991
  var _DraftSubject = _interopRequireDefault(require("./draft/DraftSubject"));
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "openchs-models",
3
3
  "description": "OpenCHS data model to be used by front end clients",
4
- "version": "1.33.69",
4
+ "version": "1.33.71",
5
5
  "private": false,
6
6
  "repository": {
7
7
  "type": "git",