openchs-models 1.33.57 → 1.33.58

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.
@@ -36,11 +36,11 @@ class AttendanceRecord extends _BaseEntity.default {
36
36
  set status(x) {
37
37
  this.that.status = x;
38
38
  }
39
- get reasonConceptUUID() {
40
- return this.that.reasonConceptUUID;
39
+ get reasonConceptUUIDs() {
40
+ return this.that.reasonConceptUUIDs || [];
41
41
  }
42
- set reasonConceptUUID(x) {
43
- this.that.reasonConceptUUID = x;
42
+ set reasonConceptUUIDs(x) {
43
+ this.that.reasonConceptUUIDs = x || [];
44
44
  }
45
45
  get followUpEncounterUUID() {
46
46
  return this.that.followUpEncounterUUID;
@@ -90,7 +90,7 @@ class AttendanceRecord extends _BaseEntity.default {
90
90
  record.sessionUUID = resource.sessionUUID;
91
91
  record.subjectUUID = resource.subjectUUID;
92
92
  record.status = resource.status;
93
- record.reasonConceptUUID = resource.reasonConceptUUID || null;
93
+ record.reasonConceptUUIDs = Array.isArray(resource.reasonConceptUUIDs) ? resource.reasonConceptUUIDs : resource.reasonConceptUUID ? [resource.reasonConceptUUID] : [];
94
94
  record.followUpEncounterUUID = resource.followUpEncounterUUID || null;
95
95
  record.needsFollowUp = !!resource.needsFollowUp;
96
96
  record.voided = !!resource.voided;
@@ -99,7 +99,7 @@ class AttendanceRecord extends _BaseEntity.default {
99
99
  }
100
100
  get toResource() {
101
101
  const resource = _lodash.default.pick(this, ["uuid", "sessionUUID", "subjectUUID", "status", "voided"]);
102
- resource.reasonConceptUUID = this.reasonConceptUUID || null;
102
+ resource.reasonConceptUUIDs = this.reasonConceptUUIDs || [];
103
103
  resource.followUpEncounterUUID = this.followUpEncounterUUID || null;
104
104
  resource.needsFollowUp = !!this.needsFollowUp;
105
105
  return resource;
@@ -113,9 +113,9 @@ _defineProperty(AttendanceRecord, "schema", {
113
113
  sessionUUID: "string",
114
114
  subjectUUID: "string",
115
115
  status: "string",
116
- reasonConceptUUID: {
117
- type: "string",
118
- optional: true
116
+ reasonConceptUUIDs: {
117
+ type: "string[]",
118
+ default: []
119
119
  },
120
120
  followUpEncounterUUID: {
121
121
  type: "string",
package/dist/Schema.js CHANGED
@@ -186,7 +186,7 @@ function createRealmConfig() {
186
186
  return doCompact;
187
187
  },
188
188
  //order is important, should be arranged according to the dependency
189
- schemaVersion: 214,
189
+ schemaVersion: 215,
190
190
  onMigration: function (oldDB, newDB) {
191
191
  console.log("[AvniModels.Schema]", `Running migration with old schema version: ${oldDB.schemaVersion} and new schema version: ${newDB.schemaVersion}`);
192
192
  if (oldDB.schemaVersion === VersionWithEmbeddedMigrationProblem) throw new Error(`Update from schema version ${VersionWithEmbeddedMigrationProblem} is not allowed. Please uninstall and install app.`);
@@ -836,6 +836,16 @@ function createRealmConfig() {
836
836
  rec.needsFollowUp = !_lodash.default.isNil(rec.followUpEncounterUUID);
837
837
  });
838
838
  }
839
+ if (oldDB.schemaVersion < 215) {
840
+ // reasonConceptUUID (single, optional) -> reasonConceptUUIDs (string[]).
841
+ // A set reason becomes a one-element array; null becomes [].
842
+ const oldRecords = oldDB.objects(_SchemaNames.default.AttendanceRecord);
843
+ const newRecords = newDB.objects(_SchemaNames.default.AttendanceRecord);
844
+ for (let i = 0; i < oldRecords.length; i++) {
845
+ const reason = oldRecords[i].reasonConceptUUID;
846
+ newRecords[i].reasonConceptUUIDs = _lodash.default.isNil(reason) ? [] : [reason];
847
+ }
848
+ }
839
849
  }
840
850
  };
841
851
  }
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.57",
4
+ "version": "1.33.58",
5
5
  "private": false,
6
6
  "repository": {
7
7
  "type": "git",