@stamhoofd/structures 2.1.1 → 2.1.3

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 (349) hide show
  1. package/dist/index.d.ts +19 -11
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +20 -11
  4. package/dist/index.js.map +1 -1
  5. package/dist/src/Document.d.ts +11 -4
  6. package/dist/src/Document.d.ts.map +1 -1
  7. package/dist/src/Document.js +57 -7
  8. package/dist/src/Document.js.map +1 -1
  9. package/dist/src/Group.d.ts +10 -17
  10. package/dist/src/Group.d.ts.map +1 -1
  11. package/dist/src/Group.js +25 -22
  12. package/dist/src/Group.js.map +1 -1
  13. package/dist/src/GroupCategory.d.ts +11 -10
  14. package/dist/src/GroupCategory.d.ts.map +1 -1
  15. package/dist/src/GroupCategory.js +19 -36
  16. package/dist/src/GroupCategory.js.map +1 -1
  17. package/dist/src/GroupSettings.d.ts +11 -0
  18. package/dist/src/GroupSettings.d.ts.map +1 -1
  19. package/dist/src/GroupSettings.js +13 -0
  20. package/dist/src/GroupSettings.js.map +1 -1
  21. package/dist/src/Organization.d.ts +22 -12
  22. package/dist/src/Organization.d.ts.map +1 -1
  23. package/dist/src/Organization.js +38 -44
  24. package/dist/src/Organization.js.map +1 -1
  25. package/dist/src/OrganizationMetaData.d.ts +18 -1
  26. package/dist/src/OrganizationMetaData.d.ts.map +1 -1
  27. package/dist/src/OrganizationMetaData.js +23 -0
  28. package/dist/src/OrganizationMetaData.js.map +1 -1
  29. package/dist/src/Permissions.d.ts +134 -29
  30. package/dist/src/Permissions.d.ts.map +1 -1
  31. package/dist/src/Permissions.js +534 -115
  32. package/dist/src/Permissions.js.map +1 -1
  33. package/dist/src/Platform.d.ts +26 -1
  34. package/dist/src/Platform.d.ts.map +1 -1
  35. package/dist/src/Platform.js +72 -4
  36. package/dist/src/Platform.js.map +1 -1
  37. package/dist/src/RegistrationPeriod.d.ts +12 -1
  38. package/dist/src/RegistrationPeriod.d.ts.map +1 -1
  39. package/dist/src/RegistrationPeriod.js +21 -0
  40. package/dist/src/RegistrationPeriod.js.map +1 -1
  41. package/dist/src/User.d.ts +6 -3
  42. package/dist/src/User.d.ts.map +1 -1
  43. package/dist/src/User.js +52 -2
  44. package/dist/src/User.js.map +1 -1
  45. package/dist/src/Version.d.ts +1 -1
  46. package/dist/src/Version.js +1 -1
  47. package/dist/src/admin/OrganizationSummary.js +1 -1
  48. package/dist/src/admin/OrganizationSummary.js.map +1 -1
  49. package/dist/src/billing/STPackage.js +2 -2
  50. package/dist/src/billing/STPackage.js.map +1 -1
  51. package/dist/src/billing/STPackageBundle.js +2 -2
  52. package/dist/src/billing/STPackageBundle.js.map +1 -1
  53. package/dist/src/endpoints/RegisterResponse.d.ts +2 -2
  54. package/dist/src/endpoints/RegisterResponse.d.ts.map +1 -1
  55. package/dist/src/endpoints/RegisterResponse.js +2 -3
  56. package/dist/src/endpoints/RegisterResponse.js.map +1 -1
  57. package/dist/src/filters/PropertyFilter.d.ts +13 -10
  58. package/dist/src/filters/PropertyFilter.d.ts.map +1 -1
  59. package/dist/src/filters/PropertyFilter.js +35 -22
  60. package/dist/src/filters/PropertyFilter.js.map +1 -1
  61. package/dist/src/filters/new/FilteredRequest.d.ts +4 -1
  62. package/dist/src/filters/new/FilteredRequest.d.ts.map +1 -1
  63. package/dist/src/filters/new/FilteredRequest.js +18 -5
  64. package/dist/src/filters/new/FilteredRequest.js.map +1 -1
  65. package/dist/src/filters/new/InMemoryFilter.d.ts +7 -7
  66. package/dist/src/filters/new/InMemoryFilter.d.ts.map +1 -1
  67. package/dist/src/filters/new/InMemoryFilter.js +143 -49
  68. package/dist/src/filters/new/InMemoryFilter.js.map +1 -1
  69. package/dist/src/filters/new/Sorters.d.ts.map +1 -1
  70. package/dist/src/filters/new/Sorters.js +0 -2
  71. package/dist/src/filters/new/Sorters.js.map +1 -1
  72. package/dist/src/filters/new/StamhoofdFilter.d.ts +6 -3
  73. package/dist/src/filters/new/StamhoofdFilter.d.ts.map +1 -1
  74. package/dist/src/filters/new/StamhoofdFilter.js +11 -0
  75. package/dist/src/filters/new/StamhoofdFilter.js.map +1 -1
  76. package/dist/src/grouping/PaginatedResponse.d.ts +6 -6
  77. package/dist/src/grouping/PaginatedResponse.d.ts.map +1 -1
  78. package/dist/src/grouping/PaginatedResponse.js +3 -2
  79. package/dist/src/grouping/PaginatedResponse.js.map +1 -1
  80. package/dist/src/members/EmergencyContact.d.ts +1 -0
  81. package/dist/src/members/EmergencyContact.d.ts.map +1 -1
  82. package/dist/src/members/EmergencyContact.js +6 -1
  83. package/dist/src/members/EmergencyContact.js.map +1 -1
  84. package/dist/src/members/Member.d.ts +0 -10
  85. package/dist/src/members/Member.d.ts.map +1 -1
  86. package/dist/src/members/Member.js +0 -18
  87. package/dist/src/members/Member.js.map +1 -1
  88. package/dist/src/members/MemberDetails.d.ts +14 -35
  89. package/dist/src/members/MemberDetails.d.ts.map +1 -1
  90. package/dist/src/members/MemberDetails.js +137 -274
  91. package/dist/src/members/MemberDetails.js.map +1 -1
  92. package/dist/src/members/MemberWithRegistrations.d.ts +11 -17
  93. package/dist/src/members/MemberWithRegistrations.d.ts.map +1 -1
  94. package/dist/src/members/MemberWithRegistrations.js +9 -197
  95. package/dist/src/members/MemberWithRegistrations.js.map +1 -1
  96. package/dist/src/members/OrganizationRecordsConfiguration.d.ts +10 -48
  97. package/dist/src/members/OrganizationRecordsConfiguration.d.ts.map +1 -1
  98. package/dist/src/members/OrganizationRecordsConfiguration.js +8 -161
  99. package/dist/src/members/OrganizationRecordsConfiguration.js.map +1 -1
  100. package/dist/src/members/PlatformMember.d.ts +6 -6
  101. package/dist/src/members/PlatformMember.d.ts.map +1 -1
  102. package/dist/src/members/PlatformMember.js +17 -14
  103. package/dist/src/members/PlatformMember.js.map +1 -1
  104. package/dist/src/members/Registration.d.ts +4 -1
  105. package/dist/src/members/Registration.d.ts.map +1 -1
  106. package/dist/src/members/Registration.js +11 -2
  107. package/dist/src/members/Registration.js.map +1 -1
  108. package/dist/src/members/RegistrationWithMember.d.ts +0 -2
  109. package/dist/src/members/RegistrationWithMember.d.ts.map +1 -1
  110. package/dist/src/members/RegistrationWithMember.js +0 -4
  111. package/dist/src/members/RegistrationWithMember.js.map +1 -1
  112. package/dist/src/members/checkout/RegisterCartPriceCalculator.test.js +109 -63
  113. package/dist/src/members/checkout/RegisterCartPriceCalculator.test.js.map +1 -1
  114. package/dist/src/members/checkout/RegisterCheckout.d.ts +98 -17
  115. package/dist/src/members/checkout/RegisterCheckout.d.ts.map +1 -1
  116. package/dist/src/members/checkout/RegisterCheckout.js +545 -22
  117. package/dist/src/members/checkout/RegisterCheckout.js.map +1 -1
  118. package/dist/src/members/checkout/UnknownMemberWithRegistrations.d.ts +1 -1
  119. package/dist/src/members/records/RecordCategory.d.ts +17 -16
  120. package/dist/src/members/records/RecordCategory.d.ts.map +1 -1
  121. package/dist/src/members/records/RecordCategory.js +38 -179
  122. package/dist/src/members/records/RecordCategory.js.map +1 -1
  123. package/dist/src/members/records/RecordConfigurationFactory.d.ts.map +1 -1
  124. package/dist/src/members/records/RecordConfigurationFactory.js +62 -45
  125. package/dist/src/members/records/RecordConfigurationFactory.js.map +1 -1
  126. package/dist/src/members/records/RecordFactory.d.ts.map +1 -1
  127. package/dist/src/members/records/RecordFactory.js +6 -12
  128. package/dist/src/members/records/RecordFactory.js.map +1 -1
  129. package/dist/src/members/records/RecordSettings.d.ts +2 -1
  130. package/dist/src/members/records/RecordSettings.d.ts.map +1 -1
  131. package/dist/src/members/records/RecordSettings.js +13 -4
  132. package/dist/src/members/records/RecordSettings.js.map +1 -1
  133. package/dist/src/webshops/Checkout.d.ts +11 -8
  134. package/dist/src/webshops/Checkout.d.ts.map +1 -1
  135. package/dist/src/webshops/Checkout.js +29 -71
  136. package/dist/src/webshops/Checkout.js.map +1 -1
  137. package/dist/src/webshops/TransferSettings.d.ts +1 -1
  138. package/dist/src/webshops/TransferSettings.d.ts.map +1 -1
  139. package/dist/src/webshops/TransferSettings.js +5 -8
  140. package/dist/src/webshops/TransferSettings.js.map +1 -1
  141. package/dist/src/webshops/Webshop.js +2 -2
  142. package/dist/src/webshops/Webshop.js.map +1 -1
  143. package/dist/src/webshops/WebshopMetaData.d.ts +8 -0
  144. package/dist/src/webshops/WebshopMetaData.d.ts.map +1 -1
  145. package/dist/src/webshops/WebshopMetaData.js +9 -1
  146. package/dist/src/webshops/WebshopMetaData.js.map +1 -1
  147. package/esm/dist/index.d.ts +19 -11
  148. package/esm/dist/index.d.ts.map +1 -1
  149. package/esm/dist/index.js +20 -11
  150. package/esm/dist/index.js.map +1 -1
  151. package/esm/dist/src/Document.d.ts +11 -4
  152. package/esm/dist/src/Document.d.ts.map +1 -1
  153. package/esm/dist/src/Document.js +57 -7
  154. package/esm/dist/src/Document.js.map +1 -1
  155. package/esm/dist/src/Group.d.ts +10 -17
  156. package/esm/dist/src/Group.d.ts.map +1 -1
  157. package/esm/dist/src/Group.js +26 -23
  158. package/esm/dist/src/Group.js.map +1 -1
  159. package/esm/dist/src/GroupCategory.d.ts +11 -10
  160. package/esm/dist/src/GroupCategory.d.ts.map +1 -1
  161. package/esm/dist/src/GroupCategory.js +20 -37
  162. package/esm/dist/src/GroupCategory.js.map +1 -1
  163. package/esm/dist/src/GroupSettings.d.ts +11 -0
  164. package/esm/dist/src/GroupSettings.d.ts.map +1 -1
  165. package/esm/dist/src/GroupSettings.js +13 -0
  166. package/esm/dist/src/GroupSettings.js.map +1 -1
  167. package/esm/dist/src/Organization.d.ts +22 -12
  168. package/esm/dist/src/Organization.d.ts.map +1 -1
  169. package/esm/dist/src/Organization.js +39 -45
  170. package/esm/dist/src/Organization.js.map +1 -1
  171. package/esm/dist/src/OrganizationMetaData.d.ts +18 -1
  172. package/esm/dist/src/OrganizationMetaData.d.ts.map +1 -1
  173. package/esm/dist/src/OrganizationMetaData.js +23 -0
  174. package/esm/dist/src/OrganizationMetaData.js.map +1 -1
  175. package/esm/dist/src/Permissions.d.ts +134 -29
  176. package/esm/dist/src/Permissions.d.ts.map +1 -1
  177. package/esm/dist/src/Permissions.js +529 -113
  178. package/esm/dist/src/Permissions.js.map +1 -1
  179. package/esm/dist/src/Platform.d.ts +26 -1
  180. package/esm/dist/src/Platform.d.ts.map +1 -1
  181. package/esm/dist/src/Platform.js +70 -4
  182. package/esm/dist/src/Platform.js.map +1 -1
  183. package/esm/dist/src/RegistrationPeriod.d.ts +12 -1
  184. package/esm/dist/src/RegistrationPeriod.d.ts.map +1 -1
  185. package/esm/dist/src/RegistrationPeriod.js +21 -0
  186. package/esm/dist/src/RegistrationPeriod.js.map +1 -1
  187. package/esm/dist/src/User.d.ts +6 -3
  188. package/esm/dist/src/User.d.ts.map +1 -1
  189. package/esm/dist/src/User.js +52 -2
  190. package/esm/dist/src/User.js.map +1 -1
  191. package/esm/dist/src/Version.d.ts +1 -1
  192. package/esm/dist/src/Version.js +1 -1
  193. package/esm/dist/src/admin/OrganizationSummary.js +1 -1
  194. package/esm/dist/src/admin/OrganizationSummary.js.map +1 -1
  195. package/esm/dist/src/billing/STPackage.js +2 -2
  196. package/esm/dist/src/billing/STPackage.js.map +1 -1
  197. package/esm/dist/src/billing/STPackageBundle.js +2 -2
  198. package/esm/dist/src/billing/STPackageBundle.js.map +1 -1
  199. package/esm/dist/src/endpoints/RegisterResponse.d.ts +2 -2
  200. package/esm/dist/src/endpoints/RegisterResponse.d.ts.map +1 -1
  201. package/esm/dist/src/endpoints/RegisterResponse.js +2 -3
  202. package/esm/dist/src/endpoints/RegisterResponse.js.map +1 -1
  203. package/esm/dist/src/filters/PropertyFilter.d.ts +13 -10
  204. package/esm/dist/src/filters/PropertyFilter.d.ts.map +1 -1
  205. package/esm/dist/src/filters/PropertyFilter.js +36 -23
  206. package/esm/dist/src/filters/PropertyFilter.js.map +1 -1
  207. package/esm/dist/src/filters/new/FilteredRequest.d.ts +4 -1
  208. package/esm/dist/src/filters/new/FilteredRequest.d.ts.map +1 -1
  209. package/esm/dist/src/filters/new/FilteredRequest.js +18 -6
  210. package/esm/dist/src/filters/new/FilteredRequest.js.map +1 -1
  211. package/esm/dist/src/filters/new/InMemoryFilter.d.ts +7 -7
  212. package/esm/dist/src/filters/new/InMemoryFilter.d.ts.map +1 -1
  213. package/esm/dist/src/filters/new/InMemoryFilter.js +142 -49
  214. package/esm/dist/src/filters/new/InMemoryFilter.js.map +1 -1
  215. package/esm/dist/src/filters/new/Sorters.d.ts.map +1 -1
  216. package/esm/dist/src/filters/new/Sorters.js +0 -2
  217. package/esm/dist/src/filters/new/Sorters.js.map +1 -1
  218. package/esm/dist/src/filters/new/StamhoofdFilter.d.ts +6 -3
  219. package/esm/dist/src/filters/new/StamhoofdFilter.d.ts.map +1 -1
  220. package/esm/dist/src/filters/new/StamhoofdFilter.js +9 -1
  221. package/esm/dist/src/filters/new/StamhoofdFilter.js.map +1 -1
  222. package/esm/dist/src/grouping/PaginatedResponse.d.ts +6 -6
  223. package/esm/dist/src/grouping/PaginatedResponse.d.ts.map +1 -1
  224. package/esm/dist/src/grouping/PaginatedResponse.js +3 -2
  225. package/esm/dist/src/grouping/PaginatedResponse.js.map +1 -1
  226. package/esm/dist/src/members/EmergencyContact.d.ts +1 -0
  227. package/esm/dist/src/members/EmergencyContact.d.ts.map +1 -1
  228. package/esm/dist/src/members/EmergencyContact.js +6 -1
  229. package/esm/dist/src/members/EmergencyContact.js.map +1 -1
  230. package/esm/dist/src/members/Member.d.ts +0 -10
  231. package/esm/dist/src/members/Member.d.ts.map +1 -1
  232. package/esm/dist/src/members/Member.js +1 -19
  233. package/esm/dist/src/members/Member.js.map +1 -1
  234. package/esm/dist/src/members/MemberDetails.d.ts +14 -35
  235. package/esm/dist/src/members/MemberDetails.d.ts.map +1 -1
  236. package/esm/dist/src/members/MemberDetails.js +139 -276
  237. package/esm/dist/src/members/MemberDetails.js.map +1 -1
  238. package/esm/dist/src/members/MemberWithRegistrations.d.ts +11 -17
  239. package/esm/dist/src/members/MemberWithRegistrations.d.ts.map +1 -1
  240. package/esm/dist/src/members/MemberWithRegistrations.js +9 -197
  241. package/esm/dist/src/members/MemberWithRegistrations.js.map +1 -1
  242. package/esm/dist/src/members/OrganizationRecordsConfiguration.d.ts +10 -48
  243. package/esm/dist/src/members/OrganizationRecordsConfiguration.d.ts.map +1 -1
  244. package/esm/dist/src/members/OrganizationRecordsConfiguration.js +8 -160
  245. package/esm/dist/src/members/OrganizationRecordsConfiguration.js.map +1 -1
  246. package/esm/dist/src/members/PlatformMember.d.ts +6 -6
  247. package/esm/dist/src/members/PlatformMember.d.ts.map +1 -1
  248. package/esm/dist/src/members/PlatformMember.js +17 -14
  249. package/esm/dist/src/members/PlatformMember.js.map +1 -1
  250. package/esm/dist/src/members/Registration.d.ts +4 -1
  251. package/esm/dist/src/members/Registration.d.ts.map +1 -1
  252. package/esm/dist/src/members/Registration.js +11 -2
  253. package/esm/dist/src/members/Registration.js.map +1 -1
  254. package/esm/dist/src/members/RegistrationWithMember.d.ts +0 -2
  255. package/esm/dist/src/members/RegistrationWithMember.d.ts.map +1 -1
  256. package/esm/dist/src/members/RegistrationWithMember.js +0 -4
  257. package/esm/dist/src/members/RegistrationWithMember.js.map +1 -1
  258. package/esm/dist/src/members/checkout/RegisterCartPriceCalculator.test.js +109 -63
  259. package/esm/dist/src/members/checkout/RegisterCartPriceCalculator.test.js.map +1 -1
  260. package/esm/dist/src/members/checkout/RegisterCheckout.d.ts +98 -17
  261. package/esm/dist/src/members/checkout/RegisterCheckout.d.ts.map +1 -1
  262. package/esm/dist/src/members/checkout/RegisterCheckout.js +539 -20
  263. package/esm/dist/src/members/checkout/RegisterCheckout.js.map +1 -1
  264. package/esm/dist/src/members/checkout/UnknownMemberWithRegistrations.d.ts +1 -1
  265. package/esm/dist/src/members/records/RecordCategory.d.ts +17 -16
  266. package/esm/dist/src/members/records/RecordCategory.d.ts.map +1 -1
  267. package/esm/dist/src/members/records/RecordCategory.js +39 -179
  268. package/esm/dist/src/members/records/RecordCategory.js.map +1 -1
  269. package/esm/dist/src/members/records/RecordConfigurationFactory.d.ts.map +1 -1
  270. package/esm/dist/src/members/records/RecordConfigurationFactory.js +63 -46
  271. package/esm/dist/src/members/records/RecordConfigurationFactory.js.map +1 -1
  272. package/esm/dist/src/members/records/RecordFactory.d.ts.map +1 -1
  273. package/esm/dist/src/members/records/RecordFactory.js +6 -12
  274. package/esm/dist/src/members/records/RecordFactory.js.map +1 -1
  275. package/esm/dist/src/members/records/RecordSettings.d.ts +2 -1
  276. package/esm/dist/src/members/records/RecordSettings.d.ts.map +1 -1
  277. package/esm/dist/src/members/records/RecordSettings.js +13 -4
  278. package/esm/dist/src/members/records/RecordSettings.js.map +1 -1
  279. package/esm/dist/src/webshops/Checkout.d.ts +11 -8
  280. package/esm/dist/src/webshops/Checkout.d.ts.map +1 -1
  281. package/esm/dist/src/webshops/Checkout.js +30 -72
  282. package/esm/dist/src/webshops/Checkout.js.map +1 -1
  283. package/esm/dist/src/webshops/TransferSettings.d.ts +1 -1
  284. package/esm/dist/src/webshops/TransferSettings.d.ts.map +1 -1
  285. package/esm/dist/src/webshops/TransferSettings.js +1 -4
  286. package/esm/dist/src/webshops/TransferSettings.js.map +1 -1
  287. package/esm/dist/src/webshops/Webshop.js +2 -2
  288. package/esm/dist/src/webshops/Webshop.js.map +1 -1
  289. package/esm/dist/src/webshops/WebshopMetaData.d.ts +8 -0
  290. package/esm/dist/src/webshops/WebshopMetaData.d.ts.map +1 -1
  291. package/esm/dist/src/webshops/WebshopMetaData.js +9 -1
  292. package/esm/dist/src/webshops/WebshopMetaData.js.map +1 -1
  293. package/package.json +2 -2
  294. package/dist/src/grouping/KeychainedMembers.d.ts +0 -14
  295. package/dist/src/grouping/KeychainedMembers.d.ts.map +0 -1
  296. package/dist/src/grouping/KeychainedMembers.js +0 -27
  297. package/dist/src/grouping/KeychainedMembers.js.map +0 -1
  298. package/dist/src/grouping/KeychainedResponse.d.ts +0 -25
  299. package/dist/src/grouping/KeychainedResponse.d.ts.map +0 -1
  300. package/dist/src/grouping/KeychainedResponse.js +0 -38
  301. package/dist/src/grouping/KeychainedResponse.js.map +0 -1
  302. package/dist/src/members/EncryptedMemberWithRegistrations.d.ts +0 -8
  303. package/dist/src/members/EncryptedMemberWithRegistrations.d.ts.map +0 -1
  304. package/dist/src/members/EncryptedMemberWithRegistrations.js +0 -18
  305. package/dist/src/members/EncryptedMemberWithRegistrations.js.map +0 -1
  306. package/dist/src/members/checkout/RegisterCart.d.ts +0 -49
  307. package/dist/src/members/checkout/RegisterCart.d.ts.map +0 -1
  308. package/dist/src/members/checkout/RegisterCart.js +0 -207
  309. package/dist/src/members/checkout/RegisterCart.js.map +0 -1
  310. package/dist/src/members/checkout/RegisterCartPriceCalculator.d.ts +0 -41
  311. package/dist/src/members/checkout/RegisterCartPriceCalculator.d.ts.map +0 -1
  312. package/dist/src/members/checkout/RegisterCartPriceCalculator.js +0 -352
  313. package/dist/src/members/checkout/RegisterCartPriceCalculator.js.map +0 -1
  314. package/dist/src/members/checkout/RegisterCartValidator.d.ts +0 -35
  315. package/dist/src/members/checkout/RegisterCartValidator.d.ts.map +0 -1
  316. package/dist/src/members/checkout/RegisterCartValidator.js +0 -345
  317. package/dist/src/members/checkout/RegisterCartValidator.js.map +0 -1
  318. package/dist/src/members/checkout/RegisterItem.d.ts +0 -59
  319. package/dist/src/members/checkout/RegisterItem.d.ts.map +0 -1
  320. package/dist/src/members/checkout/RegisterItem.js +0 -148
  321. package/dist/src/members/checkout/RegisterItem.js.map +0 -1
  322. package/esm/dist/src/grouping/KeychainedMembers.d.ts +0 -14
  323. package/esm/dist/src/grouping/KeychainedMembers.d.ts.map +0 -1
  324. package/esm/dist/src/grouping/KeychainedMembers.js +0 -23
  325. package/esm/dist/src/grouping/KeychainedMembers.js.map +0 -1
  326. package/esm/dist/src/grouping/KeychainedResponse.d.ts +0 -25
  327. package/esm/dist/src/grouping/KeychainedResponse.d.ts.map +0 -1
  328. package/esm/dist/src/grouping/KeychainedResponse.js +0 -33
  329. package/esm/dist/src/grouping/KeychainedResponse.js.map +0 -1
  330. package/esm/dist/src/members/EncryptedMemberWithRegistrations.d.ts +0 -8
  331. package/esm/dist/src/members/EncryptedMemberWithRegistrations.d.ts.map +0 -1
  332. package/esm/dist/src/members/EncryptedMemberWithRegistrations.js +0 -14
  333. package/esm/dist/src/members/EncryptedMemberWithRegistrations.js.map +0 -1
  334. package/esm/dist/src/members/checkout/RegisterCart.d.ts +0 -49
  335. package/esm/dist/src/members/checkout/RegisterCart.d.ts.map +0 -1
  336. package/esm/dist/src/members/checkout/RegisterCart.js +0 -202
  337. package/esm/dist/src/members/checkout/RegisterCart.js.map +0 -1
  338. package/esm/dist/src/members/checkout/RegisterCartPriceCalculator.d.ts +0 -41
  339. package/esm/dist/src/members/checkout/RegisterCartPriceCalculator.d.ts.map +0 -1
  340. package/esm/dist/src/members/checkout/RegisterCartPriceCalculator.js +0 -347
  341. package/esm/dist/src/members/checkout/RegisterCartPriceCalculator.js.map +0 -1
  342. package/esm/dist/src/members/checkout/RegisterCartValidator.d.ts +0 -35
  343. package/esm/dist/src/members/checkout/RegisterCartValidator.d.ts.map +0 -1
  344. package/esm/dist/src/members/checkout/RegisterCartValidator.js +0 -341
  345. package/esm/dist/src/members/checkout/RegisterCartValidator.js.map +0 -1
  346. package/esm/dist/src/members/checkout/RegisterItem.d.ts +0 -59
  347. package/esm/dist/src/members/checkout/RegisterItem.d.ts.map +0 -1
  348. package/esm/dist/src/members/checkout/RegisterItem.js +0 -142
  349. package/esm/dist/src/members/checkout/RegisterItem.js.map +0 -1
@@ -1,15 +1,10 @@
1
- import { AutoEncoder } from '@simonbackx/simple-encoding';
1
+ import { AutoEncoder, AutoEncoderPatchType } from '@simonbackx/simple-encoding';
2
2
  import { Address } from '../addresses/Address';
3
3
  import { Replacement } from '../endpoints/EmailRequest';
4
- import { ChoicesFilterDefinition } from '../filters/ChoicesFilter';
5
- import { NumberFilterDefinition } from '../filters/NumberFilter';
6
4
  import { Group } from '../Group';
7
- import { OrganizationMetaData } from '../OrganizationMetaData';
8
5
  import { EmergencyContact } from './EmergencyContact';
9
6
  import { Gender } from './Gender';
10
7
  import { Parent } from './Parent';
11
- import { LegacyRecord } from './records/LegacyRecord';
12
- import { LegacyRecordType } from './records/LegacyRecordType';
13
8
  import { RecordAnswer } from './records/RecordAnswer';
14
9
  import { ReviewTimes } from './ReviewTime';
15
10
  /**
@@ -37,35 +32,21 @@ export declare class MemberDetails extends AutoEncoder {
37
32
  address: Address | null;
38
33
  parents: Parent[];
39
34
  emergencyContacts: EmergencyContact[];
40
- recordAnswers: RecordAnswer[];
41
- /**
42
- * @deprecated
43
- */
44
- records: LegacyRecord[];
45
- requiresFinancialSupport?: BooleanStatus;
35
+ recordAnswers: Map<string, RecordAnswer>;
36
+ requiresFinancialSupport: BooleanStatus | null;
46
37
  /**
47
38
  * Gave permission to collect sensitive information
48
39
  */
49
- dataPermissions?: BooleanStatus;
50
- /**
51
- * @deprecated
52
- */
53
- doctor: EmergencyContact | null;
40
+ dataPermissions: BooleanStatus | null;
54
41
  /**
55
42
  * Last time the records were reviewed
56
43
  */
57
44
  reviewTimes: ReviewTimes;
58
- /**
59
- * @deprecated
60
- * Keep track whether this are recovered member details. Only set this back to false when:
61
- * - The data is entered manually again (by member / parents)
62
- * - Warning message is dismissed / removed in the dashboard by organization
63
- */
64
- isRecovered: boolean;
65
45
  /**
66
46
  * Call this to clean up capitals in all the available data
67
47
  */
68
48
  cleanData(): void;
49
+ isEqual(other: MemberDetails): boolean;
69
50
  get name(): string;
70
51
  ageForYear(year: number): number | null;
71
52
  ageOnDate(date: Date): number | null;
@@ -86,23 +67,23 @@ export declare class MemberDetails extends AutoEncoder {
86
67
  } | null;
87
68
  getMatchingGroups(groups: Group[]): Group[];
88
69
  updateAddress(oldValue: Address, newValue: Address): void;
70
+ updateAddressPatch(oldValue: Address, newValue: Address): AutoEncoderPatchType<MemberDetails> | null;
89
71
  /**
90
72
  * This will SET the parent
91
73
  */
92
74
  updateParent(parent: Parent): void;
93
75
  /**
94
- * This will add or update the parent (possibily partially if not all data is present)
95
- */
96
- addParent(parent: Parent): void;
76
+ * This will SET the parent
77
+ */
78
+ updateParentPatch(parent: Parent): AutoEncoderPatchType<MemberDetails> | null;
97
79
  /**
98
- * @deprecated
99
- * This will add or update the parent (possibily partially if not all data is present)
100
- */
101
- addRecord(record: LegacyRecord): void;
80
+ * This will SET the parent
81
+ */
82
+ updateEmergencyContactPatch(emergencyContact: EmergencyContact): AutoEncoderPatchType<MemberDetails> | null;
102
83
  /**
103
- * @deprecated
84
+ * This will add or update the parent (possibily partially if not all data is present)
104
85
  */
105
- removeRecord(type: LegacyRecordType): void;
86
+ addParent(parent: Parent): void;
106
87
  get parentsHaveAccess(): boolean | 0 | null;
107
88
  /**
108
89
  * Return all the e-mail addresses that should have access to this user
@@ -116,8 +97,6 @@ export declare class MemberDetails extends AutoEncoder {
116
97
  * Apply newer details without deleting data or replacing filled in data with empty data
117
98
  */
118
99
  merge(other: MemberDetails): void;
119
- static getBaseFilterDefinitions(): (NumberFilterDefinition<MemberDetails> | ChoicesFilterDefinition<MemberDetails>)[];
120
- upgradeFromLegacy(organizationMeta: OrganizationMetaData): void;
121
100
  getEmailReplacements(): Replacement[];
122
101
  }
123
102
  //# sourceMappingURL=MemberDetails.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MemberDetails.d.ts","sourceRoot":"","sources":["../../../src/members/MemberDetails.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MemberDetails.d.ts","sourceRoot":"","sources":["../../../src/members/MemberDetails.ts"],"names":[],"mappings":"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"}
@@ -6,17 +6,11 @@ const simple_encoding_1 = require("@simonbackx/simple-encoding");
6
6
  const utility_1 = require("@stamhoofd/utility");
7
7
  const Address_1 = require("../addresses/Address");
8
8
  const EmailRequest_1 = require("../endpoints/EmailRequest");
9
- const ChoicesFilter_1 = require("../filters/ChoicesFilter");
10
- const NumberFilter_1 = require("../filters/NumberFilter");
11
9
  const GroupGenderType_1 = require("../GroupGenderType");
12
10
  const EmergencyContact_1 = require("./EmergencyContact");
13
11
  const Gender_1 = require("./Gender");
14
12
  const Parent_1 = require("./Parent");
15
- const LegacyRecord_1 = require("./records/LegacyRecord");
16
- const LegacyRecordType_1 = require("./records/LegacyRecordType");
17
13
  const RecordAnswer_1 = require("./records/RecordAnswer");
18
- const RecordFactory_1 = require("./records/RecordFactory");
19
- const RecordSettings_1 = require("./records/RecordSettings");
20
14
  const ReviewTime_1 = require("./ReviewTime");
21
15
  /**
22
16
  * Keep track of date nad time of an edited boolean value
@@ -60,26 +54,16 @@ class MemberDetails extends simple_encoding_1.AutoEncoder {
60
54
  this.address = null;
61
55
  this.parents = [];
62
56
  this.emergencyContacts = [];
63
- this.recordAnswers = [];
57
+ this.recordAnswers = new Map();
58
+ this.requiresFinancialSupport = null;
64
59
  /**
65
- * @deprecated
60
+ * Gave permission to collect sensitive information
66
61
  */
67
- this.records = [];
68
- /**
69
- * @deprecated
70
- */
71
- this.doctor = null;
62
+ this.dataPermissions = null;
72
63
  /**
73
64
  * Last time the records were reviewed
74
65
  */
75
66
  this.reviewTimes = ReviewTime_1.ReviewTimes.create({});
76
- /**
77
- * @deprecated
78
- * Keep track whether this are recovered member details. Only set this back to false when:
79
- * - The data is entered manually again (by member / parents)
80
- * - Warning message is dismissed / removed in the dashboard by organization
81
- */
82
- this.isRecovered = false;
83
67
  }
84
68
  /**
85
69
  * Call this to clean up capitals in all the available data
@@ -106,6 +90,30 @@ class MemberDetails extends simple_encoding_1.AutoEncoder {
106
90
  contact.cleanData();
107
91
  }
108
92
  }
93
+ isEqual(other) {
94
+ if (!this.firstName || !other.firstName) {
95
+ // Not possible to compare
96
+ return false;
97
+ }
98
+ if (!this.lastName || !other.lastName) {
99
+ // Not possible to compare
100
+ return false;
101
+ }
102
+ if (!this.birthDay || !other.birthDay) {
103
+ // Not possible to compare
104
+ return false;
105
+ }
106
+ if (this.firstName != other.firstName) {
107
+ return false;
108
+ }
109
+ if (this.lastName != other.lastName) {
110
+ return false;
111
+ }
112
+ if (this.birthDayFormatted != other.birthDayFormatted) {
113
+ return false;
114
+ }
115
+ return true;
116
+ }
109
117
  get name() {
110
118
  if (!this.firstName) {
111
119
  return this.lastName;
@@ -219,6 +227,28 @@ class MemberDetails extends simple_encoding_1.AutoEncoder {
219
227
  }
220
228
  }
221
229
  }
230
+ updateAddressPatch(oldValue, newValue) {
231
+ const str = oldValue.toString();
232
+ let patch = MemberDetails.patch({});
233
+ let changed = false;
234
+ if (this.address && this.address.toString() == str) {
235
+ patch = patch.patch({ address: newValue });
236
+ changed = true;
237
+ }
238
+ for (const parent of this.parents) {
239
+ if (parent.address && parent.address.toString() == str) {
240
+ //parent.address = newValue
241
+ const arr = new simple_encoding_1.PatchableArray();
242
+ arr.addPatch(Parent_1.Parent.patch({ id: parent.id, address: newValue }));
243
+ patch = patch.patch({ parents: arr });
244
+ changed = true;
245
+ }
246
+ }
247
+ if (changed) {
248
+ return patch;
249
+ }
250
+ return null;
251
+ }
222
252
  /**
223
253
  * This will SET the parent
224
254
  */
@@ -229,6 +259,50 @@ class MemberDetails extends simple_encoding_1.AutoEncoder {
229
259
  }
230
260
  }
231
261
  }
262
+ /**
263
+ * This will SET the parent
264
+ */
265
+ updateParentPatch(parent) {
266
+ let patch = MemberDetails.patch({});
267
+ let changed = false;
268
+ for (const [index, _parent] of this.parents.entries()) {
269
+ if (_parent.id == parent.id || _parent.isEqual(parent)) {
270
+ const arr = new simple_encoding_1.PatchableArray();
271
+ // Assure we auto correct possible duplicates
272
+ arr.addDelete(_parent.id);
273
+ arr.addDelete(_parent.id);
274
+ arr.addPut(parent);
275
+ patch = patch.patch({ parents: arr });
276
+ changed = true;
277
+ }
278
+ }
279
+ if (changed) {
280
+ return patch;
281
+ }
282
+ return null;
283
+ }
284
+ /**
285
+ * This will SET the parent
286
+ */
287
+ updateEmergencyContactPatch(emergencyContact) {
288
+ let patch = MemberDetails.patch({});
289
+ let changed = false;
290
+ for (const [index, _emergencyContact] of this.emergencyContacts.entries()) {
291
+ if (_emergencyContact.id == emergencyContact.id || _emergencyContact.isEqual(emergencyContact)) {
292
+ const arr = new simple_encoding_1.PatchableArray();
293
+ // Assure we auto correct possible duplicates
294
+ arr.addDelete(_emergencyContact.id);
295
+ arr.addDelete(_emergencyContact.id);
296
+ arr.addPut(emergencyContact);
297
+ patch = patch.patch({ emergencyContacts: arr });
298
+ changed = true;
299
+ }
300
+ }
301
+ if (changed) {
302
+ return patch;
303
+ }
304
+ return null;
305
+ }
232
306
  /**
233
307
  * This will add or update the parent (possibily partially if not all data is present)
234
308
  */
@@ -284,32 +358,6 @@ class MemberDetails extends simple_encoding_1.AutoEncoder {
284
358
  }
285
359
  this.parents.push(parent);
286
360
  }
287
- /**
288
- * @deprecated
289
- * This will add or update the parent (possibily partially if not all data is present)
290
- */
291
- addRecord(record) {
292
- for (const [index, _record] of this.records.entries()) {
293
- if (_record.type === record.type) {
294
- this.records[index] = record;
295
- return;
296
- }
297
- }
298
- this.records.push(record);
299
- }
300
- /**
301
- * @deprecated
302
- */
303
- removeRecord(type) {
304
- for (let index = this.records.length - 1; index >= 0; index--) {
305
- const record = this.records[index];
306
- if (record.type === type) {
307
- this.records.splice(index, 1);
308
- // Keep going to fix possible previous errors that caused duplicate types
309
- // This is safe because we loop backwards
310
- }
311
- }
312
- }
313
361
  get parentsHaveAccess() {
314
362
  return (this.age && (this.age < 18 || (this.age < 24 && !this.address)));
315
363
  }
@@ -390,9 +438,6 @@ class MemberDetails extends simple_encoding_1.AutoEncoder {
390
438
  this.emergencyContacts = other.emergencyContacts;
391
439
  }
392
440
  this.reviewTimes.merge(other.reviewTimes);
393
- for (const record of other.records) {
394
- this.addRecord(record);
395
- }
396
441
  if (other.requiresFinancialSupport && (!this.requiresFinancialSupport || this.requiresFinancialSupport.date < other.requiresFinancialSupport.date)) {
397
442
  this.requiresFinancialSupport = other.requiresFinancialSupport;
398
443
  }
@@ -400,14 +445,14 @@ class MemberDetails extends simple_encoding_1.AutoEncoder {
400
445
  this.dataPermissions = other.dataPermissions;
401
446
  }
402
447
  // Merge answers
403
- const newAnswers = this.recordAnswers.slice();
404
- for (const answer of other.recordAnswers) {
405
- const existingIndex = newAnswers.findIndex(a => a.settings.id === answer.settings.id);
406
- if (existingIndex == -1) {
407
- newAnswers.push(answer);
448
+ const newAnswers = new Map(this.recordAnswers);
449
+ for (const answer of other.recordAnswers.values()) {
450
+ const existing = newAnswers.get(answer.settings.id);
451
+ if (!existing) {
452
+ newAnswers.set(answer.settings.id, answer);
408
453
  }
409
- else if (answer.date >= newAnswers[existingIndex].date) {
410
- newAnswers.splice(existingIndex, 1, answer);
454
+ else if (answer.date >= existing.date) {
455
+ newAnswers.set(answer.settings.id, answer);
411
456
  }
412
457
  else {
413
458
  // keep existing, this one is more up-to-date, don't add the other answer
@@ -415,175 +460,6 @@ class MemberDetails extends simple_encoding_1.AutoEncoder {
415
460
  }
416
461
  this.recordAnswers = newAnswers;
417
462
  }
418
- static getBaseFilterDefinitions() {
419
- // When you make changes here, make sure the ID's match the those of MemberDetailsWithGroups
420
- return [
421
- new NumberFilter_1.NumberFilterDefinition({
422
- id: "member_age",
423
- name: "Leeftijd",
424
- getValue: (details) => {
425
- var _a;
426
- return (_a = details.age) !== null && _a !== void 0 ? _a : 99;
427
- },
428
- floatingPoint: false
429
- }),
430
- new ChoicesFilter_1.ChoicesFilterDefinition({
431
- id: "member_gender",
432
- name: "Geslacht",
433
- choices: [
434
- new ChoicesFilter_1.ChoicesFilterChoice(Gender_1.Gender.Male, "Man"),
435
- new ChoicesFilter_1.ChoicesFilterChoice(Gender_1.Gender.Female, "Vrouw"),
436
- new ChoicesFilter_1.ChoicesFilterChoice(Gender_1.Gender.Other, "Andere"),
437
- ],
438
- getValue: (details) => {
439
- return [details.gender];
440
- },
441
- defaultMode: ChoicesFilter_1.ChoicesFilterMode.Or
442
- })
443
- ];
444
- }
445
- upgradeFromLegacy(organizationMeta) {
446
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
447
- if (!this.requiresFinancialSupport) {
448
- this.requiresFinancialSupport = BooleanStatus.create({
449
- value: !!this.records.find(r => r.type === LegacyRecordType_1.LegacyRecordType.FinancialProblems),
450
- date: (_a = this.reviewTimes.getLastReview("records")) !== null && _a !== void 0 ? _a : new Date()
451
- });
452
- }
453
- if (!this.dataPermissions) {
454
- this.dataPermissions = BooleanStatus.create({
455
- value: !!this.records.find(r => r.type === LegacyRecordType_1.LegacyRecordType.DataPermissions),
456
- date: (_b = this.reviewTimes.getLastReview("records")) !== null && _b !== void 0 ? _b : new Date()
457
- });
458
- }
459
- for (const record of this.records) {
460
- // Mi ma migrate
461
- const settings = RecordFactory_1.RecordFactory.create(record.type);
462
- if (!settings) {
463
- continue;
464
- }
465
- if (record.type === LegacyRecordType_1.LegacyRecordType.PicturePermissions) {
466
- const answer = RecordAnswer_1.RecordChooseOneAnswer.create({
467
- settings,
468
- selectedChoice: RecordSettings_1.RecordChoice.create({
469
- id: "yes",
470
- name: "Ja, ik geef toestemming",
471
- }),
472
- date: new Date(2021, 0, 1), // Always give it the same date
473
- reviewedAt: (_c = this.reviewTimes.getLastReview("records")) !== null && _c !== void 0 ? _c : null
474
- });
475
- this.recordAnswers.push(answer);
476
- }
477
- else if (record.type === LegacyRecordType_1.LegacyRecordType.GroupPicturePermissions) {
478
- // Do not add if we already have full permission
479
- if (this.records.find(r => r.type === LegacyRecordType_1.LegacyRecordType.PicturePermissions)) {
480
- continue;
481
- }
482
- const answer = RecordAnswer_1.RecordChooseOneAnswer.create({
483
- settings,
484
- selectedChoice: RecordSettings_1.RecordChoice.create({
485
- id: "groups_only",
486
- name: "Ik geef enkel toestemming voor groepsfoto's",
487
- warning: RecordSettings_1.RecordWarning.create({
488
- id: "",
489
- text: "Enkel toestemming voor groepsfoto's",
490
- type: RecordSettings_1.RecordWarningType.Error
491
- })
492
- }),
493
- date: new Date(2021, 0, 1), // Always give it the same date
494
- reviewedAt: (_d = this.reviewTimes.getLastReview("records")) !== null && _d !== void 0 ? _d : null
495
- });
496
- this.recordAnswers.push(answer);
497
- }
498
- else if (settings.type === RecordSettings_1.RecordType.Checkbox) {
499
- const answer = RecordAnswer_1.RecordCheckboxAnswer.create({
500
- settings,
501
- selected: true,
502
- comments: record.description ? record.description : undefined,
503
- date: new Date(2021, 0, 1), // Always give it the same date
504
- reviewedAt: (_e = this.reviewTimes.getLastReview("records")) !== null && _e !== void 0 ? _e : null
505
- });
506
- this.recordAnswers.push(answer);
507
- }
508
- else if (settings.type === RecordSettings_1.RecordType.Textarea) {
509
- const answer = RecordAnswer_1.RecordTextAnswer.create({
510
- settings,
511
- value: record.description ? record.description : null,
512
- date: new Date(2021, 0, 1), // Always give it the same date
513
- reviewedAt: (_f = this.reviewTimes.getLastReview("records")) !== null && _f !== void 0 ? _f : null
514
- });
515
- this.recordAnswers.push(answer);
516
- }
517
- else {
518
- throw new Error("Unsupported type " + settings.type);
519
- }
520
- }
521
- // Complete with unselected properties
522
- const age = (_g = this.age) !== null && _g !== void 0 ? _g : 18;
523
- for (const record of organizationMeta.recordsConfiguration.recordCategories.flatMap(c => c.getAllRecords())) {
524
- const answer = this.recordAnswers.find(a => a.settings.id == record.id);
525
- if (answer) {
526
- continue;
527
- }
528
- // Member is older than 18 years, and no permissions for medicines
529
- if (record.id === "legacy-type-" + LegacyRecordType_1.LegacyRecordType.PicturePermissions) {
530
- const alternativeAnswer = this.recordAnswers.find(a => a.settings.id == "legacy-type-" + LegacyRecordType_1.LegacyRecordType.GroupPicturePermissions);
531
- if (alternativeAnswer) {
532
- continue;
533
- }
534
- // No permissions
535
- const a = RecordAnswer_1.RecordChooseOneAnswer.create({
536
- settings: record,
537
- selectedChoice: RecordSettings_1.RecordChoice.create({
538
- id: "no",
539
- name: "Nee, ik geef geen toestemming",
540
- warning: RecordSettings_1.RecordWarning.create({
541
- id: "",
542
- text: "Geen toestemming voor publicatie foto's",
543
- type: RecordSettings_1.RecordWarningType.Error
544
- })
545
- }),
546
- date: new Date(2021, 0, 1), // Always give it the same date
547
- reviewedAt: (_h = this.reviewTimes.getLastReview("records")) !== null && _h !== void 0 ? _h : null
548
- });
549
- this.recordAnswers.push(a);
550
- continue;
551
- }
552
- if (record.type !== RecordSettings_1.RecordType.Checkbox) {
553
- continue;
554
- }
555
- // Member is older than 18 years, and no permissions for medicines
556
- if (record.id === "legacy-type-" + LegacyRecordType_1.LegacyRecordType.MedicinePermissions && (age !== null && age !== void 0 ? age : 18) >= 18) {
557
- // Don't add this property
558
- continue;
559
- }
560
- const a = RecordAnswer_1.RecordCheckboxAnswer.create({
561
- settings: record,
562
- selected: false,
563
- date: new Date(2021, 0, 1), // Always give it the same date
564
- reviewedAt: (_j = this.reviewTimes.getLastReview("records")) !== null && _j !== void 0 ? _j : null
565
- });
566
- this.recordAnswers.push(a);
567
- }
568
- // Doctor
569
- if (this.doctor) {
570
- this.recordAnswers.push(RecordAnswer_1.RecordTextAnswer.create({
571
- settings: RecordFactory_1.RecordFactory.createDoctorName(),
572
- value: this.doctor.name,
573
- date: new Date(2021, 0, 1), // Always give it the same date
574
- reviewedAt: (_k = this.reviewTimes.getLastReview("records")) !== null && _k !== void 0 ? _k : null
575
- }));
576
- this.recordAnswers.push(RecordAnswer_1.RecordTextAnswer.create({
577
- settings: RecordFactory_1.RecordFactory.createDoctorPhone(),
578
- value: this.doctor.phone,
579
- date: new Date(2021, 0, 1), // Always give it the same date
580
- reviewedAt: (_l = this.reviewTimes.getLastReview("records")) !== null && _l !== void 0 ? _l : null
581
- }));
582
- }
583
- // Clear outdated data
584
- this.doctor = null;
585
- this.records = [];
586
- }
587
463
  getEmailReplacements() {
588
464
  return [
589
465
  EmailRequest_1.Replacement.create({
@@ -634,61 +510,51 @@ tslib_1.__decorate([
634
510
  (0, simple_encoding_1.field)({ decoder: new simple_encoding_1.ArrayDecoder(EmergencyContact_1.EmergencyContact) })
635
511
  ], MemberDetails.prototype, "emergencyContacts", void 0);
636
512
  tslib_1.__decorate([
637
- (0, simple_encoding_1.field)({ decoder: new simple_encoding_1.ArrayDecoder(RecordAnswer_1.RecordAnswerDecoder), version: 120 })
513
+ (0, simple_encoding_1.field)({ decoder: new simple_encoding_1.ArrayDecoder(RecordAnswer_1.RecordAnswerDecoder), version: 120 }),
514
+ (0, simple_encoding_1.field)({
515
+ decoder: new simple_encoding_1.MapDecoder(simple_encoding_1.StringDecoder, RecordAnswer_1.RecordAnswerDecoder),
516
+ version: 252,
517
+ upgrade: (old) => {
518
+ const map = new Map();
519
+ for (const answer of old) {
520
+ map.set(answer.settings.id, answer);
521
+ }
522
+ return map;
523
+ }
524
+ })
638
525
  ], MemberDetails.prototype, "recordAnswers", void 0);
639
526
  tslib_1.__decorate([
640
- (0, simple_encoding_1.field)({ decoder: new simple_encoding_1.ArrayDecoder(LegacyRecord_1.OldRecord) }),
527
+ (0, simple_encoding_1.field)({ decoder: BooleanStatus, version: 117, optional: true }),
641
528
  (0, simple_encoding_1.field)({
642
- decoder: new simple_encoding_1.ArrayDecoder(LegacyRecord_1.LegacyRecord), version: 54, upgrade: (old) => {
643
- const addIfNotFound = new Map();
644
- addIfNotFound.set(LegacyRecordType_1.LegacyRecordType.DataPermissions, true);
645
- addIfNotFound.set(LegacyRecordType_1.LegacyRecordType.PicturePermissions, true);
646
- addIfNotFound.set(LegacyRecordType_1.LegacyRecordType.GroupPicturePermissions, false);
647
- addIfNotFound.set(LegacyRecordType_1.LegacyRecordType.MedicinePermissions, true);
648
- const result = old.flatMap((o) => {
649
- // Does this type exist in LegacyRecordType?
650
- if (Object.values(LegacyRecordType_1.LegacyRecordType).includes(o.type)) {
651
- return [LegacyRecord_1.LegacyRecord.create(o)]; // compatible
652
- }
653
- if (o.type === LegacyRecordType_1.OldRecordType.NoPictures) {
654
- // Do not add picture permissions
655
- addIfNotFound.set(LegacyRecordType_1.LegacyRecordType.PicturePermissions, false);
656
- }
657
- if (o.type === LegacyRecordType_1.OldRecordType.OnlyGroupPictures) {
658
- // Yay
659
- addIfNotFound.set(LegacyRecordType_1.LegacyRecordType.PicturePermissions, false);
660
- addIfNotFound.set(LegacyRecordType_1.LegacyRecordType.GroupPicturePermissions, true);
661
- }
662
- if (o.type === LegacyRecordType_1.OldRecordType.NoData) {
663
- // Yay
664
- addIfNotFound.set(LegacyRecordType_1.LegacyRecordType.DataPermissions, false);
665
- }
666
- if (o.type === LegacyRecordType_1.OldRecordType.NoPermissionForMedicines) {
667
- // Yay
668
- addIfNotFound.set(LegacyRecordType_1.LegacyRecordType.MedicinePermissions, false);
669
- }
670
- return [];
671
- });
672
- for (const [key, add] of addIfNotFound.entries()) {
673
- if (add) {
674
- result.push(LegacyRecord_1.LegacyRecord.create({
675
- type: key
676
- }));
677
- }
529
+ decoder: BooleanStatus,
530
+ version: 258,
531
+ optional: false,
532
+ nullable: true,
533
+ downgrade: (newValue) => newValue === null ? undefined : newValue,
534
+ upgrade: (oldValue) => {
535
+ if (!oldValue) {
536
+ return null;
678
537
  }
679
- return result;
538
+ return oldValue;
680
539
  }
681
540
  })
682
- ], MemberDetails.prototype, "records", void 0);
683
- tslib_1.__decorate([
684
- (0, simple_encoding_1.field)({ decoder: BooleanStatus, version: 117, optional: true })
685
541
  ], MemberDetails.prototype, "requiresFinancialSupport", void 0);
686
542
  tslib_1.__decorate([
687
- (0, simple_encoding_1.field)({ decoder: BooleanStatus, version: 117, optional: true })
543
+ (0, simple_encoding_1.field)({ decoder: BooleanStatus, version: 117, optional: true }),
544
+ (0, simple_encoding_1.field)({
545
+ decoder: BooleanStatus,
546
+ version: 256,
547
+ optional: true,
548
+ nullable: true,
549
+ downgrade: (newValue) => newValue === null ? undefined : newValue,
550
+ upgrade: (oldValue) => {
551
+ if (!oldValue) {
552
+ return null;
553
+ }
554
+ return oldValue;
555
+ }
556
+ })
688
557
  ], MemberDetails.prototype, "dataPermissions", void 0);
689
- tslib_1.__decorate([
690
- (0, simple_encoding_1.field)({ decoder: EmergencyContact_1.EmergencyContact, nullable: true })
691
- ], MemberDetails.prototype, "doctor", void 0);
692
558
  tslib_1.__decorate([
693
559
  (0, simple_encoding_1.field)({ decoder: simple_encoding_1.DateDecoder, nullable: true, version: 20, field: "lastReviewed" }),
694
560
  (0, simple_encoding_1.field)({ decoder: ReviewTime_1.ReviewTimes, version: 71, upgrade: (oldDate) => {
@@ -702,7 +568,4 @@ tslib_1.__decorate([
702
568
  return times;
703
569
  } })
704
570
  ], MemberDetails.prototype, "reviewTimes", void 0);
705
- tslib_1.__decorate([
706
- (0, simple_encoding_1.field)({ decoder: simple_encoding_1.BooleanDecoder, version: 69 })
707
- ], MemberDetails.prototype, "isRecovered", void 0);
708
571
  //# sourceMappingURL=MemberDetails.js.map