openchs-models 1.13.0 → 1.16.0
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.
- package/dist/AbstractEncounter.js +4 -0
- package/dist/Concept.js +6 -2
- package/dist/Family.js +2 -2
- package/dist/Individual.js +26 -3
- package/dist/MediaQueue.js +11 -2
- package/dist/Observation.js +4 -0
- package/dist/ObservationsHolder.js +46 -0
- package/dist/ProgramEnrolment.js +4 -0
- package/dist/Schema.js +11 -1
- package/dist/SubjectType.js +8 -0
- package/dist/draft/DraftSubject.js +6 -0
- package/package.json +1 -1
|
@@ -186,6 +186,10 @@ class AbstractEncounter extends _BaseEntity.default {
|
|
|
186
186
|
return (0, _Media.findMediaObservations)(_ObservationsHolder.default.clone(this.observations), _ObservationsHolder.default.clone(this.cancelObservations));
|
|
187
187
|
}
|
|
188
188
|
|
|
189
|
+
replaceMediaObservation(originalValue, newValue, conceptUUID) {
|
|
190
|
+
new _ObservationsHolder.default(this.observations).replaceMediaObservation(originalValue, newValue, conceptUUID);
|
|
191
|
+
}
|
|
192
|
+
|
|
189
193
|
replaceObservation(originalValue, newValue) {
|
|
190
194
|
new _ObservationsHolder.default(this.observations).updateObservationBasedOnValue(originalValue, newValue);
|
|
191
195
|
new _ObservationsHolder.default(this.cancelObservations).updateObservationBasedOnValue(originalValue, newValue);
|
package/dist/Concept.js
CHANGED
|
@@ -189,7 +189,7 @@ class Concept {
|
|
|
189
189
|
}
|
|
190
190
|
|
|
191
191
|
getValueWrapperFor(obsValue) {
|
|
192
|
-
if (this.isCodedConcept() || this.isSubjectConcept()) {
|
|
192
|
+
if (this.isCodedConcept() || this.isSubjectConcept() || this.isMediaConcept()) {
|
|
193
193
|
return _lodash.default.isArray(obsValue) ? new _MultipleCodedValues.default(obsValue) : new _SingleCodedValue.default(obsValue);
|
|
194
194
|
}
|
|
195
195
|
|
|
@@ -224,6 +224,10 @@ class Concept {
|
|
|
224
224
|
return this.isType(Concept.dataType.Subject);
|
|
225
225
|
}
|
|
226
226
|
|
|
227
|
+
isMediaConcept() {
|
|
228
|
+
return _lodash.default.includes([Concept.dataType.Image, Concept.dataType.Video, Concept.dataType.File], this.datatype);
|
|
229
|
+
}
|
|
230
|
+
|
|
227
231
|
isDurationConcept() {
|
|
228
232
|
return this.isType(Concept.dataType.Duration);
|
|
229
233
|
}
|
|
@@ -241,7 +245,7 @@ class Concept {
|
|
|
241
245
|
}
|
|
242
246
|
|
|
243
247
|
isPrimitive() {
|
|
244
|
-
return [Concept.dataType.Text, Concept.dataType.Time, Concept.dataType.Numeric, Concept.dataType.
|
|
248
|
+
return [Concept.dataType.Text, Concept.dataType.Time, Concept.dataType.Numeric, Concept.dataType.Audio, Concept.dataType.Date, Concept.dataType.DateTime, Concept.dataType.Location].includes(this.datatype);
|
|
245
249
|
}
|
|
246
250
|
|
|
247
251
|
getAnswers() {
|
package/dist/Family.js
CHANGED
|
@@ -50,7 +50,7 @@ class Family extends _BaseEntity.default {
|
|
|
50
50
|
}
|
|
51
51
|
|
|
52
52
|
get toResource() {
|
|
53
|
-
const resource = _lodash.default.pick(this, ["uuid", "firstName", "lastName", "dateOfBirthVerified"]);
|
|
53
|
+
const resource = _lodash.default.pick(this, ["uuid", "firstName", "lastName", "profilePicture", "dateOfBirthVerified"]);
|
|
54
54
|
|
|
55
55
|
resource.dateOfBirth = (0, _moment.default)(this.dateOfBirth).format("YYYY-MM-DD");
|
|
56
56
|
resource.registrationDate = (0, _moment.default)(this.registrationDate).format("YYYY-MM-DD");
|
|
@@ -67,7 +67,7 @@ class Family extends _BaseEntity.default {
|
|
|
67
67
|
const addressLevel = entityService.findByKey("uuid", _ResourceUtil.default.getUUIDFor(individualResource, "addressUUID"), _AddressLevel.default.schema.name);
|
|
68
68
|
const gender = entityService.findByKey("uuid", _ResourceUtil.default.getUUIDFor(individualResource, "genderUUID"), _Gender.default.schema.name);
|
|
69
69
|
|
|
70
|
-
const individual = _General.default.assignFields(individualResource, new _Individual.default(), ["uuid", "firstName", "lastName", "dateOfBirthVerified"], ["dateOfBirth", "registrationDate"], ["observations"], entityService);
|
|
70
|
+
const individual = _General.default.assignFields(individualResource, new _Individual.default(), ["uuid", "firstName", "lastName", "profilePicture", "dateOfBirthVerified"], ["dateOfBirth", "registrationDate"], ["observations"], entityService);
|
|
71
71
|
|
|
72
72
|
individual.gender = gender;
|
|
73
73
|
individual.lowestAddressLevel = addressLevel;
|
package/dist/Individual.js
CHANGED
|
@@ -85,6 +85,8 @@ class Individual extends _BaseEntity.default {
|
|
|
85
85
|
|
|
86
86
|
_defineProperty(this, "lastName", void 0);
|
|
87
87
|
|
|
88
|
+
_defineProperty(this, "profilePicture", void 0);
|
|
89
|
+
|
|
88
90
|
_defineProperty(this, "dateOfBirthVerified", void 0);
|
|
89
91
|
|
|
90
92
|
_defineProperty(this, "latestEntityApprovalStatus", void 0);
|
|
@@ -127,7 +129,7 @@ class Individual extends _BaseEntity.default {
|
|
|
127
129
|
}
|
|
128
130
|
|
|
129
131
|
get toResource() {
|
|
130
|
-
const resource = _lodash.default.pick(this, ["uuid", "firstName", "lastName", "dateOfBirthVerified", "voided"]);
|
|
132
|
+
const resource = _lodash.default.pick(this, ["uuid", "firstName", "lastName", "profilePicture", "dateOfBirthVerified", "voided"]);
|
|
131
133
|
|
|
132
134
|
resource.dateOfBirth = this.dateOfBirth ? (0, _moment.default)(this.dateOfBirth).format("YYYY-MM-DD") : null;
|
|
133
135
|
resource.registrationDate = (0, _moment.default)(this.registrationDate).format("YYYY-MM-DD");
|
|
@@ -154,11 +156,12 @@ class Individual extends _BaseEntity.default {
|
|
|
154
156
|
return this.nonVoidedEnrolments().find(enrolment => enrolment.findLatestObservationInEntireEnrolment(conceptNameOrUuid) !== undefined);
|
|
155
157
|
}
|
|
156
158
|
|
|
157
|
-
static newInstance(uuid, firstName, lastName, dateOfBirth, dateOfBirthVerified, gender, lowestAddressLevel, subjectType) {
|
|
159
|
+
static newInstance(uuid, firstName, lastName, dateOfBirth, dateOfBirthVerified, gender, lowestAddressLevel, subjectType, profilePicture) {
|
|
158
160
|
const individual = new Individual();
|
|
159
161
|
individual.uuid = uuid;
|
|
160
162
|
individual.firstName = firstName;
|
|
161
163
|
individual.lastName = lastName;
|
|
164
|
+
individual.profilePicture = profilePicture;
|
|
162
165
|
individual.subjectType = subjectType;
|
|
163
166
|
individual.name = individual.nameString;
|
|
164
167
|
individual.dateOfBirth = dateOfBirth;
|
|
@@ -173,7 +176,7 @@ class Individual extends _BaseEntity.default {
|
|
|
173
176
|
const gender = entityService.findByKey("uuid", _ResourceUtil.default.getUUIDFor(individualResource, "genderUUID"), _Gender.default.schema.name);
|
|
174
177
|
const subjectType = entityService.findByKey("uuid", _ResourceUtil.default.getUUIDFor(individualResource, "subjectTypeUUID"), _SubjectType.default.schema.name);
|
|
175
178
|
|
|
176
|
-
const individual = _General.default.assignFields(individualResource, new Individual(), ["uuid", "firstName", "lastName", "dateOfBirthVerified", "voided"], ["dateOfBirth", "registrationDate"], ["observations"], entityService);
|
|
179
|
+
const individual = _General.default.assignFields(individualResource, new Individual(), ["uuid", "firstName", "lastName", "profilePicture", "dateOfBirthVerified", "voided"], ["dateOfBirth", "registrationDate"], ["observations"], entityService);
|
|
177
180
|
|
|
178
181
|
individual.gender = gender;
|
|
179
182
|
individual.lowestAddressLevel = addressLevel;
|
|
@@ -460,6 +463,7 @@ class Individual extends _BaseEntity.default {
|
|
|
460
463
|
individual.name = this.name;
|
|
461
464
|
individual.firstName = this.firstName;
|
|
462
465
|
individual.lastName = this.lastName;
|
|
466
|
+
individual.profilePicture = this.profilePicture;
|
|
463
467
|
individual.dateOfBirth = this.dateOfBirth;
|
|
464
468
|
individual.registrationDate = this.registrationDate;
|
|
465
469
|
individual.dateOfBirthVerified = this.dateOfBirthVerified;
|
|
@@ -485,6 +489,7 @@ class Individual extends _BaseEntity.default {
|
|
|
485
489
|
individual.name = this.name;
|
|
486
490
|
individual.firstName = this.firstName;
|
|
487
491
|
individual.lastName = this.lastName;
|
|
492
|
+
individual.profilePicture = this.profilePicture;
|
|
488
493
|
individual.dateOfBirth = this.dateOfBirth;
|
|
489
494
|
individual.gender = _lodash.default.isNil(this.gender) ? null : this.gender.clone();
|
|
490
495
|
return individual;
|
|
@@ -600,10 +605,22 @@ class Individual extends _BaseEntity.default {
|
|
|
600
605
|
return _lodash.default.sortBy(this.nonVoidedEnrolments(), enrolment => enrolment.encounterDateTime);
|
|
601
606
|
}
|
|
602
607
|
|
|
608
|
+
getProfilePicture() {
|
|
609
|
+
return this.profilePicture;
|
|
610
|
+
}
|
|
611
|
+
|
|
612
|
+
updateProfilePicture(newValue) {
|
|
613
|
+
this.profilePicture = newValue;
|
|
614
|
+
}
|
|
615
|
+
|
|
603
616
|
findMediaObservations() {
|
|
604
617
|
return (0, _Media.findMediaObservations)(this.observations);
|
|
605
618
|
}
|
|
606
619
|
|
|
620
|
+
replaceMediaObservation(originalValue, newValue, conceptUUID) {
|
|
621
|
+
new _ObservationsHolder.default(this.observations).replaceMediaObservation(originalValue, newValue, conceptUUID);
|
|
622
|
+
}
|
|
623
|
+
|
|
607
624
|
replaceObservation(originalValue, newValue) {
|
|
608
625
|
new _ObservationsHolder.default(this.observations).updateObservationBasedOnValue(originalValue, newValue);
|
|
609
626
|
} //TODO use polymorphism to avoid if checks based on this
|
|
@@ -784,6 +801,7 @@ class Individual extends _BaseEntity.default {
|
|
|
784
801
|
uuid: this.uuid,
|
|
785
802
|
firstName: this.firstName,
|
|
786
803
|
lastName: this.lastName,
|
|
804
|
+
profilePicture: this.profilePicture,
|
|
787
805
|
enrolments: this.enrolments,
|
|
788
806
|
dateOfBirth: this.dateOfBirth,
|
|
789
807
|
gender: this.gender,
|
|
@@ -816,6 +834,10 @@ _defineProperty(Individual, "schema", {
|
|
|
816
834
|
type: "string",
|
|
817
835
|
optional: true
|
|
818
836
|
},
|
|
837
|
+
profilePicture: {
|
|
838
|
+
type: "string",
|
|
839
|
+
optional: true
|
|
840
|
+
},
|
|
819
841
|
dateOfBirth: {
|
|
820
842
|
type: "date",
|
|
821
843
|
optional: true
|
|
@@ -878,6 +900,7 @@ _defineProperty(Individual, "validationKeys", {
|
|
|
878
900
|
GENDER: "GENDER",
|
|
879
901
|
FIRST_NAME: "FIRST_NAME",
|
|
880
902
|
LAST_NAME: "LAST_NAME",
|
|
903
|
+
PROFILE_PICTURE: "PROFILE_PICTURE",
|
|
881
904
|
REGISTRATION_DATE: "REGISTRATION_DATE",
|
|
882
905
|
LOWEST_ADDRESS_LEVEL: "LOWEST_ADDRESS_LEVEL",
|
|
883
906
|
REGISTRATION_LOCATION: "REGISTRATION_LOCATION",
|
package/dist/MediaQueue.js
CHANGED
|
@@ -12,13 +12,15 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
12
12
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
13
13
|
|
|
14
14
|
class MediaQueue {
|
|
15
|
-
static create(entityUUID, entityName, fileName, type, uuid = _General.default.randomUUID()) {
|
|
15
|
+
static create(entityUUID, entityName, fileName, type, entityTargetField, conceptUUID, uuid = _General.default.randomUUID()) {
|
|
16
16
|
var mediaQueue = new MediaQueue();
|
|
17
17
|
mediaQueue.entityUUID = entityUUID;
|
|
18
18
|
mediaQueue.uuid = uuid;
|
|
19
19
|
mediaQueue.entityName = entityName;
|
|
20
|
+
mediaQueue.entityTargetField = entityTargetField;
|
|
20
21
|
mediaQueue.fileName = fileName;
|
|
21
22
|
mediaQueue.type = type;
|
|
23
|
+
mediaQueue.conceptUUID = conceptUUID;
|
|
22
24
|
return mediaQueue;
|
|
23
25
|
}
|
|
24
26
|
|
|
@@ -27,8 +29,10 @@ class MediaQueue {
|
|
|
27
29
|
mediaQueueItem.uuid = this.uuid;
|
|
28
30
|
mediaQueueItem.entityUUID = this.entityUUID;
|
|
29
31
|
mediaQueueItem.entityName = this.entityName;
|
|
32
|
+
mediaQueueItem.entityTargetField = this.entityTargetField;
|
|
30
33
|
mediaQueueItem.fileName = this.fileName;
|
|
31
34
|
mediaQueueItem.type = this.type;
|
|
35
|
+
mediaQueueItem.conceptUUID = this.conceptUUID;
|
|
32
36
|
return mediaQueueItem;
|
|
33
37
|
}
|
|
34
38
|
|
|
@@ -41,8 +45,13 @@ _defineProperty(MediaQueue, "schema", {
|
|
|
41
45
|
uuid: "string",
|
|
42
46
|
entityUUID: "string",
|
|
43
47
|
entityName: "string",
|
|
48
|
+
entityTargetField: "string",
|
|
44
49
|
fileName: "string",
|
|
45
|
-
type: "string"
|
|
50
|
+
type: "string",
|
|
51
|
+
conceptUUID: {
|
|
52
|
+
type: "string",
|
|
53
|
+
optional: true
|
|
54
|
+
}
|
|
46
55
|
}
|
|
47
56
|
});
|
|
48
57
|
|
package/dist/Observation.js
CHANGED
|
@@ -57,6 +57,8 @@ class Observation {
|
|
|
57
57
|
if (observation.concept.datatype === _Concept.default.dataType.Subject) {
|
|
58
58
|
const subject = subjectService.findByUUID(valueWrapper.getValue());
|
|
59
59
|
return [new _Displayable.default(subject.nameStringWithUniqueAttribute, subject)];
|
|
60
|
+
} else if (_Concept.default.dataType.Media.includes(observation.concept.datatype)) {
|
|
61
|
+
return new _Displayable.default(valueWrapper.getValue(), null);
|
|
60
62
|
} else {
|
|
61
63
|
return new _Displayable.default(i18n.t(conceptService.getConceptByUUID(valueWrapper.getConceptUUID()).name), null);
|
|
62
64
|
}
|
|
@@ -66,6 +68,8 @@ class Observation {
|
|
|
66
68
|
const subject = subjectService.findByUUID(uuid);
|
|
67
69
|
return new _Displayable.default(subject.nameStringWithUniqueAttribute, subject);
|
|
68
70
|
});
|
|
71
|
+
} else if (_Concept.default.dataType.Media.includes(observation.concept.datatype)) {
|
|
72
|
+
return new _Displayable.default(valueWrapper.getValue(), null);
|
|
69
73
|
} else {
|
|
70
74
|
return new _Displayable.default(_lodash.default.join(valueWrapper.getValue().map(value => {
|
|
71
75
|
return i18n.t(conceptService.getConceptByUUID(value).name);
|
|
@@ -25,6 +25,8 @@ var _Identifier = _interopRequireDefault(require("./Identifier"));
|
|
|
25
25
|
|
|
26
26
|
var _QuestionGroup = _interopRequireDefault(require("./observation/QuestionGroup"));
|
|
27
27
|
|
|
28
|
+
var _General = _interopRequireDefault(require("./utility/General"));
|
|
29
|
+
|
|
28
30
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
29
31
|
|
|
30
32
|
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
|
|
@@ -334,6 +336,50 @@ class ObservationsHolder {
|
|
|
334
336
|
}
|
|
335
337
|
}
|
|
336
338
|
|
|
339
|
+
replaceMediaObservation(oldValue, newValue, conceptUUID) {
|
|
340
|
+
if (_lodash.default.isNil(conceptUUID)) {
|
|
341
|
+
return this.updateObservationBasedOnValue(oldValue, newValue);
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
const observation = _lodash.default.find(this.observations, observation => observation.concept.uuid === conceptUUID);
|
|
345
|
+
|
|
346
|
+
if (observation) {
|
|
347
|
+
const valueWrapper = observation.getValueWrapper();
|
|
348
|
+
|
|
349
|
+
if (valueWrapper.isMultipleCoded) {
|
|
350
|
+
const answers = valueWrapper.getValue();
|
|
351
|
+
|
|
352
|
+
const oldValueIndex = _lodash.default.indexOf(answers, oldValue);
|
|
353
|
+
|
|
354
|
+
const newAnswers = _lodash.default.reject(answers, answer => answer === oldValue);
|
|
355
|
+
|
|
356
|
+
newAnswers.splice(oldValueIndex, 0, newValue);
|
|
357
|
+
observation.valueJSON = new _MultipleCodedValues.default(newAnswers);
|
|
358
|
+
} else {
|
|
359
|
+
observation.valueJSON = new _SingleCodedValue.default(newValue);
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
|
|
364
|
+
migrateMultiSelectMediaObservations(form) {
|
|
365
|
+
_lodash.default.forEach(form.nonVoidedFormElementGroups(), feg => {
|
|
366
|
+
_lodash.default.forEach(feg.getFormElements(), fe => {
|
|
367
|
+
const concept = fe.concept;
|
|
368
|
+
const observation = this.getObservation(concept);
|
|
369
|
+
|
|
370
|
+
if (_lodash.default.includes(_Concept.default.dataType.Media, fe.getType()) && observation && fe.isMultiSelect()) {
|
|
371
|
+
const valueWrapper = observation.getValueWrapper();
|
|
372
|
+
|
|
373
|
+
if (!_lodash.default.isArray(valueWrapper.getValue())) {
|
|
374
|
+
_General.default.logDebug("ObservationHolder", `Found string value ${valueWrapper.getValue()} for multi select media element, doing migration`);
|
|
375
|
+
|
|
376
|
+
observation.valueJSON = new _MultipleCodedValues.default([valueWrapper.getValue()]);
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
});
|
|
380
|
+
});
|
|
381
|
+
}
|
|
382
|
+
|
|
337
383
|
toString(I18n) {
|
|
338
384
|
let display = "";
|
|
339
385
|
this.observations.forEach(obs => {
|
package/dist/ProgramEnrolment.js
CHANGED
|
@@ -453,6 +453,10 @@ class ProgramEnrolment extends _BaseEntity.default {
|
|
|
453
453
|
return (0, _Media.findMediaObservations)(_ObservationsHolder.default.clone(this.observations), _ObservationsHolder.default.clone(this.programExitObservations));
|
|
454
454
|
}
|
|
455
455
|
|
|
456
|
+
replaceMediaObservation(originalValue, newValue, conceptUUID) {
|
|
457
|
+
new _ObservationsHolder.default(this.observations).replaceMediaObservation(originalValue, newValue, conceptUUID);
|
|
458
|
+
}
|
|
459
|
+
|
|
456
460
|
replaceObservation(originalValue, newValue) {
|
|
457
461
|
new _ObservationsHolder.default(this.observations).updateObservationBasedOnValue(originalValue, newValue);
|
|
458
462
|
new _ObservationsHolder.default(this.programExitObservations).updateObservationBasedOnValue(originalValue, newValue);
|
package/dist/Schema.js
CHANGED
|
@@ -168,7 +168,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
168
168
|
var _default = {
|
|
169
169
|
//order is important, should be arranged according to the dependency
|
|
170
170
|
schema: [_LocaleMapping.default, _Settings.default, _Concept.ConceptAnswer, _Concept.default, _EncounterType.default, _Gender.default, _UserDefinedIndividualProperty.default, _AddressLevel.LocationMapping, _AddressLevel.default, _KeyValue.default, _Form.default, _FormMapping.default, _FormElementGroup.default, _FormElement.default, _SubjectType.default, _Individual.default, _ProgramOutcome.default, _Program.default, _ProgramEnrolment.default, _Observation.default, _ProgramEncounter.default, _Encounter.default, _EntitySyncStatus.default, _EntityQueue.default, _ConfigFile.default, _Checklist.default, _ChecklistItem.default, _Format.default, _UserInfo.default, _StringKeyNumericValue.default, _VisitScheduleInterval.default, _VisitScheduleConfig.default, _ProgramConfig.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, _LocationHierarchy.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],
|
|
171
|
-
schemaVersion:
|
|
171
|
+
schemaVersion: 153,
|
|
172
172
|
migration: function (oldDB, newDB) {
|
|
173
173
|
if (oldDB.schemaVersion < 10) {
|
|
174
174
|
var oldObjects = oldDB.objects("DecisionConfig");
|
|
@@ -612,6 +612,16 @@ var _default = {
|
|
|
612
612
|
individual.groups = groups;
|
|
613
613
|
});
|
|
614
614
|
}
|
|
615
|
+
|
|
616
|
+
if (oldDB.schemaVersion < 152) {
|
|
617
|
+
_lodash.default.forEach(newDB.objects(_MediaQueue.default.schema.name), mediaQueueItem => {
|
|
618
|
+
mediaQueueItem.entityTargetField = "observations";
|
|
619
|
+
});
|
|
620
|
+
|
|
621
|
+
_lodash.default.forEach(newDB.objects(_SubjectType.default.schema.name), sub => {
|
|
622
|
+
sub.allowProfilePicture = false;
|
|
623
|
+
});
|
|
624
|
+
}
|
|
615
625
|
}
|
|
616
626
|
};
|
|
617
627
|
exports.default = _default;
|
package/dist/SubjectType.js
CHANGED
|
@@ -29,6 +29,8 @@ class SubjectType extends _ReferenceEntity.default {
|
|
|
29
29
|
|
|
30
30
|
_defineProperty(this, "allowEmptyLocation", void 0);
|
|
31
31
|
|
|
32
|
+
_defineProperty(this, "allowProfilePicture", void 0);
|
|
33
|
+
|
|
32
34
|
_defineProperty(this, "uniqueName", void 0);
|
|
33
35
|
|
|
34
36
|
_defineProperty(this, "validFirstNameFormat", void 0);
|
|
@@ -58,6 +60,7 @@ class SubjectType extends _ReferenceEntity.default {
|
|
|
58
60
|
subjectType.type = operationalSubjectType.type;
|
|
59
61
|
subjectType.subjectSummaryRule = operationalSubjectType.subjectSummaryRule;
|
|
60
62
|
subjectType.uniqueName = operationalSubjectType.uniqueName;
|
|
63
|
+
subjectType.allowProfilePicture = operationalSubjectType.allowProfilePicture;
|
|
61
64
|
subjectType.validFirstNameFormat = _Format.default.fromResource(operationalSubjectType["validFirstNameFormat"]);
|
|
62
65
|
subjectType.validLastNameFormat = _Format.default.fromResource(operationalSubjectType["validLastNameFormat"]);
|
|
63
66
|
subjectType.iconFileS3Key = operationalSubjectType.iconFileS3Key;
|
|
@@ -78,6 +81,7 @@ class SubjectType extends _ReferenceEntity.default {
|
|
|
78
81
|
cloned.type = this.type;
|
|
79
82
|
cloned.subjectSummaryRule = this.subjectSummaryRule;
|
|
80
83
|
cloned.allowEmptyLocation = this.allowEmptyLocation;
|
|
84
|
+
cloned.allowProfilePicture = this.allowProfilePicture;
|
|
81
85
|
cloned.uniqueName = this.uniqueName;
|
|
82
86
|
cloned.validFirstNameFormat = this.validFirstNameFormat;
|
|
83
87
|
cloned.validLastNameFormat = this.validLastNameFormat;
|
|
@@ -165,6 +169,10 @@ _defineProperty(SubjectType, "schema", {
|
|
|
165
169
|
type: "string",
|
|
166
170
|
optional: true
|
|
167
171
|
},
|
|
172
|
+
allowProfilePicture: {
|
|
173
|
+
type: 'bool',
|
|
174
|
+
default: false
|
|
175
|
+
},
|
|
168
176
|
nameHelpText: {
|
|
169
177
|
type: "string",
|
|
170
178
|
optional: true
|
|
@@ -20,6 +20,7 @@ class DraftSubject {
|
|
|
20
20
|
draftSubject.subjectType = subject.subjectType;
|
|
21
21
|
draftSubject.firstName = subject.firstName;
|
|
22
22
|
draftSubject.lastName = subject.lastName;
|
|
23
|
+
draftSubject.profilePicture = subject.profilePicture;
|
|
23
24
|
draftSubject.dateOfBirth = subject.dateOfBirth;
|
|
24
25
|
draftSubject.registrationDate = subject.registrationDate;
|
|
25
26
|
draftSubject.dateOfBirthVerified = subject.dateOfBirthVerified;
|
|
@@ -38,6 +39,7 @@ class DraftSubject {
|
|
|
38
39
|
individual.subjectType = this.subjectType.clone();
|
|
39
40
|
individual.firstName = this.firstName;
|
|
40
41
|
individual.lastName = this.lastName;
|
|
42
|
+
individual.profilePicture = this.profilePicture;
|
|
41
43
|
individual.dateOfBirth = this.dateOfBirth;
|
|
42
44
|
individual.registrationDate = this.registrationDate;
|
|
43
45
|
individual.dateOfBirthVerified = this.dateOfBirthVerified;
|
|
@@ -66,6 +68,10 @@ _defineProperty(DraftSubject, "schema", {
|
|
|
66
68
|
type: "string",
|
|
67
69
|
optional: true
|
|
68
70
|
},
|
|
71
|
+
profilePicture: {
|
|
72
|
+
type: "string",
|
|
73
|
+
optional: true
|
|
74
|
+
},
|
|
69
75
|
dateOfBirth: {
|
|
70
76
|
type: "date",
|
|
71
77
|
optional: true
|