@stamhoofd/structures 2.74.0 → 2.75.1

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 (243) hide show
  1. package/dist/index.d.ts +3 -1
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +18 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/src/AccessRight.d.ts.map +1 -1
  6. package/dist/src/AccessRight.js +2 -0
  7. package/dist/src/AccessRight.js.map +1 -1
  8. package/dist/src/Document.d.ts +7 -3
  9. package/dist/src/Document.d.ts.map +1 -1
  10. package/dist/src/Document.js +28 -10
  11. package/dist/src/Document.js.map +1 -1
  12. package/dist/src/Event.d.ts +2 -1
  13. package/dist/src/Event.d.ts.map +1 -1
  14. package/dist/src/Event.js +6 -2
  15. package/dist/src/Event.js.map +1 -1
  16. package/dist/src/EventNotification.d.ts +36 -0
  17. package/dist/src/EventNotification.d.ts.map +1 -0
  18. package/dist/src/EventNotification.js +103 -0
  19. package/dist/src/EventNotification.js.map +1 -0
  20. package/dist/src/EventNotificationStatus.d.ts +10 -0
  21. package/dist/src/EventNotificationStatus.d.ts.map +1 -0
  22. package/dist/src/EventNotificationStatus.js +26 -0
  23. package/dist/src/EventNotificationStatus.js.map +1 -0
  24. package/dist/src/EventNotificationType.d.ts +4 -29
  25. package/dist/src/EventNotificationType.d.ts.map +1 -1
  26. package/dist/src/EventNotificationType.js +8 -59
  27. package/dist/src/EventNotificationType.js.map +1 -1
  28. package/dist/src/LoadedPermissions.d.ts +17 -8
  29. package/dist/src/LoadedPermissions.d.ts.map +1 -1
  30. package/dist/src/LoadedPermissions.js +157 -112
  31. package/dist/src/LoadedPermissions.js.map +1 -1
  32. package/dist/src/Organization.d.ts +2 -1
  33. package/dist/src/Organization.d.ts.map +1 -1
  34. package/dist/src/Organization.js +7 -0
  35. package/dist/src/Organization.js.map +1 -1
  36. package/dist/src/PermissionRole.d.ts +12 -0
  37. package/dist/src/PermissionRole.d.ts.map +1 -1
  38. package/dist/src/PermissionRole.js +22 -1
  39. package/dist/src/PermissionRole.js.map +1 -1
  40. package/dist/src/PermissionsByRole.d.ts +0 -5
  41. package/dist/src/PermissionsByRole.d.ts.map +1 -1
  42. package/dist/src/PermissionsByRole.js +0 -42
  43. package/dist/src/PermissionsByRole.js.map +1 -1
  44. package/dist/src/ResourcePermissions.d.ts +1 -0
  45. package/dist/src/ResourcePermissions.d.ts.map +1 -1
  46. package/dist/src/ResourcePermissions.js +3 -0
  47. package/dist/src/ResourcePermissions.js.map +1 -1
  48. package/dist/src/UserPermissions.d.ts +1 -0
  49. package/dist/src/UserPermissions.d.ts.map +1 -1
  50. package/dist/src/UserPermissions.js +70 -32
  51. package/dist/src/UserPermissions.js.map +1 -1
  52. package/dist/src/Version.d.ts +1 -1
  53. package/dist/src/Version.js +1 -1
  54. package/dist/src/addresses/Address.d.ts.map +1 -1
  55. package/dist/src/addresses/Address.js +7 -0
  56. package/dist/src/addresses/Address.js.map +1 -1
  57. package/dist/src/circular-dependencies/ExampleReplacementsDependencies.js +3 -3
  58. package/dist/src/circular-dependencies/ExampleReplacementsDependencies.js.map +1 -1
  59. package/dist/src/email/EditorSmartButton.d.ts.map +1 -1
  60. package/dist/src/email/EditorSmartButton.js +6 -0
  61. package/dist/src/email/EditorSmartButton.js.map +1 -1
  62. package/dist/src/email/EditorSmartVariable.d.ts.map +1 -1
  63. package/dist/src/email/EditorSmartVariable.js +32 -5
  64. package/dist/src/email/EditorSmartVariable.js.map +1 -1
  65. package/dist/src/email/EmailTemplate.d.ts +8 -1
  66. package/dist/src/email/EmailTemplate.d.ts.map +1 -1
  67. package/dist/src/email/EmailTemplate.js +36 -0
  68. package/dist/src/email/EmailTemplate.js.map +1 -1
  69. package/dist/src/email/exampleReplacements.d.ts +5 -0
  70. package/dist/src/email/exampleReplacements.d.ts.map +1 -1
  71. package/dist/src/email/exampleReplacements.js +210 -186
  72. package/dist/src/email/exampleReplacements.js.map +1 -1
  73. package/dist/src/files/File.d.ts +25 -0
  74. package/dist/src/files/File.d.ts.map +1 -1
  75. package/dist/src/files/File.js +89 -3
  76. package/dist/src/files/File.js.map +1 -1
  77. package/dist/src/files/Resolution.d.ts +3 -0
  78. package/dist/src/files/Resolution.d.ts.map +1 -1
  79. package/dist/src/filters/InMemoryFilter.d.ts +4 -2
  80. package/dist/src/filters/InMemoryFilter.d.ts.map +1 -1
  81. package/dist/src/filters/InMemoryFilter.js +58 -14
  82. package/dist/src/filters/InMemoryFilter.js.map +1 -1
  83. package/dist/src/filters/inMemoryFilterDefinitions.d.ts +2 -0
  84. package/dist/src/filters/inMemoryFilterDefinitions.d.ts.map +1 -1
  85. package/dist/src/filters/inMemoryFilterDefinitions.js +19 -1
  86. package/dist/src/filters/inMemoryFilterDefinitions.js.map +1 -1
  87. package/dist/src/helpers/EventPermissionChecker.js +1 -1
  88. package/dist/src/helpers/EventPermissionChecker.js.map +1 -1
  89. package/dist/src/members/ObjectWithRecords.d.ts +1 -0
  90. package/dist/src/members/ObjectWithRecords.d.ts.map +1 -1
  91. package/dist/src/members/PlatformMember.d.ts +2 -1
  92. package/dist/src/members/PlatformMember.d.ts.map +1 -1
  93. package/dist/src/members/PlatformMember.js +7 -0
  94. package/dist/src/members/PlatformMember.js.map +1 -1
  95. package/dist/src/members/Registration.d.ts +2 -1
  96. package/dist/src/members/Registration.d.ts.map +1 -1
  97. package/dist/src/members/Registration.js +5 -0
  98. package/dist/src/members/Registration.js.map +1 -1
  99. package/dist/src/members/checkout/RegisterCart.d.ts.map +1 -1
  100. package/dist/src/members/checkout/RegisterCart.js +8 -0
  101. package/dist/src/members/checkout/RegisterCart.js.map +1 -1
  102. package/dist/src/members/checkout/RegisterItem.d.ts +4 -1
  103. package/dist/src/members/checkout/RegisterItem.d.ts.map +1 -1
  104. package/dist/src/members/checkout/RegisterItem.js +16 -0
  105. package/dist/src/members/checkout/RegisterItem.js.map +1 -1
  106. package/dist/src/members/records/RecordAnswer.d.ts +18 -0
  107. package/dist/src/members/records/RecordAnswer.d.ts.map +1 -1
  108. package/dist/src/members/records/RecordAnswer.js +36 -1
  109. package/dist/src/members/records/RecordAnswer.js.map +1 -1
  110. package/dist/src/members/records/RecordCategory.d.ts +12 -16
  111. package/dist/src/members/records/RecordCategory.d.ts.map +1 -1
  112. package/dist/src/members/records/RecordCategory.js +88 -39
  113. package/dist/src/members/records/RecordCategory.js.map +1 -1
  114. package/dist/src/members/records/RecordSettings.d.ts +22 -6
  115. package/dist/src/members/records/RecordSettings.d.ts.map +1 -1
  116. package/dist/src/members/records/RecordSettings.js +56 -15
  117. package/dist/src/members/records/RecordSettings.js.map +1 -1
  118. package/dist/src/webshops/Checkout.d.ts +2 -1
  119. package/dist/src/webshops/Checkout.d.ts.map +1 -1
  120. package/dist/src/webshops/Checkout.js +5 -0
  121. package/dist/src/webshops/Checkout.js.map +1 -1
  122. package/esm/dist/index.d.ts +3 -1
  123. package/esm/dist/index.d.ts.map +1 -1
  124. package/esm/dist/index.js +18 -1
  125. package/esm/dist/index.js.map +1 -1
  126. package/esm/dist/src/AccessRight.d.ts.map +1 -1
  127. package/esm/dist/src/AccessRight.js +2 -0
  128. package/esm/dist/src/AccessRight.js.map +1 -1
  129. package/esm/dist/src/Document.d.ts +7 -3
  130. package/esm/dist/src/Document.d.ts.map +1 -1
  131. package/esm/dist/src/Document.js +28 -10
  132. package/esm/dist/src/Document.js.map +1 -1
  133. package/esm/dist/src/Event.d.ts +2 -1
  134. package/esm/dist/src/Event.d.ts.map +1 -1
  135. package/esm/dist/src/Event.js +6 -2
  136. package/esm/dist/src/Event.js.map +1 -1
  137. package/esm/dist/src/EventNotification.d.ts +36 -0
  138. package/esm/dist/src/EventNotification.d.ts.map +1 -0
  139. package/esm/dist/src/EventNotification.js +99 -0
  140. package/esm/dist/src/EventNotification.js.map +1 -0
  141. package/esm/dist/src/EventNotificationStatus.d.ts +10 -0
  142. package/esm/dist/src/EventNotificationStatus.d.ts.map +1 -0
  143. package/esm/dist/src/EventNotificationStatus.js +22 -0
  144. package/esm/dist/src/EventNotificationStatus.js.map +1 -0
  145. package/esm/dist/src/EventNotificationType.d.ts +4 -29
  146. package/esm/dist/src/EventNotificationType.d.ts.map +1 -1
  147. package/esm/dist/src/EventNotificationType.js +8 -58
  148. package/esm/dist/src/EventNotificationType.js.map +1 -1
  149. package/esm/dist/src/LoadedPermissions.d.ts +17 -8
  150. package/esm/dist/src/LoadedPermissions.d.ts.map +1 -1
  151. package/esm/dist/src/LoadedPermissions.js +158 -113
  152. package/esm/dist/src/LoadedPermissions.js.map +1 -1
  153. package/esm/dist/src/Organization.d.ts +2 -1
  154. package/esm/dist/src/Organization.d.ts.map +1 -1
  155. package/esm/dist/src/Organization.js +7 -0
  156. package/esm/dist/src/Organization.js.map +1 -1
  157. package/esm/dist/src/PermissionRole.d.ts +12 -0
  158. package/esm/dist/src/PermissionRole.d.ts.map +1 -1
  159. package/esm/dist/src/PermissionRole.js +22 -1
  160. package/esm/dist/src/PermissionRole.js.map +1 -1
  161. package/esm/dist/src/PermissionsByRole.d.ts +0 -5
  162. package/esm/dist/src/PermissionsByRole.d.ts.map +1 -1
  163. package/esm/dist/src/PermissionsByRole.js +1 -43
  164. package/esm/dist/src/PermissionsByRole.js.map +1 -1
  165. package/esm/dist/src/ResourcePermissions.d.ts +1 -0
  166. package/esm/dist/src/ResourcePermissions.d.ts.map +1 -1
  167. package/esm/dist/src/ResourcePermissions.js +3 -0
  168. package/esm/dist/src/ResourcePermissions.js.map +1 -1
  169. package/esm/dist/src/UserPermissions.d.ts +1 -0
  170. package/esm/dist/src/UserPermissions.d.ts.map +1 -1
  171. package/esm/dist/src/UserPermissions.js +70 -32
  172. package/esm/dist/src/UserPermissions.js.map +1 -1
  173. package/esm/dist/src/Version.d.ts +1 -1
  174. package/esm/dist/src/Version.js +1 -1
  175. package/esm/dist/src/addresses/Address.d.ts.map +1 -1
  176. package/esm/dist/src/addresses/Address.js +7 -0
  177. package/esm/dist/src/addresses/Address.js.map +1 -1
  178. package/esm/dist/src/circular-dependencies/ExampleReplacementsDependencies.js +3 -3
  179. package/esm/dist/src/circular-dependencies/ExampleReplacementsDependencies.js.map +1 -1
  180. package/esm/dist/src/email/EditorSmartButton.d.ts.map +1 -1
  181. package/esm/dist/src/email/EditorSmartButton.js +6 -0
  182. package/esm/dist/src/email/EditorSmartButton.js.map +1 -1
  183. package/esm/dist/src/email/EditorSmartVariable.d.ts.map +1 -1
  184. package/esm/dist/src/email/EditorSmartVariable.js +32 -5
  185. package/esm/dist/src/email/EditorSmartVariable.js.map +1 -1
  186. package/esm/dist/src/email/EmailTemplate.d.ts +8 -1
  187. package/esm/dist/src/email/EmailTemplate.d.ts.map +1 -1
  188. package/esm/dist/src/email/EmailTemplate.js +36 -0
  189. package/esm/dist/src/email/EmailTemplate.js.map +1 -1
  190. package/esm/dist/src/email/exampleReplacements.d.ts +5 -0
  191. package/esm/dist/src/email/exampleReplacements.d.ts.map +1 -1
  192. package/esm/dist/src/email/exampleReplacements.js +210 -186
  193. package/esm/dist/src/email/exampleReplacements.js.map +1 -1
  194. package/esm/dist/src/files/File.d.ts +25 -0
  195. package/esm/dist/src/files/File.d.ts.map +1 -1
  196. package/esm/dist/src/files/File.js +89 -3
  197. package/esm/dist/src/files/File.js.map +1 -1
  198. package/esm/dist/src/files/Resolution.d.ts +3 -0
  199. package/esm/dist/src/files/Resolution.d.ts.map +1 -1
  200. package/esm/dist/src/filters/InMemoryFilter.d.ts +4 -2
  201. package/esm/dist/src/filters/InMemoryFilter.d.ts.map +1 -1
  202. package/esm/dist/src/filters/InMemoryFilter.js +57 -14
  203. package/esm/dist/src/filters/InMemoryFilter.js.map +1 -1
  204. package/esm/dist/src/filters/inMemoryFilterDefinitions.d.ts +2 -0
  205. package/esm/dist/src/filters/inMemoryFilterDefinitions.d.ts.map +1 -1
  206. package/esm/dist/src/filters/inMemoryFilterDefinitions.js +19 -1
  207. package/esm/dist/src/filters/inMemoryFilterDefinitions.js.map +1 -1
  208. package/esm/dist/src/helpers/EventPermissionChecker.js +1 -1
  209. package/esm/dist/src/helpers/EventPermissionChecker.js.map +1 -1
  210. package/esm/dist/src/members/ObjectWithRecords.d.ts +1 -0
  211. package/esm/dist/src/members/ObjectWithRecords.d.ts.map +1 -1
  212. package/esm/dist/src/members/PlatformMember.d.ts +2 -1
  213. package/esm/dist/src/members/PlatformMember.d.ts.map +1 -1
  214. package/esm/dist/src/members/PlatformMember.js +7 -0
  215. package/esm/dist/src/members/PlatformMember.js.map +1 -1
  216. package/esm/dist/src/members/Registration.d.ts +2 -1
  217. package/esm/dist/src/members/Registration.d.ts.map +1 -1
  218. package/esm/dist/src/members/Registration.js +5 -0
  219. package/esm/dist/src/members/Registration.js.map +1 -1
  220. package/esm/dist/src/members/checkout/RegisterCart.d.ts.map +1 -1
  221. package/esm/dist/src/members/checkout/RegisterCart.js +8 -0
  222. package/esm/dist/src/members/checkout/RegisterCart.js.map +1 -1
  223. package/esm/dist/src/members/checkout/RegisterItem.d.ts +4 -1
  224. package/esm/dist/src/members/checkout/RegisterItem.d.ts.map +1 -1
  225. package/esm/dist/src/members/checkout/RegisterItem.js +17 -1
  226. package/esm/dist/src/members/checkout/RegisterItem.js.map +1 -1
  227. package/esm/dist/src/members/records/RecordAnswer.d.ts +18 -0
  228. package/esm/dist/src/members/records/RecordAnswer.d.ts.map +1 -1
  229. package/esm/dist/src/members/records/RecordAnswer.js +34 -0
  230. package/esm/dist/src/members/records/RecordAnswer.js.map +1 -1
  231. package/esm/dist/src/members/records/RecordCategory.d.ts +12 -16
  232. package/esm/dist/src/members/records/RecordCategory.d.ts.map +1 -1
  233. package/esm/dist/src/members/records/RecordCategory.js +89 -40
  234. package/esm/dist/src/members/records/RecordCategory.js.map +1 -1
  235. package/esm/dist/src/members/records/RecordSettings.d.ts +22 -6
  236. package/esm/dist/src/members/records/RecordSettings.d.ts.map +1 -1
  237. package/esm/dist/src/members/records/RecordSettings.js +54 -14
  238. package/esm/dist/src/members/records/RecordSettings.js.map +1 -1
  239. package/esm/dist/src/webshops/Checkout.d.ts +2 -1
  240. package/esm/dist/src/webshops/Checkout.d.ts.map +1 -1
  241. package/esm/dist/src/webshops/Checkout.js +5 -0
  242. package/esm/dist/src/webshops/Checkout.js.map +1 -1
  243. package/package.json +2 -2
@@ -1,34 +1,5 @@
1
1
  import { AutoEncoder } from '@simonbackx/simple-encoding';
2
- import { NamedObject } from './Event.js';
3
- import { StamhoofdFilter } from './filters/StamhoofdFilter.js';
4
- import { ObjectWithRecords } from './members/ObjectWithRecords.js';
5
- import { RecordAnswer } from './members/records/RecordAnswer.js';
6
2
  import { RecordCategory } from './members/records/RecordCategory.js';
7
- import { RecordSettings } from './members/records/RecordSettings.js';
8
- export declare enum EventNotificationStatus {
9
- Draft = "Draft",
10
- Pending = "Pending",
11
- Accepted = "Accepted",
12
- Rejected = "Rejected"
13
- }
14
- export declare class EventNotification extends AutoEncoder implements ObjectWithRecords {
15
- id: string;
16
- status: EventNotificationStatus;
17
- recordAnswers: Map<string, RecordAnswer>;
18
- /**
19
- * User who submitted the notification
20
- */
21
- submittedBy: NamedObject | null;
22
- /**
23
- * User who created the notification
24
- */
25
- createdBy: NamedObject | null;
26
- createdAt: Date;
27
- updatedAt: Date;
28
- isRecordEnabled(record: RecordSettings): boolean;
29
- getRecordAnswers(): Map<string, RecordAnswer>;
30
- doesMatchFilter(filter: StamhoofdFilter): boolean;
31
- }
32
3
  export declare class EventNotificationDeadline extends AutoEncoder {
33
4
  id: string;
34
5
  /**
@@ -76,5 +47,9 @@ export declare class EventNotificationType extends AutoEncoder {
76
47
  * These are optional and can be an empty array.
77
48
  */
78
49
  recordCategories: RecordCategory[];
50
+ /**
51
+ * Who will receive email notifications apart from submitter and creator.
52
+ */
53
+ contactResponsibilityIds: string[];
79
54
  }
80
55
  //# sourceMappingURL=EventNotificationType.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EventNotificationType.d.ts","sourceRoot":"","sources":["../../../src/EventNotificationType.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAA8D,MAAM,6BAA6B,CAAC;AAEpI,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,YAAY,EAAuB,MAAM,mCAAmC,CAAC;AACtF,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAErE,oBAAY,uBAAuB;IAC/B,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,QAAQ,aAAa;CACxB;AAED,qBAAa,iBAAkB,SAAQ,WAAY,YAAW,iBAAiB;IAE3E,EAAE,EAAE,MAAM,CAAC;IAGX,MAAM,0BAAiC;IAGvC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAa;IAErD;;OAEG;IAEH,WAAW,EAAE,WAAW,GAAG,IAAI,CAAQ;IAEvC;;OAEG;IAEH,SAAS,EAAE,WAAW,GAAG,IAAI,CAAQ;IAGrC,SAAS,OAAc;IAGvB,SAAS,OAAc;IAEvB,eAAe,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO;IAIhD,gBAAgB,IAAI,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC;IAI7C,eAAe,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO;CAIpD;AAED,qBAAa,yBAA0B,SAAQ,WAAW;IAEtD,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IAEH,SAAS,EAAE,IAAI,CAAc;IAG7B,OAAO,EAAE,IAAI,CAAc;IAG3B,QAAQ,EAAE,IAAI,CAAc;IAE5B;;;OAGG;IAEH,YAAY,EAAE,MAAM,GAAG,IAAI,CAAQ;IAEnC;;OAEG;IAEH,YAAY,EAAE,IAAI,GAAG,IAAI,CAAQ;CACpC;AAED,qBAAa,qBAAsB,SAAQ,WAAW;IAElD,EAAE,EAAE,MAAM,CAAC;IAGX,YAAY,EAAE,MAAM,EAAE,CAAM;IAE5B;;OAEG;IAEH,KAAK,EAAE,MAAM,CAAM;IAEnB;;OAEG;IAEH,WAAW,EAAE,MAAM,CAAM;IAEzB;;OAEG;IAEH,WAAW,EAAE,MAAM,CAAM;IAEzB;;OAEG;IAEH,iBAAiB,EAAE,MAAM,CAAM;IAE/B;;OAEG;IAEH,SAAS,EAAE,yBAAyB,EAAE,CAAM;IAE5C;;;;OAIG;IAEH,gBAAgB,EAAE,cAAc,EAAE,CAAM;CAC3C"}
1
+ {"version":3,"file":"EventNotificationType.d.ts","sourceRoot":"","sources":["../../../src/EventNotificationType.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAqC,MAAM,6BAA6B,CAAC;AAE3G,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAErE,qBAAa,yBAA0B,SAAQ,WAAW;IAEtD,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IAEH,SAAS,EAAE,IAAI,CAAc;IAG7B,OAAO,EAAE,IAAI,CAAc;IAG3B,QAAQ,EAAE,IAAI,CAAc;IAE5B;;;OAGG;IAEH,YAAY,EAAE,MAAM,GAAG,IAAI,CAAQ;IAEnC;;OAEG;IAEH,YAAY,EAAE,IAAI,GAAG,IAAI,CAAQ;CACpC;AAED,qBAAa,qBAAsB,SAAQ,WAAW;IAElD,EAAE,EAAE,MAAM,CAAC;IAGX,YAAY,EAAE,MAAM,EAAE,CAAM;IAE5B;;OAEG;IAEH,KAAK,EAAE,MAAM,CAAM;IAEnB;;OAEG;IAEH,WAAW,EAAE,MAAM,CAAM;IAEzB;;OAEG;IAEH,WAAW,EAAE,MAAM,CAAM;IAEzB;;OAEG;IAEH,iBAAiB,EAAE,MAAM,CAAM;IAE/B;;OAEG;IAEH,SAAS,EAAE,yBAAyB,EAAE,CAAM;IAE5C;;;;OAIG;IAEH,gBAAgB,EAAE,cAAc,EAAE,CAAM;IAExC;;OAEG;IAEH,wBAAwB,EAAE,MAAM,EAAE,CAAM;CAC3C"}
@@ -1,64 +1,7 @@
1
1
  import { __decorate } from "tslib";
2
- import { ArrayDecoder, AutoEncoder, DateDecoder, EnumDecoder, field, MapDecoder, StringDecoder } from '@simonbackx/simple-encoding';
2
+ import { ArrayDecoder, AutoEncoder, DateDecoder, field, StringDecoder } from '@simonbackx/simple-encoding';
3
3
  import { v4 as uuidv4 } from 'uuid';
4
- import { NamedObject } from './Event.js';
5
- import { RecordAnswerDecoder } from './members/records/RecordAnswer.js';
6
4
  import { RecordCategory } from './members/records/RecordCategory.js';
7
- export var EventNotificationStatus;
8
- (function (EventNotificationStatus) {
9
- EventNotificationStatus["Draft"] = "Draft";
10
- EventNotificationStatus["Pending"] = "Pending";
11
- EventNotificationStatus["Accepted"] = "Accepted";
12
- EventNotificationStatus["Rejected"] = "Rejected";
13
- })(EventNotificationStatus || (EventNotificationStatus = {}));
14
- export class EventNotification extends AutoEncoder {
15
- constructor() {
16
- super(...arguments);
17
- this.status = EventNotificationStatus.Draft;
18
- this.recordAnswers = new Map();
19
- /**
20
- * User who submitted the notification
21
- */
22
- this.submittedBy = null;
23
- /**
24
- * User who created the notification
25
- */
26
- this.createdBy = null;
27
- this.createdAt = new Date();
28
- this.updatedAt = new Date();
29
- }
30
- isRecordEnabled(record) {
31
- return true;
32
- }
33
- getRecordAnswers() {
34
- return this.recordAnswers;
35
- }
36
- doesMatchFilter(filter) {
37
- // todo
38
- return true;
39
- }
40
- }
41
- __decorate([
42
- field({ decoder: StringDecoder, optional: true, defaultValue: () => uuidv4() })
43
- ], EventNotification.prototype, "id", void 0);
44
- __decorate([
45
- field({ decoder: new EnumDecoder(EventNotificationStatus) })
46
- ], EventNotification.prototype, "status", void 0);
47
- __decorate([
48
- field({ decoder: new MapDecoder(StringDecoder, RecordAnswerDecoder) })
49
- ], EventNotification.prototype, "recordAnswers", void 0);
50
- __decorate([
51
- field({ decoder: NamedObject, nullable: true })
52
- ], EventNotification.prototype, "submittedBy", void 0);
53
- __decorate([
54
- field({ decoder: NamedObject, nullable: true })
55
- ], EventNotification.prototype, "createdBy", void 0);
56
- __decorate([
57
- field({ decoder: DateDecoder })
58
- ], EventNotification.prototype, "createdAt", void 0);
59
- __decorate([
60
- field({ decoder: DateDecoder })
61
- ], EventNotification.prototype, "updatedAt", void 0);
62
5
  export class EventNotificationDeadline extends AutoEncoder {
63
6
  constructor() {
64
7
  super(...arguments);
@@ -127,6 +70,10 @@ export class EventNotificationType extends AutoEncoder {
127
70
  * These are optional and can be an empty array.
128
71
  */
129
72
  this.recordCategories = [];
73
+ /**
74
+ * Who will receive email notifications apart from submitter and creator.
75
+ */
76
+ this.contactResponsibilityIds = [];
130
77
  }
131
78
  }
132
79
  __decorate([
@@ -153,4 +100,7 @@ __decorate([
153
100
  __decorate([
154
101
  field({ decoder: new ArrayDecoder(RecordCategory) })
155
102
  ], EventNotificationType.prototype, "recordCategories", void 0);
103
+ __decorate([
104
+ field({ decoder: new ArrayDecoder(StringDecoder), version: 365 })
105
+ ], EventNotificationType.prototype, "contactResponsibilityIds", void 0);
156
106
  //# sourceMappingURL=EventNotificationType.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EventNotificationType.js","sourceRoot":"","sources":["../../../src/EventNotificationType.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EventNotificationType.js","sourceRoot":"","sources":["../../../src/EventNotificationType.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC3G,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAErE,MAAM,OAAO,yBAA0B,SAAQ,WAAW;IAA1D;;QAII;;WAEG;QAEH,cAAS,GAAS,IAAI,IAAI,EAAE,CAAC;QAG7B,YAAO,GAAS,IAAI,IAAI,EAAE,CAAC;QAG3B,aAAQ,GAAS,IAAI,IAAI,EAAE,CAAC;QAE5B;;;WAGG;QAEH,iBAAY,GAAkB,IAAI,CAAC;QAEnC;;WAEG;QAEH,iBAAY,GAAgB,IAAI,CAAC;IACrC,CAAC;CAAA;AA1BG;IADC,KAAK,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC;qDACrE;AAMX;IADC,KAAK,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;4DACH;AAG7B;IADC,KAAK,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;0DACL;AAG3B;IADC,KAAK,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;2DACJ;AAO5B;IADC,KAAK,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;+DACf;AAMnC;IADC,KAAK,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;+DACf;AAGrC,MAAM,OAAO,qBAAsB,SAAQ,WAAW;IAAtD;;QAKI,iBAAY,GAAa,EAAE,CAAC;QAE5B;;WAEG;QAEH,UAAK,GAAW,EAAE,CAAC;QAEnB;;WAEG;QAEH,gBAAW,GAAW,EAAE,CAAC;QAEzB;;WAEG;QAEH,gBAAW,GAAW,EAAE,CAAC;QAEzB;;WAEG;QAEH,sBAAiB,GAAW,EAAE,CAAC;QAE/B;;WAEG;QAEH,cAAS,GAAgC,EAAE,CAAC;QAE5C;;;;WAIG;QAEH,qBAAgB,GAAqB,EAAE,CAAC;QAExC;;WAEG;QAEH,6BAAwB,GAAa,EAAE,CAAC;IAC5C,CAAC;CAAA;AAhDG;IADC,KAAK,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC;iDACrE;AAGX;IADC,KAAK,CAAC,EAAE,OAAO,EAAE,IAAI,YAAY,CAAC,aAAa,CAAC,EAAE,CAAC;2DACxB;AAM5B;IADC,KAAK,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;oDACf;AAMnB;IADC,KAAK,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;0DACT;AAMzB;IADC,KAAK,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;0DACT;AAMzB;IADC,KAAK,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;gEACH;AAM/B;IADC,KAAK,CAAC,EAAE,OAAO,EAAE,IAAI,YAAY,CAAC,yBAAyB,CAAC,EAAE,CAAC;wDACpB;AAQ5C;IADC,KAAK,CAAC,EAAE,OAAO,EAAE,IAAI,YAAY,CAAC,cAAc,CAAC,EAAE,CAAC;+DACb;AAMxC;IADC,KAAK,CAAC,EAAE,OAAO,EAAE,IAAI,YAAY,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;uEAC1B"}
@@ -1,7 +1,8 @@
1
1
  import { AccessRight } from './AccessRight.js';
2
2
  import { MemberResponsibility } from './MemberResponsibility.js';
3
+ import { MemberResponsibilityRecordBase } from './members/MemberResponsibilityRecord.js';
3
4
  import { PermissionLevel } from './PermissionLevel.js';
4
- import { PermissionRole, PermissionRoleDetailed, PermissionRoleForResponsibility } from './PermissionRole.js';
5
+ import { PermissionRoleDetailed, PermissionRoleForResponsibility } from './PermissionRole.js';
5
6
  import { Permissions } from './Permissions.js';
6
7
  import { PermissionsResourceType } from './PermissionsResourceType.js';
7
8
  import { ResourcePermissions } from './ResourcePermissions.js';
@@ -10,15 +11,21 @@ import { ResourcePermissions } from './ResourcePermissions.js';
10
11
  */
11
12
  export declare class LoadedPermissions {
12
13
  level: PermissionLevel;
13
- roles: PermissionRoleDetailed[];
14
- resources: Map<PermissionsResourceType, Map<string, ResourcePermissions>>;
15
- constructor(data: Partial<LoadedPermissions>);
14
+ resources: Map<PermissionsResourceType, Map<string, LoadedPermissions>>;
15
+ accessRights: AccessRight[];
16
+ private constructor();
16
17
  static create(data: Partial<LoadedPermissions>): LoadedPermissions;
17
- static buildRoleForResponsibility(groupId: string | null, responsibilityData: MemberResponsibility, inheritedResponsibilityRoles: PermissionRoleForResponsibility[]): PermissionRoleForResponsibility;
18
+ static fromResource(permissions: ResourcePermissions): LoadedPermissions;
19
+ clone(): LoadedPermissions;
20
+ static fromRole(role: PermissionRoleDetailed): LoadedPermissions;
21
+ static fromResponsibilityRecord(responsibilityRecord: MemberResponsibilityRecordBase, inheritedResponsibilityRoles: PermissionRoleForResponsibility[], allResponsibilites: MemberResponsibility[]): LoadedPermissions;
22
+ /**
23
+ * old name: buildRoleForResponsibility
24
+ */
25
+ static fromResponsibility(responsibility: MemberResponsibility, groupId: string | null, inheritedResponsibilityRoles: PermissionRoleForResponsibility[]): LoadedPermissions;
18
26
  static from(permissions: Permissions, allRoles: PermissionRoleDetailed[], inheritedResponsibilityRoles: PermissionRoleForResponsibility[], allResponsibilites: MemberResponsibility[]): LoadedPermissions;
19
- getResourcePermissions(type: PermissionsResourceType, id: string): ResourcePermissions | null;
20
- getMergedResourcePermissions(type: PermissionsResourceType, id: string): ResourcePermissions | null;
21
- hasRole(role: PermissionRole): boolean;
27
+ getResourcePermissions(type: PermissionsResourceType, id: string): LoadedPermissions | null;
28
+ getMergedResourcePermissions(type: PermissionsResourceType, id: string): LoadedPermissions;
22
29
  hasAccess(level: PermissionLevel): boolean;
23
30
  hasResourceAccess(type: PermissionsResourceType, id: string, level: PermissionLevel): boolean;
24
31
  hasResourceAccessRight(type: PermissionsResourceType, id: string, right: AccessRight): boolean;
@@ -28,8 +35,10 @@ export declare class LoadedPermissions {
28
35
  hasWriteAccess(): boolean;
29
36
  hasFullAccess(): boolean;
30
37
  hasAccessRight(right: AccessRight): boolean;
38
+ add(other: LoadedPermissions): void;
31
39
  merge(other: LoadedPermissions): LoadedPermissions;
32
40
  removeAccessRights(rights: AccessRight[]): void;
33
41
  get isEmpty(): boolean;
42
+ getDescription(): string;
34
43
  }
35
44
  //# sourceMappingURL=LoadedPermissions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LoadedPermissions.d.ts","sourceRoot":"","sources":["../../../src/LoadedPermissions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAqB,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,eAAe,EAA4B,MAAM,sBAAsB,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,+BAA+B,EAAE,MAAM,qBAAqB,CAAC;AAC9G,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D;;GAEG;AACH,qBAAa,iBAAiB;IAC1B,KAAK,EAAE,eAAe,CAAwB;IAC9C,KAAK,EAAE,sBAAsB,EAAE,CAAM;IACrC,SAAS,EAAE,GAAG,CAAC,uBAAuB,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAa;gBAE1E,IAAI,EAAE,OAAO,CAAC,iBAAiB,CAAC;IAI5C,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,iBAAiB,CAAC;IAI9C,MAAM,CAAC,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,4BAA4B,EAAE,+BAA+B,EAAE;IA6BnK,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,sBAAsB,EAAE,EAAE,4BAA4B,EAAE,+BAA+B,EAAE,EAAE,kBAAkB,EAAE,oBAAoB,EAAE;IAoCrL,sBAAsB,CAAC,IAAI,EAAE,uBAAuB,EAAE,EAAE,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI;IAqB7F,4BAA4B,CAAC,IAAI,EAAE,uBAAuB,EAAE,EAAE,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI;IAyBnG,OAAO,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO;IAItC,SAAS,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO;IAe1C,iBAAiB,CAAC,IAAI,EAAE,uBAAuB,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,GAAG,OAAO;IAkB7F,sBAAsB,CAAC,IAAI,EAAE,uBAAuB,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO;IAwB9F,mCAAmC,CAAC,IAAI,EAAE,uBAAuB,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO;IAI/F,6BAA6B,CAAC,IAAI,EAAE,uBAAuB,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO;IAuBzF,aAAa,IAAI,OAAO;IAIxB,cAAc,IAAI,OAAO;IAIzB,aAAa,IAAI,OAAO;IAIxB,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO;IAqB3C,KAAK,CAAC,KAAK,EAAE,iBAAiB,GAAG,iBAAiB;IAmClD,kBAAkB,CAAC,MAAM,EAAE,WAAW,EAAE;IAWxC,IAAI,OAAO,YAEV;CACJ"}
1
+ {"version":3,"file":"LoadedPermissions.d.ts","sourceRoot":"","sources":["../../../src/LoadedPermissions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAqB,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AACzF,OAAO,EAAE,eAAe,EAA4B,MAAM,sBAAsB,CAAC;AACjF,OAAO,EAAE,sBAAsB,EAAE,+BAA+B,EAAE,MAAM,qBAAqB,CAAC;AAC9F,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAiC,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACtG,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D;;GAEG;AACH,qBAAa,iBAAiB;IAC1B,KAAK,EAAE,eAAe,CAAwB;IAC9C,SAAS,EAAE,GAAG,CAAC,uBAAuB,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAa;IACpF,YAAY,EAAE,WAAW,EAAE,CAAM;IAEjC,OAAO;IAIP,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,iBAAiB,CAAC;IAI9C,MAAM,CAAC,YAAY,CAAC,WAAW,EAAE,mBAAmB;IAQpD,KAAK;IAmBL,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,sBAAsB;IAmB5C,MAAM,CAAC,wBAAwB,CAAC,oBAAoB,EAAE,8BAA8B,EAAE,4BAA4B,EAAE,+BAA+B,EAAE,EAAE,kBAAkB,EAAE,oBAAoB,EAAE;IAQjM;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,cAAc,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,EAAE,4BAA4B,EAAE,+BAA+B,EAAE;IAoBvJ,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,sBAAsB,EAAE,EAAE,4BAA4B,EAAE,+BAA+B,EAAE,EAAE,kBAAkB,EAAE,oBAAoB,EAAE;IA6CrL,sBAAsB,CAAC,IAAI,EAAE,uBAAuB,EAAE,EAAE,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI;IAqB3F,4BAA4B,CAAC,IAAI,EAAE,uBAAuB,EAAE,EAAE,EAAE,MAAM,GAAG,iBAAiB;IAc1F,SAAS,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO;IAS1C,iBAAiB,CAAC,IAAI,EAAE,uBAAuB,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,GAAG,OAAO;IAY7F,sBAAsB,CAAC,IAAI,EAAE,uBAAuB,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO;IAkB9F,mCAAmC,CAAC,IAAI,EAAE,uBAAuB,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO;IAI/F,6BAA6B,CAAC,IAAI,EAAE,uBAAuB,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO;IAiBzF,aAAa,IAAI,OAAO;IAIxB,cAAc,IAAI,OAAO;IAIzB,aAAa,IAAI,OAAO;IAIxB,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO;IAgB3C,GAAG,CAAC,KAAK,EAAE,iBAAiB;IA4B5B,KAAK,CAAC,KAAK,EAAE,iBAAiB,GAAG,iBAAiB;IAMlD,kBAAkB,CAAC,MAAM,EAAE,WAAW,EAAE;IAUxC,IAAI,OAAO,YAaV;IAED,cAAc;CAyCjB"}
@@ -1,75 +1,119 @@
1
+ import { Formatter } from '@stamhoofd/utility';
1
2
  import { AccessRightHelper } from './AccessRight.js';
2
3
  import { PermissionLevel, getPermissionLevelNumber } from './PermissionLevel.js';
3
- import { PermissionRoleForResponsibility } from './PermissionRole.js';
4
- import { PermissionsResourceType } from './PermissionsResourceType.js';
5
- import { ResourcePermissions } from './ResourcePermissions.js';
4
+ import { getPermissionResourceTypeName, PermissionsResourceType } from './PermissionsResourceType.js';
6
5
  /**
7
6
  * Identical to Permissions but with detailed roles, loaded from the organization or platform
8
7
  */
9
8
  export class LoadedPermissions {
10
9
  constructor(data) {
11
10
  this.level = PermissionLevel.None;
12
- this.roles = [];
13
11
  this.resources = new Map();
12
+ this.accessRights = [];
14
13
  Object.assign(this, data);
15
14
  }
16
15
  static create(data) {
17
16
  return new LoadedPermissions(data);
18
17
  }
19
- static buildRoleForResponsibility(groupId, responsibilityData, inheritedResponsibilityRoles) {
20
- var _a, _b;
21
- const role = inheritedResponsibilityRoles.find(r => r.responsibilityId === responsibilityData.id && r.responsibilityGroupId === groupId);
22
- const r = (_b = (_a = responsibilityData.permissions) === null || _a === void 0 ? void 0 : _a.clone()) !== null && _b !== void 0 ? _b : PermissionRoleForResponsibility.create({
23
- id: responsibilityData.id,
24
- name: responsibilityData.name,
25
- level: PermissionLevel.None,
26
- responsibilityId: responsibilityData.id,
27
- responsibilityGroupId: groupId,
18
+ static fromResource(permissions) {
19
+ return LoadedPermissions.create({
20
+ level: permissions.level,
21
+ resources: new Map(),
22
+ accessRights: permissions.accessRights,
23
+ });
24
+ }
25
+ clone() {
26
+ const permissions = LoadedPermissions.create({
27
+ level: this.level,
28
+ resources: new Map(),
29
+ accessRights: this.accessRights,
30
+ });
31
+ for (const [type, r] of this.resources) {
32
+ if (!permissions.resources.has(type)) {
33
+ permissions.resources.set(type, new Map());
34
+ }
35
+ for (const [id, resource] of r) {
36
+ permissions.resources.get(type).set(id, resource.clone());
37
+ }
38
+ }
39
+ return permissions;
40
+ }
41
+ static fromRole(role) {
42
+ const permissions = LoadedPermissions.create({
43
+ level: role.level,
28
44
  resources: new Map(),
45
+ accessRights: role.accessRights,
29
46
  });
30
- r.name = responsibilityData.name;
31
- r.id = responsibilityData.id + (groupId ? '-' + groupId : '');
32
- r.responsibilityId = responsibilityData.id;
33
- r.responsibilityGroupId = groupId;
34
- if (groupId && responsibilityData.groupPermissionLevel !== PermissionLevel.None) {
47
+ for (const [type, r] of role.resources) {
48
+ if (!permissions.resources.has(type)) {
49
+ permissions.resources.set(type, new Map());
50
+ }
51
+ for (const [id, resource] of r) {
52
+ permissions.resources.get(type).set(id, LoadedPermissions.fromResource(resource));
53
+ }
54
+ }
55
+ return permissions;
56
+ }
57
+ static fromResponsibilityRecord(responsibilityRecord, inheritedResponsibilityRoles, allResponsibilites) {
58
+ const responsibility = allResponsibilites.find(r => r.id === responsibilityRecord.responsibilityId);
59
+ if (!responsibility) {
60
+ return LoadedPermissions.create({});
61
+ }
62
+ return this.fromResponsibility(responsibility, responsibilityRecord.groupId, inheritedResponsibilityRoles);
63
+ }
64
+ /**
65
+ * old name: buildRoleForResponsibility
66
+ */
67
+ static fromResponsibility(responsibility, groupId, inheritedResponsibilityRoles) {
68
+ const permissions = responsibility.permissions
69
+ ? this.fromRole(responsibility.permissions)
70
+ : LoadedPermissions.create({});
71
+ if (groupId && responsibility.groupPermissionLevel !== PermissionLevel.None) {
35
72
  const map = new Map();
36
- map.set(groupId, ResourcePermissions.create({ level: responsibilityData.groupPermissionLevel }));
37
- r.resources.set(PermissionsResourceType.Groups, map);
73
+ map.set(groupId, LoadedPermissions.create({ level: responsibility.groupPermissionLevel }));
74
+ permissions.resources.set(PermissionsResourceType.Groups, map);
38
75
  }
76
+ const role = inheritedResponsibilityRoles.find(r => r.responsibilityId === responsibility.id && r.responsibilityGroupId === groupId);
39
77
  if (role) {
40
- r.id = role.id;
41
- r.add(role);
78
+ permissions.add(LoadedPermissions.fromRole(role));
42
79
  }
43
- return r;
80
+ return permissions;
44
81
  }
45
82
  static from(permissions, allRoles, inheritedResponsibilityRoles, allResponsibilites) {
46
- const roles = permissions.roles.flatMap((role) => {
47
- const d = allRoles.find(a => a.id === role.id);
48
- if (d) {
49
- return [d];
50
- }
51
- return [];
83
+ const loaded = LoadedPermissions.create({
84
+ level: permissions.level,
85
+ accessRights: [],
86
+ resources: new Map(),
52
87
  });
53
- for (const responsibility of permissions.responsibilities) {
54
- if (responsibility.endDate !== null && responsibility.endDate < new Date()) {
88
+ for (const [type, r] of permissions.resources) {
89
+ if (!loaded.resources.has(type)) {
90
+ loaded.resources.set(type, new Map());
91
+ }
92
+ for (const [id, resource] of r) {
93
+ loaded.resources.get(type).set(id, LoadedPermissions.fromResource(resource));
94
+ }
95
+ }
96
+ for (const roleRecord of permissions.roles) {
97
+ const role = allRoles.find(a => a.id === roleRecord.id);
98
+ if (role) {
99
+ loaded.add(LoadedPermissions.fromRole(role));
100
+ }
101
+ }
102
+ for (const responsibilityRecord of permissions.responsibilities) {
103
+ if (responsibilityRecord.endDate !== null && responsibilityRecord.endDate < new Date()) {
55
104
  continue;
56
105
  }
57
- if (responsibility.startDate > new Date()) {
106
+ if (responsibilityRecord.startDate > new Date()) {
58
107
  continue;
59
108
  }
60
- const responsibilityData = allResponsibilites.find(r => r.id === responsibility.responsibilityId);
61
- if (!responsibilityData) {
109
+ const responsibility = allResponsibilites.find(r => r.id === responsibilityRecord.responsibilityId);
110
+ if (!responsibility) {
62
111
  continue;
63
112
  }
64
- const r = this.buildRoleForResponsibility(responsibility.groupId, responsibilityData, inheritedResponsibilityRoles);
65
- roles.push(r);
113
+ const r = this.fromResponsibility(responsibility, responsibilityRecord.groupId, inheritedResponsibilityRoles);
114
+ loaded.add(r);
66
115
  }
67
- const result = this.create({
68
- level: permissions.level,
69
- roles,
70
- resources: permissions.resources,
71
- });
72
- return result;
116
+ return loaded;
73
117
  }
74
118
  getResourcePermissions(type, id) {
75
119
  const resource = this.resources.get(type);
@@ -90,40 +134,20 @@ export class LoadedPermissions {
90
134
  return rInstance;
91
135
  }
92
136
  getMergedResourcePermissions(type, id) {
93
- var _a;
94
- let base = this.getResourcePermissions(type, id);
95
- for (const role of this.roles) {
96
- const r = role.getMergedResourcePermissions(type, id);
97
- if (r) {
98
- if (base) {
99
- base.merge(r);
100
- }
101
- else {
102
- base = r;
103
- }
104
- }
137
+ const clone = this.clone();
138
+ // Remove this type from resources
139
+ clone.resources.delete(type);
140
+ const r = this.getResourcePermissions(type, id);
141
+ if (r) {
142
+ clone.add(r);
105
143
  }
106
- if (getPermissionLevelNumber(this.level) > getPermissionLevelNumber((_a = base === null || base === void 0 ? void 0 : base.level) !== null && _a !== void 0 ? _a : PermissionLevel.None)) {
107
- if (!base) {
108
- base = ResourcePermissions.create({ level: this.level });
109
- }
110
- base.level = this.level;
111
- }
112
- return base;
113
- }
114
- hasRole(role) {
115
- return this.roles.find(r => r.id === role.id) !== undefined;
144
+ return clone;
116
145
  }
117
146
  hasAccess(level) {
118
147
  if (getPermissionLevelNumber(this.level) >= getPermissionLevelNumber(level)) {
119
148
  // Someone with read / write access for the whole organization, also the same access for each group
120
149
  return true;
121
150
  }
122
- for (const f of this.roles) {
123
- if (f.hasAccess(level)) {
124
- return true;
125
- }
126
- }
127
151
  return false;
128
152
  }
129
153
  hasResourceAccess(type, id, level) {
@@ -134,11 +158,6 @@ export class LoadedPermissions {
134
158
  if ((_b = (_a = this.getResourcePermissions(type, id)) === null || _a === void 0 ? void 0 : _a.hasAccess(level)) !== null && _b !== void 0 ? _b : false) {
135
159
  return true;
136
160
  }
137
- for (const r of this.roles) {
138
- if (r.hasResourceAccess(type, id, level)) {
139
- return true;
140
- }
141
- }
142
161
  return false;
143
162
  }
144
163
  hasResourceAccessRight(type, id, right) {
@@ -149,11 +168,6 @@ export class LoadedPermissions {
149
168
  if ((_b = (_a = this.getResourcePermissions(type, id)) === null || _a === void 0 ? void 0 : _a.hasAccessRight(right)) !== null && _b !== void 0 ? _b : false) {
150
169
  return true;
151
170
  }
152
- for (const r of this.roles) {
153
- if (r.hasResourceAccessRight(type, id, right)) {
154
- return true;
155
- }
156
- }
157
171
  const autoInherit = AccessRightHelper.autoInheritFrom(right);
158
172
  for (const r of autoInherit) {
159
173
  if (this.hasResourceAccessRight(type, id, r)) {
@@ -177,11 +191,6 @@ export class LoadedPermissions {
177
191
  }
178
192
  }
179
193
  }
180
- for (const r of this.roles) {
181
- if (r.hasAccessRightForSomeResource(type, right)) {
182
- return true;
183
- }
184
- }
185
194
  return false;
186
195
  }
187
196
  hasReadAccess() {
@@ -195,14 +204,9 @@ export class LoadedPermissions {
195
204
  }
196
205
  hasAccessRight(right) {
197
206
  const gl = AccessRightHelper.autoGrantRightForLevel(right);
198
- if (gl && this.hasAccess(gl)) {
207
+ if ((gl && this.hasAccess(gl)) || this.accessRights.includes(right)) {
199
208
  return true;
200
209
  }
201
- for (const f of this.roles) {
202
- if (f.hasAccessRight(right)) {
203
- return true;
204
- }
205
- }
206
210
  const autoInherit = AccessRightHelper.autoInheritFrom(right);
207
211
  for (const r of autoInherit) {
208
212
  if (this.hasAccessRight(r)) {
@@ -211,40 +215,37 @@ export class LoadedPermissions {
211
215
  }
212
216
  return false;
213
217
  }
214
- merge(other) {
215
- const p = LoadedPermissions.create({});
216
- p.level = this.level;
217
- p.roles = this.roles.slice();
218
- p.resources = new Map(this.resources);
219
- if (getPermissionLevelNumber(other.level) > getPermissionLevelNumber(p.level)) {
220
- p.level = other.level;
218
+ add(other) {
219
+ if (getPermissionLevelNumber(other.level) > getPermissionLevelNumber(this.level)) {
220
+ this.level = other.level;
221
+ }
222
+ for (const right of other.accessRights) {
223
+ if (!this.accessRights.includes(right)) {
224
+ this.accessRights.push(right);
225
+ }
221
226
  }
222
227
  for (const [type, r] of other.resources) {
223
228
  for (const [id, resource] of r) {
224
- if (!p.resources.has(type)) {
225
- p.resources.set(type, new Map());
229
+ if (!this.resources.has(type)) {
230
+ this.resources.set(type, new Map());
226
231
  }
227
- const current = p.resources.get(type).get(id);
232
+ const current = this.resources.get(type).get(id);
228
233
  if (!current) {
229
- p.resources.get(type).set(id, resource);
234
+ this.resources.get(type).set(id, resource);
230
235
  }
231
236
  else {
232
- p.resources.get(type).set(id, current.merge(resource));
237
+ current.add(resource);
233
238
  }
234
239
  }
235
240
  }
236
- for (const role of other.roles) {
237
- const current = p.roles.find(r => r.id === role.id);
238
- if (!current) {
239
- p.roles.push(role);
240
- }
241
- }
242
- return p;
241
+ }
242
+ merge(other) {
243
+ const cloned = this.clone();
244
+ cloned.add(other);
245
+ return cloned;
243
246
  }
244
247
  removeAccessRights(rights) {
245
- for (const role of this.roles) {
246
- role.removeAccessRights(rights);
247
- }
248
+ this.accessRights = this.accessRights.filter(r => !rights.includes(r));
248
249
  for (const resource of this.resources.values()) {
249
250
  for (const r of resource.values()) {
250
251
  r.removeAccessRights(rights);
@@ -252,7 +253,51 @@ export class LoadedPermissions {
252
253
  }
253
254
  }
254
255
  get isEmpty() {
255
- return this.level === PermissionLevel.None && (this.roles.length === 0 || this.roles.every(r => r.isEmpty)) && this.resources.size === 0;
256
+ if (this.accessRights.length || this.level !== PermissionLevel.None) {
257
+ return false;
258
+ }
259
+ for (const resource of this.resources.values()) {
260
+ for (const r of resource.values()) {
261
+ if (!r.isEmpty) {
262
+ return false;
263
+ }
264
+ }
265
+ }
266
+ return true;
267
+ }
268
+ getDescription() {
269
+ const stack = [];
270
+ if (this.level === PermissionLevel.Read) {
271
+ stack.push('alles lezen');
272
+ }
273
+ if (this.level === PermissionLevel.Write) {
274
+ stack.push('alles bewerken');
275
+ }
276
+ if (this.level === PermissionLevel.Full) {
277
+ stack.push('volledige toegang');
278
+ }
279
+ for (const right of this.accessRights) {
280
+ stack.push(AccessRightHelper.getDescription(right));
281
+ }
282
+ for (const [type, resources] of this.resources) {
283
+ let count = 0;
284
+ if (resources.has('')) {
285
+ stack.push('alle ' + getPermissionResourceTypeName(type, true));
286
+ continue;
287
+ }
288
+ for (const resource of resources.values()) {
289
+ if (resource.hasAccess(PermissionLevel.Read) || resource.accessRights.length > 0) {
290
+ count += 1;
291
+ }
292
+ }
293
+ if (count > 0) {
294
+ stack.push(count + ' ' + getPermissionResourceTypeName(type, count > 1));
295
+ }
296
+ }
297
+ if (stack.length === 0) {
298
+ return 'geen rechten';
299
+ }
300
+ return Formatter.capitalizeFirstLetter(Formatter.joinLast(stack, ', ', ' en '));
256
301
  }
257
302
  }
258
303
  //# sourceMappingURL=LoadedPermissions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LoadedPermissions.js","sourceRoot":"","sources":["../../../src/LoadedPermissions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LoadedPermissions.js","sourceRoot":"","sources":["../../../src/LoadedPermissions.ts"],"names":[],"mappings":"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"}