@stamhoofd/structures 2.78.4 → 2.79.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.
Files changed (125) hide show
  1. package/dist/src/Event.d.ts +1 -0
  2. package/dist/src/Event.d.ts.map +1 -1
  3. package/dist/src/Event.js +8 -0
  4. package/dist/src/Event.js.map +1 -1
  5. package/dist/src/EventNotificationType.d.ts +1 -0
  6. package/dist/src/EventNotificationType.d.ts.map +1 -1
  7. package/dist/src/EventNotificationType.js +4 -0
  8. package/dist/src/EventNotificationType.js.map +1 -1
  9. package/dist/src/Group.d.ts +2 -0
  10. package/dist/src/Group.d.ts.map +1 -1
  11. package/dist/src/Group.js +2 -0
  12. package/dist/src/Group.js.map +1 -1
  13. package/dist/src/LoadedPermissions.d.ts +2 -1
  14. package/dist/src/LoadedPermissions.d.ts.map +1 -1
  15. package/dist/src/LoadedPermissions.js +16 -1
  16. package/dist/src/LoadedPermissions.js.map +1 -1
  17. package/dist/src/OrganizationMetaData.d.ts.map +1 -1
  18. package/dist/src/OrganizationMetaData.js +13 -3
  19. package/dist/src/OrganizationMetaData.js.map +1 -1
  20. package/dist/src/PermissionRole.d.ts +1 -1
  21. package/dist/src/PermissionRole.d.ts.map +1 -1
  22. package/dist/src/PermissionRole.js +1 -1
  23. package/dist/src/PermissionRole.js.map +1 -1
  24. package/dist/src/Platform.d.ts +3 -1
  25. package/dist/src/Platform.d.ts.map +1 -1
  26. package/dist/src/Platform.js +27 -5
  27. package/dist/src/Platform.js.map +1 -1
  28. package/dist/src/RegistrationPeriod.d.ts.map +1 -1
  29. package/dist/src/RegistrationPeriod.js +2 -1
  30. package/dist/src/RegistrationPeriod.js.map +1 -1
  31. package/dist/src/Version.d.ts +1 -1
  32. package/dist/src/Version.js +1 -1
  33. package/dist/src/email/EditorSmartVariable.d.ts.map +1 -1
  34. package/dist/src/email/EditorSmartVariable.js +5 -1
  35. package/dist/src/email/EditorSmartVariable.js.map +1 -1
  36. package/dist/src/email/Email.js +1 -1
  37. package/dist/src/email/Email.js.map +1 -1
  38. package/dist/src/email/exampleReplacements.d.ts +1 -0
  39. package/dist/src/email/exampleReplacements.d.ts.map +1 -1
  40. package/dist/src/email/exampleReplacements.js +5 -0
  41. package/dist/src/email/exampleReplacements.js.map +1 -1
  42. package/dist/src/members/EmergencyContact.d.ts +6 -0
  43. package/dist/src/members/EmergencyContact.d.ts.map +1 -1
  44. package/dist/src/members/EmergencyContact.js +22 -0
  45. package/dist/src/members/EmergencyContact.js.map +1 -1
  46. package/dist/src/members/MemberDetails.d.ts +3 -19
  47. package/dist/src/members/MemberDetails.d.ts.map +1 -1
  48. package/dist/src/members/MemberDetails.js +96 -71
  49. package/dist/src/members/MemberDetails.js.map +1 -1
  50. package/dist/src/members/MemberDetails.test.js +230 -1
  51. package/dist/src/members/MemberDetails.test.js.map +1 -1
  52. package/dist/src/members/Parent.d.ts +9 -0
  53. package/dist/src/members/Parent.d.ts.map +1 -1
  54. package/dist/src/members/Parent.js +32 -3
  55. package/dist/src/members/Parent.js.map +1 -1
  56. package/dist/src/members/PlatformMember.d.ts +7 -2
  57. package/dist/src/members/PlatformMember.d.ts.map +1 -1
  58. package/dist/src/members/PlatformMember.js +24 -13
  59. package/dist/src/members/PlatformMember.js.map +1 -1
  60. package/dist/tests/jest.setup.d.ts +1 -1
  61. package/dist/tests/jest.setup.d.ts.map +1 -1
  62. package/dist/tests/jest.setup.js +4 -0
  63. package/dist/tests/jest.setup.js.map +1 -1
  64. package/esm/dist/src/Event.d.ts +1 -0
  65. package/esm/dist/src/Event.d.ts.map +1 -1
  66. package/esm/dist/src/Event.js +8 -0
  67. package/esm/dist/src/Event.js.map +1 -1
  68. package/esm/dist/src/EventNotificationType.d.ts +1 -0
  69. package/esm/dist/src/EventNotificationType.d.ts.map +1 -1
  70. package/esm/dist/src/EventNotificationType.js +4 -0
  71. package/esm/dist/src/EventNotificationType.js.map +1 -1
  72. package/esm/dist/src/Group.d.ts +2 -0
  73. package/esm/dist/src/Group.d.ts.map +1 -1
  74. package/esm/dist/src/Group.js +2 -0
  75. package/esm/dist/src/Group.js.map +1 -1
  76. package/esm/dist/src/LoadedPermissions.d.ts +2 -1
  77. package/esm/dist/src/LoadedPermissions.d.ts.map +1 -1
  78. package/esm/dist/src/LoadedPermissions.js +16 -1
  79. package/esm/dist/src/LoadedPermissions.js.map +1 -1
  80. package/esm/dist/src/OrganizationMetaData.d.ts.map +1 -1
  81. package/esm/dist/src/OrganizationMetaData.js +13 -3
  82. package/esm/dist/src/OrganizationMetaData.js.map +1 -1
  83. package/esm/dist/src/PermissionRole.d.ts +1 -1
  84. package/esm/dist/src/PermissionRole.d.ts.map +1 -1
  85. package/esm/dist/src/PermissionRole.js +1 -1
  86. package/esm/dist/src/PermissionRole.js.map +1 -1
  87. package/esm/dist/src/Platform.d.ts +3 -1
  88. package/esm/dist/src/Platform.d.ts.map +1 -1
  89. package/esm/dist/src/Platform.js +27 -5
  90. package/esm/dist/src/Platform.js.map +1 -1
  91. package/esm/dist/src/RegistrationPeriod.d.ts.map +1 -1
  92. package/esm/dist/src/RegistrationPeriod.js +2 -1
  93. package/esm/dist/src/RegistrationPeriod.js.map +1 -1
  94. package/esm/dist/src/Version.d.ts +1 -1
  95. package/esm/dist/src/Version.js +1 -1
  96. package/esm/dist/src/email/EditorSmartVariable.d.ts.map +1 -1
  97. package/esm/dist/src/email/EditorSmartVariable.js +5 -1
  98. package/esm/dist/src/email/EditorSmartVariable.js.map +1 -1
  99. package/esm/dist/src/email/Email.js +1 -1
  100. package/esm/dist/src/email/Email.js.map +1 -1
  101. package/esm/dist/src/email/exampleReplacements.d.ts +1 -0
  102. package/esm/dist/src/email/exampleReplacements.d.ts.map +1 -1
  103. package/esm/dist/src/email/exampleReplacements.js +5 -0
  104. package/esm/dist/src/email/exampleReplacements.js.map +1 -1
  105. package/esm/dist/src/members/EmergencyContact.d.ts +6 -0
  106. package/esm/dist/src/members/EmergencyContact.d.ts.map +1 -1
  107. package/esm/dist/src/members/EmergencyContact.js +23 -1
  108. package/esm/dist/src/members/EmergencyContact.js.map +1 -1
  109. package/esm/dist/src/members/MemberDetails.d.ts +3 -19
  110. package/esm/dist/src/members/MemberDetails.d.ts.map +1 -1
  111. package/esm/dist/src/members/MemberDetails.js +97 -72
  112. package/esm/dist/src/members/MemberDetails.js.map +1 -1
  113. package/esm/dist/src/members/Parent.d.ts +9 -0
  114. package/esm/dist/src/members/Parent.d.ts.map +1 -1
  115. package/esm/dist/src/members/Parent.js +33 -4
  116. package/esm/dist/src/members/Parent.js.map +1 -1
  117. package/esm/dist/src/members/PlatformMember.d.ts +7 -2
  118. package/esm/dist/src/members/PlatformMember.d.ts.map +1 -1
  119. package/esm/dist/src/members/PlatformMember.js +24 -13
  120. package/esm/dist/src/members/PlatformMember.js.map +1 -1
  121. package/esm/dist/tests/jest.setup.d.ts +1 -1
  122. package/esm/dist/tests/jest.setup.d.ts.map +1 -1
  123. package/esm/dist/tests/jest.setup.js +2 -0
  124. package/esm/dist/tests/jest.setup.js.map +1 -1
  125. package/package.json +2 -2
@@ -66,9 +66,6 @@ class MemberDetails extends simple_encoding_1.AutoEncoder {
66
66
  this.phone = null;
67
67
  this.email = null;
68
68
  this.alternativeEmails = [];
69
- /**
70
- * These emails will get access to the member if parentsHaveAccess is true
71
- */
72
69
  this.unverifiedEmails = [];
73
70
  this.unverifiedPhones = [];
74
71
  this.unverifiedAddresses = [];
@@ -388,15 +385,18 @@ class MemberDetails extends simple_encoding_1.AutoEncoder {
388
385
  }
389
386
  }
390
387
  updateAddressPatch(oldValue, newValue) {
388
+ if (newValue.toString() === oldValue.toString()) {
389
+ return null;
390
+ }
391
391
  const str = oldValue.toString();
392
392
  let patch = MemberDetails.patch({});
393
393
  let changed = false;
394
- if (this.address && this.address.toString() == str) {
394
+ if (this.address && this.address.toString() === str) {
395
395
  patch = patch.patch({ address: newValue });
396
396
  changed = true;
397
397
  }
398
398
  for (const parent of this.parents) {
399
- if (parent.address && parent.address.toString() == str) {
399
+ if (parent.address && parent.address.toString() === str) {
400
400
  // parent.address = newValue
401
401
  const arr = new simple_encoding_1.PatchableArray();
402
402
  arr.addPatch(Parent_js_1.Parent.patch({ id: parent.id, address: newValue }));
@@ -409,60 +409,6 @@ class MemberDetails extends simple_encoding_1.AutoEncoder {
409
409
  }
410
410
  return null;
411
411
  }
412
- /**
413
- * This will SET the parent
414
- */
415
- updateParent(parent) {
416
- for (const [index, _parent] of this.parents.entries()) {
417
- if (_parent.id == parent.id || _parent.isEqual(parent)) {
418
- this.parents[index] = parent;
419
- }
420
- }
421
- }
422
- /**
423
- * This will SET the parent
424
- */
425
- updateParentPatch(parent) {
426
- let patch = MemberDetails.patch({});
427
- let changed = false;
428
- for (const [index, _parent] of this.parents.entries()) {
429
- if (_parent.id == parent.id || _parent.isEqual(parent)) {
430
- const arr = new simple_encoding_1.PatchableArray();
431
- // Assure we auto correct possible duplicates
432
- arr.addDelete(_parent.id);
433
- arr.addDelete(_parent.id);
434
- arr.addPut(parent);
435
- patch = patch.patch({ parents: arr });
436
- changed = true;
437
- }
438
- }
439
- if (changed) {
440
- return patch;
441
- }
442
- return null;
443
- }
444
- /**
445
- * This will SET the parent
446
- */
447
- updateEmergencyContactPatch(emergencyContact) {
448
- let patch = MemberDetails.patch({});
449
- let changed = false;
450
- for (const [index, _emergencyContact] of this.emergencyContacts.entries()) {
451
- if (_emergencyContact.id == emergencyContact.id || _emergencyContact.isEqual(emergencyContact)) {
452
- const arr = new simple_encoding_1.PatchableArray();
453
- // Assure we auto correct possible duplicates
454
- arr.addDelete(_emergencyContact.id);
455
- arr.addDelete(_emergencyContact.id);
456
- arr.addPut(emergencyContact);
457
- patch = patch.patch({ emergencyContacts: arr });
458
- changed = true;
459
- }
460
- }
461
- if (changed) {
462
- return patch;
463
- }
464
- return null;
465
- }
466
412
  /**
467
413
  * This will add or update the parent (possibily partially if not all data is present)
468
414
  */
@@ -515,12 +461,6 @@ class MemberDetails extends simple_encoding_1.AutoEncoder {
515
461
  getShortCode(maxLength) {
516
462
  return utility_1.Formatter.firstLetters(this.firstName, maxLength);
517
463
  }
518
- get canHaveOwnAccount() {
519
- return (this.age === null || (this.age >= 12));
520
- }
521
- get parentsHaveAccess() {
522
- return (this.age && (this.age < 18));
523
- }
524
464
  /**
525
465
  * Apply newer details without deleting data or replacing filled in data with empty data
526
466
  */
@@ -620,7 +560,7 @@ class MemberDetails extends simple_encoding_1.AutoEncoder {
620
560
  return userEmails;
621
561
  }
622
562
  getParentEmails() {
623
- return this.parents.flatMap(p => p.email ? [p.email, ...p.alternativeEmails] : p.alternativeEmails);
563
+ return this.parents.flatMap(p => p.getEmails());
624
564
  }
625
565
  hasEmail(email) {
626
566
  const cleanedEmail = email.toLowerCase().trim();
@@ -643,12 +583,97 @@ class MemberDetails extends simple_encoding_1.AutoEncoder {
643
583
  }
644
584
  return addresses;
645
585
  }
646
- hasAllCountry(country) {
647
- const aa = this.getAllAddresses();
648
- if (aa.length === 0) {
649
- return false;
586
+ static mergeParents(members, allowOverrides = true) {
587
+ return MemberDetails.mergeRelations(members, 'parents', allowOverrides);
588
+ }
589
+ static mergeEmergencyContacts(members, allowOverrides = true) {
590
+ return MemberDetails.mergeRelations(members, 'emergencyContacts', allowOverrides);
591
+ }
592
+ static mergeRelations(members, type, allowOverrides = true) {
593
+ var _a, _b, _c;
594
+ const allGroups = [];
595
+ const parentsGroupByName = new Map();
596
+ const parentsGroupById = new Map();
597
+ const mergeIdMap = new Map();
598
+ for (const member of members) {
599
+ for (const [index, object] of member[type].entries()) {
600
+ if (object.name.length <= 3) {
601
+ continue;
602
+ }
603
+ // First find group by ID, then name
604
+ let group = (_a = parentsGroupById.get(object.id)) !== null && _a !== void 0 ? _a : parentsGroupByName.get(object.name);
605
+ if (!group) {
606
+ group = [];
607
+ allGroups.push(group);
608
+ }
609
+ // Save name and id groups
610
+ if (!parentsGroupByName.has(object.name)) {
611
+ parentsGroupByName.set(object.name, group);
612
+ }
613
+ if (!parentsGroupById.has(object.id)) {
614
+ parentsGroupById.set(object.id, group);
615
+ }
616
+ group.push({
617
+ object: object,
618
+ setObject(object) {
619
+ member[type][index] = object;
620
+ },
621
+ reviewDate: (_c = (_b = object.updatedAt) !== null && _b !== void 0 ? _b : member.reviewTimes.getLastReview(type)) !== null && _c !== void 0 ? _c : object.createdAt,
622
+ createdAt: object.createdAt,
623
+ });
624
+ }
625
+ }
626
+ // Sort each parent by review date and merge
627
+ for (const parents of allGroups) {
628
+ if (parents.length >= 2) {
629
+ // Fetch parent with oldest createdAt
630
+ // This is so we can keep the oldest createdAt and oldest id
631
+ parents.sort((a, b) => utility_1.Sorter.byDateValue(b.createdAt, a.createdAt));
632
+ const oldestParent = parents[0].object;
633
+ // Sort from oldest reviewed to latest reviewed
634
+ parents.sort((a, b) => { var _a, _b; return utility_1.Sorter.byDateValue((_a = b.reviewDate) !== null && _a !== void 0 ? _a : new Date(0), (_b = a.reviewDate) !== null && _b !== void 0 ? _b : new Date(0)); });
635
+ // Parents with the same id override each other, while parents with different ids merge while maintaining as much data as possible
636
+ // this happens in groups
637
+ let mergeTo = parents[0].object.clone();
638
+ const remaining = parents.slice(1);
639
+ let allowSet = true; // Only the first 'streak' of parents with the same id override mergeTo
640
+ for (const [index, { object }] of remaining.entries()) {
641
+ if (allowSet && object.id === mergeTo.id && allowOverrides) {
642
+ mergeTo = object.clone();
643
+ continue;
644
+ }
645
+ else {
646
+ allowSet = false;
647
+ }
648
+ if (allowOverrides) {
649
+ if (index < remaining.length - 1) {
650
+ const nextParent = remaining[index + 1].object;
651
+ // If the next parent has the same id, we'll simply ignore this parent because it is out of date.
652
+ // This is different from setting mergeTo because we'll still merge with the previous parents that had a different id
653
+ if (object.id === nextParent.id) {
654
+ continue;
655
+ }
656
+ }
657
+ }
658
+ // TypeScript does not understand the complexity here, so'll need to help it understand mergeTo is always the same type as object
659
+ mergeTo.merge(object);
660
+ }
661
+ // Force set id + createdAt
662
+ mergeTo.id = oldestParent.id;
663
+ mergeTo.createdAt = oldestParent.createdAt;
664
+ for (const { object, setObject } of parents) {
665
+ if (object.id !== mergeTo.id) {
666
+ mergeIdMap.set(object.id, mergeTo.id);
667
+ }
668
+ setObject(mergeTo);
669
+ }
670
+ // Remove duplicate parents by id for each member
671
+ for (const member of members) {
672
+ member[type] = member[type].filter((p, i, self) => self.findIndex(p2 => p2.id === p.id) === i);
673
+ }
674
+ }
650
675
  }
651
- return aa.every(a => a.country === country);
676
+ return mergeIdMap;
652
677
  }
653
678
  }
654
679
  exports.MemberDetails = MemberDetails;
@@ -1 +1 @@
1
- {"version":3,"file":"MemberDetails.js","sourceRoot":"","sources":["../../../src/members/MemberDetails.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MemberDetails.js","sourceRoot":"","sources":["../../../src/members/MemberDetails.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ require("jest-extended");
4
4
  const MemberDetails_js_1 = require("./MemberDetails.js");
5
5
  const Parent_js_1 = require("./Parent.js");
6
6
  describe('Correctly merge multiple details together', () => {
7
- test('Merge parents', () => {
7
+ test('Merge', () => {
8
8
  const parent = Parent_js_1.Parent.create({
9
9
  firstName: 'Gekke',
10
10
  lastName: 'Test',
@@ -43,5 +43,234 @@ describe('Correctly merge multiple details together', () => {
43
43
  original.merge(incoming);
44
44
  expect(original.parents.map(r => r.firstName)).toEqual(['Linda', 'Gewijzigd', 'Andere']);
45
45
  });
46
+ describe('mergeParents', () => {
47
+ test('Parents with the same name', () => {
48
+ const parent1 = Parent_js_1.Parent.create({
49
+ firstName: 'Gekke',
50
+ lastName: 'Test',
51
+ updatedAt: new Date(1000),
52
+ email: 'parent1@gmail.com',
53
+ createdAt: new Date(500),
54
+ });
55
+ const parent2 = Parent_js_1.Parent.create({
56
+ firstName: 'Gekke',
57
+ lastName: 'Test',
58
+ updatedAt: new Date(2000),
59
+ email: 'parent2@gmail.com',
60
+ createdAt: new Date(1500),
61
+ });
62
+ const parent3 = Parent_js_1.Parent.create({
63
+ firstName: 'Gekke',
64
+ lastName: 'Test',
65
+ updatedAt: new Date(500),
66
+ email: 'parent3@gmail.com',
67
+ createdAt: new Date(0),
68
+ });
69
+ // The user didn't gave permissons for data collection
70
+ const incoming = MemberDetails_js_1.MemberDetails.create({
71
+ firstName: 'Robot',
72
+ parents: [
73
+ parent1,
74
+ parent2,
75
+ parent3,
76
+ ],
77
+ });
78
+ MemberDetails_js_1.MemberDetails.mergeParents([incoming]);
79
+ expect(incoming.parents).toEqual([
80
+ Parent_js_1.Parent.create({
81
+ ...parent2,
82
+ createdAt: new Date(0),
83
+ id: parent3.id,
84
+ alternativeEmails: [
85
+ parent1.email,
86
+ parent3.email,
87
+ ],
88
+ }),
89
+ ]);
90
+ });
91
+ test('The olderst id and createdAt are always maintained', () => {
92
+ const parent1 = Parent_js_1.Parent.create({
93
+ firstName: 'Gekke',
94
+ lastName: 'Test',
95
+ updatedAt: new Date(1000),
96
+ email: 'parent1@gmail.com',
97
+ createdAt: new Date(500),
98
+ });
99
+ const parent2 = Parent_js_1.Parent.create({
100
+ firstName: 'Gekke',
101
+ lastName: 'Test',
102
+ updatedAt: new Date(2000),
103
+ email: 'parent2@gmail.com',
104
+ createdAt: new Date(0), // we'll thse this one + id
105
+ });
106
+ const parent3 = Parent_js_1.Parent.create({
107
+ firstName: 'Gekke',
108
+ lastName: 'Test',
109
+ updatedAt: new Date(500),
110
+ email: 'parent3@gmail.com',
111
+ createdAt: new Date(200),
112
+ });
113
+ // The user didn't gave permissons for data collection
114
+ const incoming = MemberDetails_js_1.MemberDetails.create({
115
+ firstName: 'Robot',
116
+ parents: [
117
+ parent1,
118
+ parent2,
119
+ parent3,
120
+ ],
121
+ });
122
+ MemberDetails_js_1.MemberDetails.mergeParents([incoming]);
123
+ expect(incoming.parents).toEqual([
124
+ Parent_js_1.Parent.create({
125
+ ...parent2,
126
+ alternativeEmails: [
127
+ parent1.email,
128
+ parent3.email,
129
+ ],
130
+ }),
131
+ ]);
132
+ });
133
+ test('Parents with the same id override each other', () => {
134
+ const parent1 = Parent_js_1.Parent.create({
135
+ firstName: 'Gekke',
136
+ lastName: 'Test',
137
+ updatedAt: new Date(1000),
138
+ email: 'parent1@gmail.com',
139
+ createdAt: new Date(500),
140
+ });
141
+ const parent2 = Parent_js_1.Parent.create({
142
+ id: parent1.id,
143
+ firstName: 'Gekke',
144
+ lastName: 'Test',
145
+ updatedAt: new Date(2000),
146
+ email: 'parent2@gmail.com',
147
+ createdAt: new Date(1500),
148
+ });
149
+ const parent3 = Parent_js_1.Parent.create({
150
+ id: parent1.id,
151
+ firstName: 'Gekke',
152
+ lastName: 'Test',
153
+ updatedAt: new Date(500),
154
+ email: 'parent3@gmail.com',
155
+ createdAt: new Date(0),
156
+ });
157
+ // The user didn't gave permissons for data collection
158
+ const incoming = MemberDetails_js_1.MemberDetails.create({
159
+ firstName: 'Robot',
160
+ parents: [
161
+ parent1,
162
+ parent2,
163
+ parent3,
164
+ ],
165
+ });
166
+ MemberDetails_js_1.MemberDetails.mergeParents([incoming]);
167
+ expect(incoming.parents).toEqual([
168
+ Parent_js_1.Parent.create({
169
+ ...parent2,
170
+ createdAt: new Date(0), // Oldest created at is still used
171
+ }),
172
+ ]);
173
+ });
174
+ test('Merging happens across id and names', () => {
175
+ // History:
176
+ // 1_000: Parent created with name 'Gekke Test'
177
+ // 2_000: Parent added an email address with the same id
178
+ // 3_000: Some member created the same parent with name 'Gekke Test' but a different ID
179
+ // 4_000: The name of that second parent was changed to 'Gekke2 Test2'
180
+ // 5_000: The email address of the second parent was changed to 'gekke2@example.com'
181
+ // We have 5 members, each with a copy of the parent at that time - if we merge them, we should get the changes in order merged.
182
+ const parent1 = Parent_js_1.Parent.create({
183
+ firstName: 'Gekke',
184
+ lastName: 'Test',
185
+ email: 'oldest@example.com', // This is ignored because it is overwritten by a parent with the same id
186
+ createdAt: new Date(1000),
187
+ updatedAt: new Date(1000),
188
+ });
189
+ const parent2 = Parent_js_1.Parent.create({
190
+ id: parent1.id,
191
+ firstName: 'Gekke',
192
+ lastName: 'Test',
193
+ email: 'gekke@example.com',
194
+ createdAt: new Date(1000),
195
+ updatedAt: new Date(2000),
196
+ });
197
+ const parent3 = Parent_js_1.Parent.create({
198
+ firstName: 'Gekke',
199
+ lastName: 'Test',
200
+ email: 'gekke@example.com',
201
+ createdAt: new Date(3000),
202
+ updatedAt: new Date(3000),
203
+ });
204
+ const parent4 = Parent_js_1.Parent.create({
205
+ id: parent3.id,
206
+ firstName: 'Gekke2',
207
+ lastName: 'Test',
208
+ email: 'gekke@example.com',
209
+ // Because the id has changed here, we'll merge the parents with a different id
210
+ createdAt: new Date(3000),
211
+ updatedAt: new Date(4000),
212
+ });
213
+ const parent5 = Parent_js_1.Parent.create({
214
+ id: parent3.id,
215
+ firstName: 'Gekke2',
216
+ lastName: 'Test',
217
+ email: 'gekke2@example.com',
218
+ createdAt: new Date(3000),
219
+ updatedAt: new Date(5000),
220
+ });
221
+ const member1 = MemberDetails_js_1.MemberDetails.create({
222
+ firstName: 'Member 1',
223
+ parents: [
224
+ parent1,
225
+ ],
226
+ });
227
+ const member2 = MemberDetails_js_1.MemberDetails.create({
228
+ firstName: 'Member 2',
229
+ parents: [
230
+ parent2,
231
+ ],
232
+ });
233
+ const member3 = MemberDetails_js_1.MemberDetails.create({
234
+ firstName: 'Member 3',
235
+ parents: [
236
+ parent3,
237
+ ],
238
+ });
239
+ const member4 = MemberDetails_js_1.MemberDetails.create({
240
+ firstName: 'Member 4',
241
+ parents: [
242
+ parent4,
243
+ ],
244
+ });
245
+ const member5 = MemberDetails_js_1.MemberDetails.create({
246
+ firstName: 'Member 5',
247
+ parents: [
248
+ parent5,
249
+ ],
250
+ });
251
+ MemberDetails_js_1.MemberDetails.mergeParents([member1, member2, member3, member4, member5]);
252
+ const expectedParent = Parent_js_1.Parent.create({
253
+ id: parent1.id, // Id is maintained when parents are merged with same name
254
+ firstName: 'Gekke2',
255
+ lastName: 'Test',
256
+ email: 'gekke2@example.com',
257
+ alternativeEmails: [
258
+ 'gekke@example.com', // this is kept because there was an id change
259
+ ],
260
+ createdAt: new Date(1000), // First created at
261
+ updatedAt: new Date(5000), // Last change
262
+ });
263
+ expect(member1.parents).toEqual([expectedParent]);
264
+ expect(member2.parents).toEqual([expectedParent]);
265
+ expect(member3.parents).toEqual([expectedParent]);
266
+ expect(member4.parents).toEqual([expectedParent]);
267
+ expect(member5.parents).toEqual([expectedParent]);
268
+ // The parent object should reference the same object for each member
269
+ expect(member1.parents[0]).toBe(member2.parents[0]);
270
+ expect(member1.parents[0]).toBe(member3.parents[0]);
271
+ expect(member1.parents[0]).toBe(member4.parents[0]);
272
+ expect(member1.parents[0]).toBe(member5.parents[0]);
273
+ });
274
+ });
46
275
  });
47
276
  //# sourceMappingURL=MemberDetails.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MemberDetails.test.js","sourceRoot":"","sources":["../../../src/members/MemberDetails.test.ts"],"names":[],"mappings":";;AAAA,yBAAuB;AAEvB,yDAAmD;AACnD,2CAAqC;AAErC,QAAQ,CAAC,2CAA2C,EAAE,GAAG,EAAE;IACvD,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE;QACvB,MAAM,MAAM,GAAG,kBAAM,CAAC,MAAM,CAAC;YACzB,SAAS,EAAE,OAAO;YAClB,QAAQ,EAAE,MAAM;SACnB,CAAC,CAAC;QACH,+CAA+C;QAC/C,MAAM,QAAQ,GAAG,gCAAa,CAAC,MAAM,CAAC;YAClC,SAAS,EAAE,OAAO;YAClB,OAAO,EAAE;gBACL,kBAAM,CAAC,MAAM,CAAC;oBACV,SAAS,EAAE,OAAO;oBAClB,QAAQ,EAAE,WAAW;iBACxB,CAAC;gBACF,MAAM;aACT;SACJ,CAAC,CAAC;QAEH,sDAAsD;QACtD,MAAM,QAAQ,GAAG,gCAAa,CAAC,MAAM,CAAC;YAClC,SAAS,EAAE,OAAO;YAClB,OAAO,EAAE;gBACL,kBAAM,CAAC,MAAM,CAAC;oBACV,SAAS,EAAE,QAAQ;oBACnB,QAAQ,EAAE,MAAM;iBACnB,CAAC;gBACF,kBAAM,CAAC,MAAM,CAAC;oBACV,SAAS,EAAE,OAAO;oBAClB,QAAQ,EAAE,WAAW;iBACxB,CAAC;gBACF,kBAAM,CAAC,MAAM,CAAC;oBACV,EAAE,EAAE,MAAM,CAAC,EAAE;oBACb,SAAS,EAAE,WAAW;oBACtB,QAAQ,EAAE,WAAW;iBACxB,CAAC;aACL;SACJ,CAAC,CAAC;QAEH,uCAAuC;QACvC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAEzB,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC7F,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"MemberDetails.test.js","sourceRoot":"","sources":["../../../src/members/MemberDetails.test.ts"],"names":[],"mappings":"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"}
@@ -12,15 +12,24 @@ export declare class Parent extends AutoEncoder {
12
12
  email: string | null;
13
13
  alternativeEmails: string[];
14
14
  address: Address | null;
15
+ createdAt: Date;
16
+ /**
17
+ * Stores the timestamp the parent was last edited in the UI (not the same as edited in the database - this is used to find the most correct data in case of duplicates)
18
+ */
19
+ updatedAt: Date | null;
15
20
  get name(): string;
16
21
  getDiffName(): string;
17
22
  matchQuery(query: string): boolean;
23
+ getEmails(): string[];
18
24
  hasEmail(email: string): boolean;
19
25
  /**
20
26
  * Call this to clean up capitals in all the available data
21
27
  */
22
28
  cleanData(): void;
23
29
  isEqual(other: Parent): boolean;
30
+ /**
31
+ * Merge, giving other priority over this
32
+ */
24
33
  merge(other: Parent): void;
25
34
  }
26
35
  //# sourceMappingURL=Parent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Parent.d.ts","sourceRoot":"","sources":["../../../src/members/Parent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAoD,MAAM,6BAA6B,CAAC;AAI1H,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAoB,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AAEjF,qBAAa,MAAO,SAAQ,WAAW;IAEnC,EAAE,EAAE,MAAM,CAAC;IAGX,IAAI,EAAE,UAAU,CAAqB;IAGrC,SAAS,SAAM;IAGf,QAAQ,SAAM;IASd,sBAAsB,EAAE,MAAM,GAAG,OAAO,4BAA4B,GAAG,IAAI,CAAQ;IAGnF,KAAK,EAAE,MAAM,GAAG,IAAI,CAAQ;IAI5B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAQ;IAG5B,iBAAiB,EAAE,MAAM,EAAE,CAAM;IAGjC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAQ;IAE/B,IAAI,IAAI,WAQP;IAED,WAAW;IAIX,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAWlC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAQhC;;OAEG;IACH,SAAS;IA0CT,OAAO,CAAC,KAAK,EAAE,MAAM;IAMrB,KAAK,CAAC,KAAK,EAAE,MAAM;CAkCtB"}
1
+ {"version":3,"file":"Parent.d.ts","sourceRoot":"","sources":["../../../src/members/Parent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAiE,MAAM,6BAA6B,CAAC;AAIvI,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAoB,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AAEjF,qBAAa,MAAO,SAAQ,WAAW;IAEnC,EAAE,EAAE,MAAM,CAAC;IAGX,IAAI,EAAE,UAAU,CAAqB;IAGrC,SAAS,SAAM;IAGf,QAAQ,SAAM;IASd,sBAAsB,EAAE,MAAM,GAAG,OAAO,4BAA4B,GAAG,IAAI,CAAQ;IAGnF,KAAK,EAAE,MAAM,GAAG,IAAI,CAAQ;IAI5B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAQ;IAG5B,iBAAiB,EAAE,MAAM,EAAE,CAAM;IAGjC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAQ;IAG/B,SAAS,OAAc;IAEvB;;OAEG;IAEH,SAAS,EAAE,IAAI,GAAG,IAAI,CAAQ;IAE9B,IAAI,IAAI,WAQP;IAED,WAAW;IAIX,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAWlC,SAAS;IAUT,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAQhC;;OAEG;IACH,SAAS;IA0CT,OAAO,CAAC,KAAK,EAAE,MAAM;IAMrB;;OAEG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM;CA2CtB"}