openchs-models 1.33.1 → 1.33.4

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 (153) hide show
  1. package/.circleci/config.yml +15 -5
  2. package/.commit-message.txt +21 -0
  3. package/.nvmrc +1 -1
  4. package/Makefile +32 -10
  5. package/REALM_V12_NOTES.md +46 -0
  6. package/dist/AbstractEncounter.js +4 -105
  7. package/dist/AddressLevel.js +5 -62
  8. package/dist/ApprovalStatus.js +4 -17
  9. package/dist/BaseEntity.js +5 -42
  10. package/dist/BeneficiaryModePin.js +4 -13
  11. package/dist/Checklist.js +6 -52
  12. package/dist/ChecklistDetail.js +4 -22
  13. package/dist/ChecklistItem.js +16 -96
  14. package/dist/ChecklistItemDetail.js +4 -43
  15. package/dist/ChecklistItemStatus.js +6 -35
  16. package/dist/Comment.js +6 -51
  17. package/dist/CommentThread.js +4 -26
  18. package/dist/CompositeDuration.js +1 -18
  19. package/dist/Concept.js +5 -107
  20. package/dist/ConceptAnswer.js +4 -21
  21. package/dist/CustomDashboardCache.js +4 -38
  22. package/dist/CustomFilter.js +5 -15
  23. package/dist/Dashboard.js +4 -23
  24. package/dist/DashboardCache.js +4 -23
  25. package/dist/DashboardSection.js +4 -24
  26. package/dist/DashboardSectionCardMapping.js +4 -21
  27. package/dist/Displayable.js +3 -11
  28. package/dist/Documentation.js +4 -21
  29. package/dist/DocumentationItem.js +4 -20
  30. package/dist/Duration.js +4 -39
  31. package/dist/Encounter.js +6 -41
  32. package/dist/EncounterType.js +4 -26
  33. package/dist/EntityApprovalStatus.js +6 -56
  34. package/dist/EntityMetaData.js +7 -105
  35. package/dist/EntityQueue.js +4 -15
  36. package/dist/EntityRule.js +1 -29
  37. package/dist/EntitySyncStatus.js +4 -19
  38. package/dist/Extension.js +4 -18
  39. package/dist/Family.js +4 -56
  40. package/dist/FileFormat.js +0 -7
  41. package/dist/Gender.js +4 -17
  42. package/dist/GroupDashboard.js +4 -23
  43. package/dist/GroupPrivileges.js +4 -28
  44. package/dist/GroupRole.js +4 -34
  45. package/dist/GroupSubject.js +6 -59
  46. package/dist/Groups.js +4 -14
  47. package/dist/Identifier.js +4 -20
  48. package/dist/IdentifierAssignment.js +6 -45
  49. package/dist/IdentifierSource.js +4 -15
  50. package/dist/Individual.js +17 -265
  51. package/dist/LocaleMapping.js +4 -13
  52. package/dist/LocationHierarchy.js +4 -25
  53. package/dist/Media.js +35 -35
  54. package/dist/MediaQueue.js +4 -26
  55. package/dist/MigrationsHelper.js +15 -22
  56. package/dist/MyGroups.js +4 -14
  57. package/dist/News.js +4 -31
  58. package/dist/Observation.js +4 -54
  59. package/dist/ObservationsHolder.js +104 -216
  60. package/dist/OrganisationConfig.js +4 -19
  61. package/dist/PersistedObject.js +1 -19
  62. package/dist/PhoneNumber.js +0 -11
  63. package/dist/PlatformTranslation.js +4 -17
  64. package/dist/Privilege.js +5 -22
  65. package/dist/Program.js +4 -39
  66. package/dist/ProgramEncounter.js +6 -48
  67. package/dist/ProgramEnrolment.js +8 -162
  68. package/dist/ReferenceEntity.js +1 -10
  69. package/dist/ReportCard.js +5 -60
  70. package/dist/ResetSync.js +4 -17
  71. package/dist/Rule.js +4 -28
  72. package/dist/RuleDependency.js +4 -17
  73. package/dist/RuleFailureTelemetry.js +4 -36
  74. package/dist/Schema.js +16 -268
  75. package/dist/SchemaNames.js +3 -46
  76. package/dist/Settings.js +4 -53
  77. package/dist/StandardReportCardType.js +4 -39
  78. package/dist/SubjectMigration.js +6 -45
  79. package/dist/SubjectType.js +6 -72
  80. package/dist/SyncTelemetry.js +4 -40
  81. package/dist/Translation.js +4 -17
  82. package/dist/UserInfo.js +4 -33
  83. package/dist/application/DashboardCacheFilter.js +4 -24
  84. package/dist/application/Filter.js +3 -16
  85. package/dist/application/Form.js +6 -93
  86. package/dist/application/FormElement.js +5 -100
  87. package/dist/application/FormElementGroup.js +4 -75
  88. package/dist/application/FormElementStatus.js +1 -11
  89. package/dist/application/FormMapping.js +6 -44
  90. package/dist/application/Format.js +4 -20
  91. package/dist/application/KeyValue.js +4 -19
  92. package/dist/application/MenuItem.js +4 -35
  93. package/dist/application/MultiSelectFilter.js +1 -11
  94. package/dist/application/NullProgramEnrolment.js +0 -8
  95. package/dist/application/SingleSelectFilter.js +1 -12
  96. package/dist/application/StaticFormElementGroup.js +0 -11
  97. package/dist/application/StringKeyNumericValue.js +4 -17
  98. package/dist/application/ValidationResult.js +6 -20
  99. package/dist/application/ValidationResults.js +1 -14
  100. package/dist/application/WorkItem.js +4 -20
  101. package/dist/application/WorkList.js +1 -24
  102. package/dist/application/WorkLists.js +1 -13
  103. package/dist/assignment/UserSubjectAssignment.js +6 -26
  104. package/dist/draft/DraftEncounter.js +4 -40
  105. package/dist/draft/DraftSubject.js +4 -46
  106. package/dist/error/IgnorableSyncError.js +1 -6
  107. package/dist/error/SyncError.js +1 -6
  108. package/dist/framework/ArrayHelper.js +3 -11
  109. package/dist/framework/DefinedObjectSchema.js +4 -12
  110. package/dist/framework/RealmCollectionHelper.js +1 -9
  111. package/dist/framework/RealmListProxy.js +1 -10
  112. package/dist/framework/RealmObjectSchema.js +1 -11
  113. package/dist/framework/RealmProxy.js +2 -31
  114. package/dist/framework/RealmResultsProxy.js +3 -37
  115. package/dist/framework/RealmResultsProxyHandler.js +2 -5
  116. package/dist/geo/Point.js +4 -17
  117. package/dist/index.js +2 -137
  118. package/dist/location/Locations.js +1 -6
  119. package/dist/observation/MultipleCodedValues.js +1 -21
  120. package/dist/observation/PrimitiveValue.js +1 -17
  121. package/dist/observation/QuestionGroup.js +1 -36
  122. package/dist/observation/RepeatableQuestionGroup.js +4 -27
  123. package/dist/observation/SingleCodedValue.js +1 -15
  124. package/dist/program/SubjectProgramEligibility.js +6 -56
  125. package/dist/relationship/IndividualRelation.js +6 -18
  126. package/dist/relationship/IndividualRelationGenderMapping.js +4 -22
  127. package/dist/relationship/IndividualRelationship.js +6 -51
  128. package/dist/relationship/IndividualRelationshipType.js +4 -24
  129. package/dist/relationship/IndividualRelative.js +4 -31
  130. package/dist/reports/DashboardFilter.js +4 -20
  131. package/dist/reports/DashboardFilterConfig.js +5 -85
  132. package/dist/reports/NestedReportCardResult.js +5 -35
  133. package/dist/reports/Range.js +4 -13
  134. package/dist/reports/ReportCardResult.js +5 -24
  135. package/dist/service/MetaDataService.js +1 -30
  136. package/dist/task/Task.js +6 -62
  137. package/dist/task/TaskStatus.js +4 -21
  138. package/dist/task/TaskType.js +4 -23
  139. package/dist/task/TaskUnAssignment.js +6 -30
  140. package/dist/utility/AgeUtil.js +1 -15
  141. package/dist/utility/ArrayUtil.js +1 -6
  142. package/dist/utility/AuditUtil.js +1 -8
  143. package/dist/utility/DateTimeUtil.js +1 -8
  144. package/dist/utility/General.js +4 -71
  145. package/dist/utility/JsonStringify.js +15 -28
  146. package/dist/utility/MergeUtil.js +1 -10
  147. package/dist/utility/ResourceUtil.js +1 -7
  148. package/dist/videos/Video.js +4 -23
  149. package/dist/videos/VideoTelemetric.js +6 -37
  150. package/package.json +6 -3
  151. package/scripts/validateSchemas.js +40 -0
  152. package/tsconfig.json +1 -1
  153. package/yarn.lock +0 -6744
@@ -4,140 +4,102 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _ObservationsHolder = _interopRequireDefault(require("../ObservationsHolder"));
9
-
10
8
  var _Individual = _interopRequireDefault(require("../Individual"));
11
-
12
9
  var _BaseEntity = _interopRequireDefault(require("../BaseEntity"));
13
-
14
10
  var _SubjectType = _interopRequireDefault(require("../SubjectType"));
15
-
16
11
  var _Gender = _interopRequireDefault(require("../Gender"));
17
-
18
12
  var _AddressLevel = _interopRequireDefault(require("../AddressLevel"));
19
-
20
13
  var _Observation = _interopRequireDefault(require("../Observation"));
21
-
22
14
  var _Point = _interopRequireDefault(require("../geo/Point"));
23
-
24
15
  var _SchemaNames = _interopRequireDefault(require("../SchemaNames"));
25
-
26
16
  var _lodash = _interopRequireDefault(require("lodash"));
27
-
28
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
29
-
30
- 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; }
31
-
17
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
18
+ 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; }
19
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
20
+ 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); }
32
21
  class DraftSubject extends _BaseEntity.default {
33
22
  constructor(that = null) {
34
23
  super(that);
35
24
  }
36
-
37
25
  get subjectType() {
38
26
  return this.toEntity("subjectType", _SubjectType.default);
39
27
  }
40
-
41
28
  set subjectType(x) {
42
29
  this.that.subjectType = this.fromObject(x);
43
30
  }
44
-
45
31
  get firstName() {
46
32
  return this.that.firstName;
47
33
  }
48
-
49
34
  set firstName(x) {
50
35
  this.that.firstName = x;
51
36
  }
52
-
53
37
  get lastName() {
54
38
  return this.that.lastName;
55
39
  }
56
-
57
40
  set lastName(x) {
58
41
  this.that.lastName = x;
59
42
  }
60
-
61
43
  get profilePicture() {
62
44
  return this.that.profilePicture;
63
45
  }
64
-
65
46
  set profilePicture(x) {
66
47
  this.that.profilePicture = x;
67
48
  }
68
-
69
49
  get dateOfBirth() {
70
50
  return this.that.dateOfBirth;
71
51
  }
72
-
73
52
  set dateOfBirth(x) {
74
53
  this.that.dateOfBirth = x;
75
54
  }
76
-
77
55
  get dateOfBirthVerified() {
78
56
  return this.that.dateOfBirthVerified;
79
57
  }
80
-
81
58
  set dateOfBirthVerified(x) {
82
59
  this.that.dateOfBirthVerified = x;
83
60
  }
84
-
85
61
  get gender() {
86
62
  return this.toEntity("gender", _Gender.default);
87
63
  }
88
-
89
64
  set gender(x) {
90
65
  this.that.gender = this.fromObject(x);
91
66
  }
92
-
93
67
  get registrationDate() {
94
68
  return this.that.registrationDate;
95
69
  }
96
-
97
70
  set registrationDate(x) {
98
71
  this.that.registrationDate = x;
99
72
  }
100
-
101
73
  get lowestAddressLevel() {
102
74
  return this.toEntity("lowestAddressLevel", _AddressLevel.default);
103
75
  }
104
-
105
76
  set lowestAddressLevel(x) {
106
77
  this.that.lowestAddressLevel = this.fromObject(x);
107
78
  }
108
-
109
79
  get observations() {
110
80
  return this.toEntityList("observations", _Observation.default);
111
81
  }
112
-
113
82
  set observations(x) {
114
83
  this.that.observations = this.fromEntityList(x);
115
84
  }
116
-
117
85
  get registrationLocation() {
118
86
  return this.toEntity("registrationLocation", _Point.default);
119
87
  }
120
-
121
88
  set registrationLocation(x) {
122
89
  this.that.registrationLocation = this.fromObject(x);
123
90
  }
124
-
125
91
  get updatedOn() {
126
92
  return this.that.updatedOn;
127
93
  }
128
-
129
94
  set updatedOn(x) {
130
95
  this.that.updatedOn = x;
131
96
  }
132
-
133
97
  get totalMembers() {
134
98
  return this.that.totalMembers;
135
99
  }
136
-
137
100
  set totalMembers(x) {
138
101
  this.that.totalMembers = x;
139
102
  }
140
-
141
103
  static create(subject, totalMembers) {
142
104
  const draftSubject = new DraftSubject();
143
105
  draftSubject.uuid = subject.uuid;
@@ -156,7 +118,6 @@ class DraftSubject extends _BaseEntity.default {
156
118
  draftSubject.updatedOn = new Date();
157
119
  return draftSubject;
158
120
  }
159
-
160
121
  constructIndividual() {
161
122
  const individual = new _Individual.default();
162
123
  individual.uuid = this.uuid;
@@ -179,9 +140,7 @@ class DraftSubject extends _BaseEntity.default {
179
140
  individual.approvalStatuses = [];
180
141
  return individual;
181
142
  }
182
-
183
143
  }
184
-
185
144
  _defineProperty(DraftSubject, "schema", {
186
145
  name: _SchemaNames.default.DraftSubject,
187
146
  primaryKey: "uuid",
@@ -234,6 +193,5 @@ _defineProperty(DraftSubject, "schema", {
234
193
  }
235
194
  }
236
195
  });
237
-
238
196
  var _default = DraftSubject;
239
197
  exports.default = _default;
@@ -4,17 +4,12 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _SyncError = _interopRequireDefault(require("./SyncError"));
9
-
10
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
-
8
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
9
  class IgnorableSyncError extends _SyncError.default {
13
10
  constructor(code, message, fileName, lineNumber) {
14
11
  super(code, message, fileName, lineNumber);
15
12
  }
16
-
17
13
  }
18
-
19
14
  var _default = IgnorableSyncError;
20
15
  exports.default = _default;
@@ -4,22 +4,19 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  //https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error
8
+
9
9
  function SyncError(code, message) {
10
10
  let instance = new Error(message);
11
11
  instance.errorCode = code;
12
12
  instance.errorText = message;
13
-
14
13
  if (Object.setPrototypeOf) {
15
14
  Object.setPrototypeOf(instance, Object.getPrototypeOf(this));
16
15
  } else {
17
16
  instance.__proto__ = Object.getPrototypeOf(this);
18
17
  }
19
-
20
18
  return instance;
21
19
  }
22
-
23
20
  SyncError.prototype = Object.create(Error.prototype, {
24
21
  constructor: {
25
22
  value: Error,
@@ -28,12 +25,10 @@ SyncError.prototype = Object.create(Error.prototype, {
28
25
  configurable: true
29
26
  }
30
27
  });
31
-
32
28
  if (Object.setPrototypeOf) {
33
29
  Object.setPrototypeOf(SyncError, Error);
34
30
  } else {
35
31
  SyncError.__proto__ = Error;
36
32
  }
37
-
38
33
  var _default = SyncError;
39
34
  exports.default = _default;
@@ -7,41 +7,33 @@ exports.default = void 0;
7
7
  const ah = {
8
8
  remove: function (array, predicate) {
9
9
  const result = [];
10
-
11
10
  if (!(array && array.length)) {
12
11
  return result;
13
12
  }
14
-
15
13
  let index = -1,
16
- indexes = [],
17
- length = array.length;
18
-
14
+ indexes = [],
15
+ length = array.length;
19
16
  while (++index < length) {
20
17
  const value = array[index];
21
-
22
18
  if (predicate(value, index, array)) {
23
19
  result.push(value);
24
20
  indexes.push(index);
25
21
  }
26
22
  }
27
-
28
23
  this.basePullAt(array, indexes);
29
24
  return result;
30
25
  },
31
26
  basePullAt: function (array, indexes) {
32
27
  let length = array ? indexes.length : 0,
33
- lastIndex = length - 1;
28
+ lastIndex = length - 1;
34
29
  let previous = null;
35
-
36
30
  while (length--) {
37
31
  const index = indexes[length];
38
-
39
32
  if (length === lastIndex || index !== previous) {
40
33
  previous = index;
41
34
  array.splice(index, 1);
42
35
  }
43
36
  }
44
-
45
37
  return array;
46
38
  }
47
39
  };
@@ -4,34 +4,26 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _lodash = _interopRequireDefault(require("lodash"));
9
-
10
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
-
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
-
8
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
+ 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; }
10
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
11
+ 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
12
  // https://www.mongodb.com/docs/realm/sdk/react-native/model-data/data-types/property-types/#std-label-react-native-supported-property-types
15
13
  const inBuiltPropertyTypes = ["bool", "int", "float", "double", "string", "decimal128", "objectId", "data", "date", "list", "linkingObjects", "dictionary", "set", "mixed", "uuid"];
16
-
17
14
  class DefinedObjectSchema {
18
15
  constructor() {
19
16
  _defineProperty(this, "properties", void 0);
20
17
  }
21
-
22
18
  static getNonOptionalObjectProperties(definedSchema) {
23
19
  return Object.keys(definedSchema.properties).filter(key => {
24
20
  const value = definedSchema.properties[key];
25
21
  const isSimpleDefinition = typeof value === 'string';
26
22
  const type = isSimpleDefinition ? value : value["type"];
27
-
28
23
  const contains = _lodash.default.some(inBuiltPropertyTypes, x => type.replace("?", "") === x);
29
-
30
24
  return !contains && (isSimpleDefinition ? true : !value["optional"]);
31
25
  });
32
26
  }
33
-
34
27
  }
35
-
36
28
  var _default = DefinedObjectSchema;
37
29
  exports.default = _default;
@@ -6,30 +6,22 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.getUnderlyingRealmCollection = getUnderlyingRealmCollection;
7
7
  exports.getUnderlyingRealmObject = getUnderlyingRealmObject;
8
8
  exports.isRealmObject = void 0;
9
-
10
9
  var _lodash = _interopRequireDefault(require("lodash"));
11
-
12
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
-
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
11
  const isRealmList = function (object) {
15
12
  return !_lodash.default.isNil(object) && !_lodash.default.isNil(object.realmList);
16
13
  };
17
-
18
14
  const isRealmResults = function (object) {
19
15
  return !_lodash.default.isNil(object) && !_lodash.default.isNil(object.realmCollection);
20
16
  };
21
-
22
17
  const isRealmObject = function (object) {
23
18
  return !_lodash.default.isNil(object) && !_lodash.default.isNil(object.that);
24
19
  };
25
-
26
20
  exports.isRealmObject = isRealmObject;
27
-
28
21
  function getUnderlyingRealmCollection(object) {
29
22
  if (isRealmResults(object)) return object.realmCollection;else if (isRealmList(object)) return object.realmList;
30
23
  return null;
31
24
  }
32
-
33
25
  function getUnderlyingRealmObject(object) {
34
26
  return isRealmObject(object) ? object.that : getUnderlyingRealmCollection(object);
35
27
  }
@@ -4,48 +4,39 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  // Extends only methods that mutate the array, others methods needn't be extended as the behavior can be
9
8
  class RealmListProxy extends Array {
10
9
  constructor(realmList) {
11
10
  super();
12
11
  this.realmList = realmList;
13
12
  }
13
+
14
14
  /*
15
15
  Not to be used by external callers. Cannot be done in the constructor as somehow array doesn't take this via super()
16
16
  */
17
-
18
-
19
17
  pushAll(listItemClass) {
20
18
  this.realmList.forEach(x => super.push(new listItemClass(x)));
21
19
  }
22
-
23
20
  pop() {
24
21
  this.realmList.pop();
25
22
  return super.pop();
26
23
  }
27
-
28
24
  push(...values) {
29
25
  super.push(...values);
30
26
  values.forEach(x => this.realmList.push(x.that));
31
27
  }
32
-
33
28
  shift() {
34
29
  this.realmList.shift();
35
30
  return super.shift();
36
31
  }
37
-
38
32
  splice(index, count, ...values) {
39
33
  this.realmList.splice(index, count, ...values);
40
34
  return super.splice(index, count, ...values);
41
35
  }
42
-
43
36
  unshift(...values) {
44
37
  super.unshift(...values);
45
38
  return this.realmList.unshift(...values);
46
39
  }
47
-
48
40
  }
49
-
50
41
  var _default = RealmListProxy;
51
42
  exports.default = _default;
@@ -4,36 +4,26 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _lodash = _interopRequireDefault(require("lodash"));
9
-
10
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
-
8
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
9
  const listPropertyTypeName = "list";
13
10
  const objectPropertyTypeName = "object";
14
-
15
11
  class RealmObjectSchema {
16
12
  constructor(schema) {
17
13
  this.schema = schema;
18
14
  }
19
-
20
15
  getPrimitiveProperties() {
21
16
  return _lodash.default.keys(_lodash.default.pickBy(this.schema.properties, x => x.type !== listPropertyTypeName && x.type !== objectPropertyTypeName));
22
17
  }
23
-
24
18
  getListProperties() {
25
19
  return _lodash.default.keys(_lodash.default.pickBy(this.schema.properties, x => x.type === listPropertyTypeName));
26
20
  }
27
-
28
21
  getObjectProperties() {
29
22
  return _lodash.default.keys(_lodash.default.pickBy(this.schema.properties, x => x.type === objectPropertyTypeName));
30
23
  }
31
-
32
24
  getAllProperties() {
33
25
  return _lodash.default.keys(this.schema.properties);
34
26
  }
35
-
36
27
  }
37
-
38
28
  var _default = RealmObjectSchema;
39
29
  exports.default = _default;
@@ -4,57 +4,43 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _RealmResultsProxy = _interopRequireDefault(require("./RealmResultsProxy"));
9
-
10
8
  var _lodash = _interopRequireDefault(require("lodash"));
11
-
12
9
  var _RealmCollectionHelper = require("./RealmCollectionHelper");
13
-
14
10
  var _General = _interopRequireDefault(require("../utility/General"));
15
-
16
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
-
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
18
12
  const isVanillaArray = function (object) {
19
13
  return !_lodash.default.isNil(object) && "RealmListProxy" !== object.constructor.name && _lodash.default.isArrayLikeObject(object);
20
14
  };
21
-
22
15
  class RealmProxy {
23
16
  constructor(realmDb, entityMappingConfig) {
24
17
  this.realmDb = realmDb;
25
18
  this.entityMappingConfig = entityMappingConfig;
26
19
  }
27
-
28
20
  setLogQueries(value) {
29
21
  this.logQueries = value;
30
22
  }
31
-
32
23
  objects(type) {
33
24
  const realmResultsProxy = _RealmResultsProxy.default.create(this.realmDb.objects(type), this.entityMappingConfig.getEntityClass(type));
34
-
35
25
  realmResultsProxy.setLogQueries(this.logQueries);
36
26
  return realmResultsProxy;
37
27
  }
38
-
39
28
  get isInTransaction() {
40
29
  return this.realmDb.isInTransaction;
41
30
  }
42
-
43
31
  get path() {
44
32
  return this.realmDb.path;
45
33
  }
46
-
47
34
  get schema() {
48
35
  return this.realmDb.schema;
49
36
  }
50
-
51
37
  get schemaVersion() {
52
38
  return this.realmDb.schemaVersion;
53
39
  }
54
-
55
40
  close() {
56
41
  return this.realmDb.close();
57
42
  }
43
+
58
44
  /**
59
45
  *
60
46
  * @param schemaName
@@ -62,66 +48,51 @@ class RealmProxy {
62
48
  * @param updateMode , all === true, modified , never === false
63
49
  * @returns {*}
64
50
  */
65
-
66
-
67
51
  create(schemaName, properties, updateMode = "never") {
68
52
  const underlyingObject = _lodash.default.isNil(properties.that) ? properties : properties.that;
69
53
  const entityClass = this.entityMappingConfig.getEntityClass(schemaName);
70
54
  const mandatoryObjectSchemaProperties = this.entityMappingConfig.getMandatoryObjectSchemaProperties(schemaName);
71
55
  const emptyMandatoryProperties = [];
72
56
  const saveObjectKeys = Object.keys(underlyingObject);
73
-
74
57
  if (updateMode === "never" || updateMode === false || _lodash.default.intersection(mandatoryObjectSchemaProperties, saveObjectKeys).length > 0) {
75
58
  saveObjectKeys.forEach(x => {
76
59
  const propertyValue = underlyingObject[x];
77
60
  if (_lodash.default.isNil(propertyValue) && _lodash.default.some(mandatoryObjectSchemaProperties, y => y === x)) emptyMandatoryProperties.push(x);
78
61
  });
79
-
80
62
  if (emptyMandatoryProperties.length > 0) {
81
63
  throw new Error(`${emptyMandatoryProperties.join(",")} are mandatory for ${schemaName}, Keys being saved - ${saveObjectKeys}. UUID: ${underlyingObject.uuid}`);
82
64
  }
83
65
  }
84
-
85
66
  const dbEntity = this.realmDb.create(schemaName, underlyingObject, updateMode);
86
67
  return new entityClass(dbEntity);
87
68
  }
88
-
89
69
  delete(object) {
90
70
  try {
91
71
  let deleteObj = (0, _RealmCollectionHelper.getUnderlyingRealmObject)(object);
92
-
93
72
  if (_lodash.default.isNil(deleteObj) && isVanillaArray(object)) {
94
73
  deleteObj = object.map(o => (0, _RealmCollectionHelper.isRealmObject)(o) ? o.that : o);
95
74
  } else if (_lodash.default.isNil(deleteObj)) {
96
75
  deleteObj = object;
97
76
  }
98
-
99
77
  return this.realmDb.delete(deleteObj);
100
78
  } catch (e) {
101
79
  _General.default.logError("RealmProxy", `Could not delete object: ${JSON.stringify(object)}`);
102
-
103
80
  throw e;
104
81
  }
105
82
  }
106
-
107
83
  objectForPrimaryKey(type, key) {
108
84
  const entityClass = this.entityMappingConfig.getEntityClass(type);
109
85
  return new entityClass(this.realmDb.objectForPrimaryKey(type, key));
110
86
  }
111
-
112
87
  write(callback) {
113
88
  return this.realmDb.write(callback);
114
89
  }
115
-
116
90
  writeCopyTo(config) {
117
91
  if (_lodash.default.isNil(config.encryptionKey)) {
118
92
  delete config.encryptionKey;
119
93
  }
120
-
121
94
  return this.realmDb.writeCopyTo(config);
122
95
  }
123
-
124
96
  }
125
-
126
97
  var _default = RealmProxy;
127
98
  exports.default = _default;