@stamhoofd/structures 2.57.1 → 2.59.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (223) hide show
  1. package/dist/index.d.ts +3 -1
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +4 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/src/AuditLog.d.ts +65 -8
  6. package/dist/src/AuditLog.d.ts.map +1 -1
  7. package/dist/src/AuditLog.js +456 -100
  8. package/dist/src/AuditLog.js.map +1 -1
  9. package/dist/src/AuditLogRenderer.d.ts.map +1 -1
  10. package/dist/src/AuditLogRenderer.js +17 -13
  11. package/dist/src/AuditLogRenderer.js.map +1 -1
  12. package/dist/src/Group.d.ts +2 -0
  13. package/dist/src/Group.d.ts.map +1 -1
  14. package/dist/src/Group.js +15 -1
  15. package/dist/src/Group.js.map +1 -1
  16. package/dist/src/GroupCategory.d.ts +1 -0
  17. package/dist/src/GroupCategory.d.ts.map +1 -1
  18. package/dist/src/GroupCategory.js +3 -0
  19. package/dist/src/GroupCategory.js.map +1 -1
  20. package/dist/src/GroupSettings.d.ts +1 -0
  21. package/dist/src/GroupSettings.d.ts.map +1 -1
  22. package/dist/src/GroupSettings.js +4 -0
  23. package/dist/src/GroupSettings.js.map +1 -1
  24. package/dist/src/OrganizationEmail.d.ts +1 -0
  25. package/dist/src/OrganizationEmail.d.ts.map +1 -1
  26. package/dist/src/OrganizationEmail.js +6 -0
  27. package/dist/src/OrganizationEmail.js.map +1 -1
  28. package/dist/src/PaymentConfiguration.d.ts +2 -0
  29. package/dist/src/PaymentConfiguration.d.ts.map +1 -1
  30. package/dist/src/PaymentConfiguration.js +17 -0
  31. package/dist/src/PaymentConfiguration.js.map +1 -1
  32. package/dist/src/PaymentMethod.d.ts +1 -0
  33. package/dist/src/PaymentMethod.d.ts.map +1 -1
  34. package/dist/src/PaymentMethod.js +14 -0
  35. package/dist/src/PaymentMethod.js.map +1 -1
  36. package/dist/src/PermissionRole.d.ts +1 -0
  37. package/dist/src/PermissionRole.d.ts.map +1 -1
  38. package/dist/src/PermissionRole.js +3 -0
  39. package/dist/src/PermissionRole.js.map +1 -1
  40. package/dist/src/RegistrationPeriod.d.ts +2 -0
  41. package/dist/src/RegistrationPeriod.d.ts.map +1 -1
  42. package/dist/src/RegistrationPeriod.js +6 -0
  43. package/dist/src/RegistrationPeriod.js.map +1 -1
  44. package/dist/src/RegistrationPeriodBase.d.ts +1 -0
  45. package/dist/src/RegistrationPeriodBase.d.ts.map +1 -1
  46. package/dist/src/RegistrationPeriodBase.js +3 -0
  47. package/dist/src/RegistrationPeriodBase.js.map +1 -1
  48. package/dist/src/ResourcePermissions.d.ts +1 -0
  49. package/dist/src/ResourcePermissions.d.ts.map +1 -1
  50. package/dist/src/ResourcePermissions.js +3 -0
  51. package/dist/src/ResourcePermissions.js.map +1 -1
  52. package/dist/src/SetupStepReview.d.ts +8 -0
  53. package/dist/src/SetupStepReview.d.ts.map +1 -0
  54. package/dist/src/SetupStepReview.js +21 -0
  55. package/dist/src/SetupStepReview.js.map +1 -0
  56. package/dist/src/SetupStepType.d.ts +11 -0
  57. package/dist/src/SetupStepType.d.ts.map +1 -0
  58. package/dist/src/SetupStepType.js +33 -0
  59. package/dist/src/SetupStepType.js.map +1 -0
  60. package/dist/src/SetupSteps.d.ts +2 -14
  61. package/dist/src/SetupSteps.d.ts.map +1 -1
  62. package/dist/src/SetupSteps.js +8 -28
  63. package/dist/src/SetupSteps.js.map +1 -1
  64. package/dist/src/StripeAccount.d.ts +1 -1
  65. package/dist/src/StripeAccount.d.ts.map +1 -1
  66. package/dist/src/StripeAccount.js +1 -1
  67. package/dist/src/StripeAccount.js.map +1 -1
  68. package/dist/src/Version.d.ts +1 -1
  69. package/dist/src/Version.js +1 -1
  70. package/dist/src/addresses/Address.d.ts +1 -0
  71. package/dist/src/addresses/Address.d.ts.map +1 -1
  72. package/dist/src/addresses/Address.js +3 -0
  73. package/dist/src/addresses/Address.js.map +1 -1
  74. package/dist/src/data/audit-log-words.d.ts +159 -0
  75. package/dist/src/data/audit-log-words.d.ts.map +1 -0
  76. package/dist/src/data/audit-log-words.js +160 -0
  77. package/dist/src/data/audit-log-words.js.map +1 -0
  78. package/dist/src/filters/PropertyFilter.d.ts +1 -0
  79. package/dist/src/filters/PropertyFilter.d.ts.map +1 -1
  80. package/dist/src/filters/PropertyFilter.js +5 -1
  81. package/dist/src/filters/PropertyFilter.js.map +1 -1
  82. package/dist/src/filters/inMemoryFilterDefinitions.d.ts.map +1 -1
  83. package/dist/src/filters/inMemoryFilterDefinitions.js +1 -0
  84. package/dist/src/filters/inMemoryFilterDefinitions.js.map +1 -1
  85. package/dist/src/members/Gender.d.ts +1 -0
  86. package/dist/src/members/Gender.d.ts.map +1 -1
  87. package/dist/src/members/Gender.js +11 -0
  88. package/dist/src/members/Gender.js.map +1 -1
  89. package/dist/src/members/Parent.d.ts +1 -0
  90. package/dist/src/members/Parent.d.ts.map +1 -1
  91. package/dist/src/members/Parent.js +3 -0
  92. package/dist/src/members/Parent.js.map +1 -1
  93. package/dist/src/members/ParentType.d.ts +1 -0
  94. package/dist/src/members/ParentType.d.ts.map +1 -1
  95. package/dist/src/members/ParentType.js +4 -1
  96. package/dist/src/members/ParentType.js.map +1 -1
  97. package/dist/src/members/records/RecordAnswer.d.ts +2 -0
  98. package/dist/src/members/records/RecordAnswer.d.ts.map +1 -1
  99. package/dist/src/members/records/RecordAnswer.js +6 -0
  100. package/dist/src/members/records/RecordAnswer.js.map +1 -1
  101. package/dist/src/members/records/RecordSettings.d.ts +2 -0
  102. package/dist/src/members/records/RecordSettings.d.ts.map +1 -1
  103. package/dist/src/members/records/RecordSettings.js +50 -0
  104. package/dist/src/members/records/RecordSettings.js.map +1 -1
  105. package/dist/src/webshops/CartItem.d.ts +2 -0
  106. package/dist/src/webshops/CartItem.d.ts.map +1 -1
  107. package/dist/src/webshops/CartItem.js +6 -0
  108. package/dist/src/webshops/CartItem.js.map +1 -1
  109. package/dist/src/webshops/Checkout.d.ts.map +1 -1
  110. package/dist/src/webshops/Checkout.js +7 -0
  111. package/dist/src/webshops/Checkout.js.map +1 -1
  112. package/esm/dist/index.d.ts +3 -1
  113. package/esm/dist/index.d.ts.map +1 -1
  114. package/esm/dist/index.js +4 -1
  115. package/esm/dist/index.js.map +1 -1
  116. package/esm/dist/src/AuditLog.d.ts +65 -8
  117. package/esm/dist/src/AuditLog.d.ts.map +1 -1
  118. package/esm/dist/src/AuditLog.js +453 -99
  119. package/esm/dist/src/AuditLog.js.map +1 -1
  120. package/esm/dist/src/AuditLogRenderer.d.ts.map +1 -1
  121. package/esm/dist/src/AuditLogRenderer.js +17 -13
  122. package/esm/dist/src/AuditLogRenderer.js.map +1 -1
  123. package/esm/dist/src/Group.d.ts +2 -0
  124. package/esm/dist/src/Group.d.ts.map +1 -1
  125. package/esm/dist/src/Group.js +14 -1
  126. package/esm/dist/src/Group.js.map +1 -1
  127. package/esm/dist/src/GroupCategory.d.ts +1 -0
  128. package/esm/dist/src/GroupCategory.d.ts.map +1 -1
  129. package/esm/dist/src/GroupCategory.js +3 -0
  130. package/esm/dist/src/GroupCategory.js.map +1 -1
  131. package/esm/dist/src/GroupSettings.d.ts +1 -0
  132. package/esm/dist/src/GroupSettings.d.ts.map +1 -1
  133. package/esm/dist/src/GroupSettings.js +4 -0
  134. package/esm/dist/src/GroupSettings.js.map +1 -1
  135. package/esm/dist/src/OrganizationEmail.d.ts +1 -0
  136. package/esm/dist/src/OrganizationEmail.d.ts.map +1 -1
  137. package/esm/dist/src/OrganizationEmail.js +6 -0
  138. package/esm/dist/src/OrganizationEmail.js.map +1 -1
  139. package/esm/dist/src/PaymentConfiguration.d.ts +2 -0
  140. package/esm/dist/src/PaymentConfiguration.d.ts.map +1 -1
  141. package/esm/dist/src/PaymentConfiguration.js +17 -0
  142. package/esm/dist/src/PaymentConfiguration.js.map +1 -1
  143. package/esm/dist/src/PaymentMethod.d.ts +1 -0
  144. package/esm/dist/src/PaymentMethod.d.ts.map +1 -1
  145. package/esm/dist/src/PaymentMethod.js +14 -0
  146. package/esm/dist/src/PaymentMethod.js.map +1 -1
  147. package/esm/dist/src/PermissionRole.d.ts +1 -0
  148. package/esm/dist/src/PermissionRole.d.ts.map +1 -1
  149. package/esm/dist/src/PermissionRole.js +3 -0
  150. package/esm/dist/src/PermissionRole.js.map +1 -1
  151. package/esm/dist/src/RegistrationPeriod.d.ts +2 -0
  152. package/esm/dist/src/RegistrationPeriod.d.ts.map +1 -1
  153. package/esm/dist/src/RegistrationPeriod.js +6 -0
  154. package/esm/dist/src/RegistrationPeriod.js.map +1 -1
  155. package/esm/dist/src/RegistrationPeriodBase.d.ts +1 -0
  156. package/esm/dist/src/RegistrationPeriodBase.d.ts.map +1 -1
  157. package/esm/dist/src/RegistrationPeriodBase.js +3 -0
  158. package/esm/dist/src/RegistrationPeriodBase.js.map +1 -1
  159. package/esm/dist/src/ResourcePermissions.d.ts +1 -0
  160. package/esm/dist/src/ResourcePermissions.d.ts.map +1 -1
  161. package/esm/dist/src/ResourcePermissions.js +3 -0
  162. package/esm/dist/src/ResourcePermissions.js.map +1 -1
  163. package/esm/dist/src/SetupStepReview.d.ts +8 -0
  164. package/esm/dist/src/SetupStepReview.d.ts.map +1 -0
  165. package/esm/dist/src/SetupStepReview.js +17 -0
  166. package/esm/dist/src/SetupStepReview.js.map +1 -0
  167. package/esm/dist/src/SetupStepType.d.ts +11 -0
  168. package/esm/dist/src/SetupStepType.d.ts.map +1 -0
  169. package/esm/dist/src/SetupStepType.js +29 -0
  170. package/esm/dist/src/SetupStepType.js.map +1 -0
  171. package/esm/dist/src/SetupSteps.d.ts +2 -14
  172. package/esm/dist/src/SetupSteps.d.ts.map +1 -1
  173. package/esm/dist/src/SetupSteps.js +3 -22
  174. package/esm/dist/src/SetupSteps.js.map +1 -1
  175. package/esm/dist/src/StripeAccount.d.ts +1 -1
  176. package/esm/dist/src/StripeAccount.d.ts.map +1 -1
  177. package/esm/dist/src/StripeAccount.js +1 -1
  178. package/esm/dist/src/StripeAccount.js.map +1 -1
  179. package/esm/dist/src/Version.d.ts +1 -1
  180. package/esm/dist/src/Version.js +1 -1
  181. package/esm/dist/src/addresses/Address.d.ts +1 -0
  182. package/esm/dist/src/addresses/Address.d.ts.map +1 -1
  183. package/esm/dist/src/addresses/Address.js +3 -0
  184. package/esm/dist/src/addresses/Address.js.map +1 -1
  185. package/esm/dist/src/data/audit-log-words.d.ts +159 -0
  186. package/esm/dist/src/data/audit-log-words.d.ts.map +1 -0
  187. package/esm/dist/src/data/audit-log-words.js +158 -0
  188. package/esm/dist/src/data/audit-log-words.js.map +1 -0
  189. package/esm/dist/src/filters/PropertyFilter.d.ts +1 -0
  190. package/esm/dist/src/filters/PropertyFilter.d.ts.map +1 -1
  191. package/esm/dist/src/filters/PropertyFilter.js +5 -1
  192. package/esm/dist/src/filters/PropertyFilter.js.map +1 -1
  193. package/esm/dist/src/filters/inMemoryFilterDefinitions.d.ts.map +1 -1
  194. package/esm/dist/src/filters/inMemoryFilterDefinitions.js +1 -0
  195. package/esm/dist/src/filters/inMemoryFilterDefinitions.js.map +1 -1
  196. package/esm/dist/src/members/Gender.d.ts +1 -0
  197. package/esm/dist/src/members/Gender.d.ts.map +1 -1
  198. package/esm/dist/src/members/Gender.js +10 -0
  199. package/esm/dist/src/members/Gender.js.map +1 -1
  200. package/esm/dist/src/members/Parent.d.ts +1 -0
  201. package/esm/dist/src/members/Parent.d.ts.map +1 -1
  202. package/esm/dist/src/members/Parent.js +4 -1
  203. package/esm/dist/src/members/Parent.js.map +1 -1
  204. package/esm/dist/src/members/ParentType.d.ts +1 -0
  205. package/esm/dist/src/members/ParentType.d.ts.map +1 -1
  206. package/esm/dist/src/members/ParentType.js +4 -1
  207. package/esm/dist/src/members/ParentType.js.map +1 -1
  208. package/esm/dist/src/members/records/RecordAnswer.d.ts +2 -0
  209. package/esm/dist/src/members/records/RecordAnswer.d.ts.map +1 -1
  210. package/esm/dist/src/members/records/RecordAnswer.js +6 -0
  211. package/esm/dist/src/members/records/RecordAnswer.js.map +1 -1
  212. package/esm/dist/src/members/records/RecordSettings.d.ts +2 -0
  213. package/esm/dist/src/members/records/RecordSettings.d.ts.map +1 -1
  214. package/esm/dist/src/members/records/RecordSettings.js +49 -0
  215. package/esm/dist/src/members/records/RecordSettings.js.map +1 -1
  216. package/esm/dist/src/webshops/CartItem.d.ts +2 -0
  217. package/esm/dist/src/webshops/CartItem.d.ts.map +1 -1
  218. package/esm/dist/src/webshops/CartItem.js +6 -0
  219. package/esm/dist/src/webshops/CartItem.js.map +1 -1
  220. package/esm/dist/src/webshops/Checkout.d.ts.map +1 -1
  221. package/esm/dist/src/webshops/Checkout.js +7 -0
  222. package/esm/dist/src/webshops/Checkout.js.map +1 -1
  223. package/package.json +4 -4
@@ -2,34 +2,105 @@ import { __decorate } from "tslib";
2
2
  import { ArrayDecoder, AutoEncoder, DateDecoder, EnumDecoder, field, MapDecoder, NumberDecoder, StringDecoder } from '@simonbackx/simple-encoding';
3
3
  import { renderTemplate } from './AuditLogRenderer.js';
4
4
  import { NamedObject } from './Event.js';
5
+ import wordDictionary from './data/audit-log-words.js';
6
+ import { Platform } from './Platform.js';
7
+ import { PaymentMethodHelper } from './PaymentMethod.js';
8
+ import { ParentTypeHelper } from './members/ParentType.js';
9
+ import { OrderStatusHelper } from './webshops/Order.js';
10
+ import { DocumentStatusHelper } from './Document.js';
11
+ import { AccessRightHelper } from './AccessRight.js';
12
+ import { CheckoutMethodTypeHelper } from './webshops/WebshopMetaData.js';
13
+ import { CountryHelper } from './addresses/CountryDecoder.js';
14
+ import { OrganizationTypeHelper } from './OrganizationType.js';
15
+ import { PaymentStatusHelper } from './PaymentStatus.js';
16
+ import { UmbrellaOrganizationHelper } from './UmbrellaOrganization.js';
17
+ import { STPackageTypeHelper } from './billing/STPackage.js';
18
+ import { getGroupStatusName } from './Group.js';
19
+ import { getGenderName } from './members/Gender.js';
20
+ import { getSetupStepName } from './SetupStepType.js';
21
+ import { Formatter } from '@stamhoofd/utility';
22
+ export var AuditLogSource;
23
+ (function (AuditLogSource) {
24
+ AuditLogSource["User"] = "User";
25
+ AuditLogSource["System"] = "System";
26
+ /**
27
+ * Caused by a change in payment status
28
+ */
29
+ AuditLogSource["Payment"] = "Payment";
30
+ /**
31
+ * E.g. orders placed via a webshop.
32
+ */
33
+ AuditLogSource["Anonymous"] = "Anonymous";
34
+ })(AuditLogSource || (AuditLogSource = {}));
5
35
  export var AuditLogType;
6
36
  (function (AuditLogType) {
7
37
  /**
8
38
  * Used for legacy logs
9
39
  */
10
40
  AuditLogType["Unknown"] = "Unknown";
11
- AuditLogType["MemberEdited"] = "MemberEdited";
12
- AuditLogType["MemberAdded"] = "MemberAdded";
13
41
  AuditLogType["MemberRegistered"] = "MemberRegistered";
14
42
  AuditLogType["MemberUnregistered"] = "MemberUnregistered";
15
43
  AuditLogType["PlatformSettingsChanged"] = "PlatformSettingsChanged";
16
- AuditLogType["OrganizationSettingsChanged"] = "OrganizationSettingsChanged";
44
+ AuditLogType["OrganizationAdded"] = "OrganizationAdded";
45
+ AuditLogType["OrganizationDeleted"] = "OrganizationDeleted";
46
+ AuditLogType["OrganizationEdited"] = "OrganizationEdited";
17
47
  // Events
18
48
  AuditLogType["EventEdited"] = "EventEdited";
19
49
  AuditLogType["EventAdded"] = "EventAdded";
20
50
  AuditLogType["EventDeleted"] = "EventDeleted";
51
+ // Members
52
+ AuditLogType["MemberEdited"] = "MemberEdited";
53
+ AuditLogType["MemberAdded"] = "MemberAdded";
54
+ AuditLogType["MemberDeleted"] = "MemberDeleted";
21
55
  // Groups
22
56
  AuditLogType["GroupEdited"] = "GroupEdited";
23
57
  AuditLogType["GroupAdded"] = "GroupAdded";
24
58
  AuditLogType["GroupDeleted"] = "GroupDeleted";
59
+ // Webshops
60
+ AuditLogType["WebshopEdited"] = "WebshopEdited";
61
+ AuditLogType["WebshopAdded"] = "WebshopAdded";
62
+ AuditLogType["WebshopDeleted"] = "WebshopDeleted";
25
63
  // Waiting lists
26
64
  AuditLogType["WaitingListEdited"] = "WaitingListEdited";
27
65
  AuditLogType["WaitingListAdded"] = "WaitingListAdded";
28
66
  AuditLogType["WaitingListDeleted"] = "WaitingListDeleted";
67
+ // Periods
68
+ AuditLogType["RegistrationPeriodEdited"] = "RegistrationPeriodEdited";
69
+ AuditLogType["RegistrationPeriodAdded"] = "RegistrationPeriodAdded";
70
+ AuditLogType["RegistrationPeriodDeleted"] = "RegistrationPeriodDeleted";
71
+ // Stripe
72
+ AuditLogType["StripeAccountAdded"] = "StripeAccountAdded";
73
+ AuditLogType["StripeAccountDeleted"] = "StripeAccountDeleted";
74
+ AuditLogType["StripeAccountEdited"] = "StripeAccountEdited";
75
+ // Orders
76
+ AuditLogType["OrderAdded"] = "OrderAdded";
77
+ AuditLogType["OrderEdited"] = "OrderEdited";
78
+ AuditLogType["OrderDeleted"] = "OrderDeleted";
79
+ // Payment
80
+ AuditLogType["PaymentAdded"] = "PaymentAdded";
81
+ AuditLogType["PaymentEdited"] = "PaymentEdited";
82
+ AuditLogType["PaymentDeleted"] = "PaymentDeleted";
83
+ // Document templates
84
+ AuditLogType["DocumentTemplateAdded"] = "DocumentTemplateAdded";
85
+ AuditLogType["DocumentTemplateEdited"] = "DocumentTemplateEdited";
86
+ AuditLogType["DocumentTemplateDeleted"] = "DocumentTemplateDeleted";
87
+ // Users
88
+ AuditLogType["UserAdded"] = "UserAdded";
89
+ AuditLogType["UserEdited"] = "UserEdited";
90
+ AuditLogType["UserDeleted"] = "UserDeleted";
91
+ // MemberResponsibilityRecord
92
+ AuditLogType["MemberResponsibilityRecordAdded"] = "MemberResponsibilityRecordAdded";
93
+ AuditLogType["MemberResponsibilityRecordEdited"] = "MemberResponsibilityRecordEdited";
94
+ AuditLogType["MemberResponsibilityRecordDeleted"] = "MemberResponsibilityRecordDeleted";
95
+ // MemberPlatformMembership
96
+ AuditLogType["MemberPlatformMembershipAdded"] = "MemberPlatformMembershipAdded";
97
+ AuditLogType["MemberPlatformMembershipEdited"] = "MemberPlatformMembershipEdited";
98
+ AuditLogType["MemberPlatformMembershipDeleted"] = "MemberPlatformMembershipDeleted";
29
99
  })(AuditLogType || (AuditLogType = {}));
30
100
  export var AuditLogReplacementType;
31
101
  (function (AuditLogReplacementType) {
32
102
  AuditLogReplacementType["Member"] = "Member";
103
+ AuditLogReplacementType["User"] = "User";
33
104
  AuditLogReplacementType["Organization"] = "Organization";
34
105
  AuditLogReplacementType["Group"] = "Group";
35
106
  AuditLogReplacementType["Event"] = "Event";
@@ -37,6 +108,14 @@ export var AuditLogReplacementType;
37
108
  AuditLogReplacementType["Image"] = "Image";
38
109
  AuditLogReplacementType["Key"] = "Key";
39
110
  AuditLogReplacementType["Array"] = "Array";
111
+ AuditLogReplacementType["RegistrationPeriod"] = "RegistrationPeriod";
112
+ AuditLogReplacementType["Uuid"] = "Uuid";
113
+ AuditLogReplacementType["StripeAccount"] = "StripeAccount";
114
+ AuditLogReplacementType["Webshop"] = "Webshop";
115
+ AuditLogReplacementType["Order"] = "Order";
116
+ AuditLogReplacementType["Payment"] = "Payment";
117
+ AuditLogReplacementType["PlatformMembershipType"] = "PlatformMembershipType";
118
+ AuditLogReplacementType["MemberResponsibility"] = "MemberResponsibility";
40
119
  })(AuditLogReplacementType || (AuditLogReplacementType = {}));
41
120
  export function getAuditLogTypeName(type) {
42
121
  switch (type) {
@@ -44,6 +123,8 @@ export function getAuditLogTypeName(type) {
44
123
  return `Wijzigingen aan gegevens van leden`;
45
124
  case AuditLogType.MemberAdded:
46
125
  return `Nieuwe leden`;
126
+ case AuditLogType.MemberDeleted:
127
+ return `Verwijderde leden`;
47
128
  case AuditLogType.MemberRegistered:
48
129
  return `Inschrijvingen`;
49
130
  case AuditLogType.MemberUnregistered:
@@ -52,8 +133,12 @@ export function getAuditLogTypeName(type) {
52
133
  return `Onbekende actie`;
53
134
  case AuditLogType.PlatformSettingsChanged:
54
135
  return `Wijzigingen aan platforminstellingen`;
55
- case AuditLogType.OrganizationSettingsChanged:
136
+ case AuditLogType.OrganizationEdited:
56
137
  return `Wijzigingen aan instellingen van een groep`;
138
+ case AuditLogType.OrganizationAdded:
139
+ return `Nieuwe lokale groepen`;
140
+ case AuditLogType.OrganizationDeleted:
141
+ return `Verwijderde lokale groepen`;
57
142
  case AuditLogType.EventEdited:
58
143
  return `Wijzigingen aan activiteiten`;
59
144
  case AuditLogType.EventAdded:
@@ -72,6 +157,60 @@ export function getAuditLogTypeName(type) {
72
157
  return `Nieuwe wachtlijsten`;
73
158
  case AuditLogType.WaitingListDeleted:
74
159
  return `Verwijderde wachtlijsten`;
160
+ case AuditLogType.RegistrationPeriodEdited:
161
+ return `Wijzigingen aan werkjaren`;
162
+ case AuditLogType.RegistrationPeriodAdded:
163
+ return `Nieuwe werkjaren`;
164
+ case AuditLogType.RegistrationPeriodDeleted:
165
+ return `Verwijderde werkjaren`;
166
+ case AuditLogType.StripeAccountAdded:
167
+ return `Stripe account aangemaakt`;
168
+ case AuditLogType.StripeAccountDeleted:
169
+ return `Stripe account verwijderd`;
170
+ case AuditLogType.StripeAccountEdited:
171
+ return `Stripe account gewijzigd`;
172
+ case AuditLogType.WebshopEdited:
173
+ return `Wijzigingen aan webshops`;
174
+ case AuditLogType.WebshopAdded:
175
+ return `Nieuwe webshops`;
176
+ case AuditLogType.WebshopDeleted:
177
+ return `Verwijderde webshops`;
178
+ case AuditLogType.OrderAdded:
179
+ return `Nieuwe bestellingen`;
180
+ case AuditLogType.OrderEdited:
181
+ return `Wijzigingen aan bestellingen`;
182
+ case AuditLogType.OrderDeleted:
183
+ return `Verwijderde bestellingen`;
184
+ case AuditLogType.PaymentAdded:
185
+ return `Nieuwe betalingen`;
186
+ case AuditLogType.PaymentEdited:
187
+ return `Wijzigingen aan betalingen`;
188
+ case AuditLogType.PaymentDeleted:
189
+ return `Verwijderde betalingen`;
190
+ case AuditLogType.DocumentTemplateAdded:
191
+ return `Nieuwe document`;
192
+ case AuditLogType.DocumentTemplateEdited:
193
+ return `Wijzigingen aan documenten`;
194
+ case AuditLogType.DocumentTemplateDeleted:
195
+ return `Verwijderde documenten`;
196
+ case AuditLogType.UserAdded:
197
+ return `Nieuwe accounts`;
198
+ case AuditLogType.UserEdited:
199
+ return `Wijzigingen aan accounts`;
200
+ case AuditLogType.UserDeleted:
201
+ return `Verwijderde accounts`;
202
+ case AuditLogType.MemberResponsibilityRecordAdded:
203
+ return `Nieuwe toegekende functies`;
204
+ case AuditLogType.MemberResponsibilityRecordEdited:
205
+ return `Wijzigingen aan toegekende functies`;
206
+ case AuditLogType.MemberResponsibilityRecordDeleted:
207
+ return `Verwijderde functies`;
208
+ case AuditLogType.MemberPlatformMembershipAdded:
209
+ return `Nieuwe aansluitingen`;
210
+ case AuditLogType.MemberPlatformMembershipEdited:
211
+ return `Wijzigingen aan aansluitingen`;
212
+ case AuditLogType.MemberPlatformMembershipDeleted:
213
+ return `Verwijderde aansluitingen`;
75
214
  }
76
215
  return type;
77
216
  }
@@ -81,14 +220,20 @@ export function getAuditLogTypeIcon(type) {
81
220
  return [`user`, `edit`];
82
221
  case AuditLogType.MemberAdded:
83
222
  return [`user`, 'add green'];
223
+ case AuditLogType.MemberDeleted:
224
+ return [`user`, `canceled red`];
84
225
  case AuditLogType.MemberRegistered:
85
226
  return [`membership-filled`, `success`];
86
227
  case AuditLogType.MemberUnregistered:
87
228
  return [`membership-filled`, `canceled red`];
88
229
  case AuditLogType.PlatformSettingsChanged:
89
230
  return [`flag`, `settings`];
90
- case AuditLogType.OrganizationSettingsChanged:
91
- return [`settings`];
231
+ case AuditLogType.OrganizationEdited:
232
+ return [`flag`];
233
+ case AuditLogType.OrganizationAdded:
234
+ return [`flag`, `add green`];
235
+ case AuditLogType.OrganizationDeleted:
236
+ return [`flag`, `canceled red`];
92
237
  case AuditLogType.Unknown:
93
238
  return [`help`];
94
239
  case AuditLogType.EventEdited:
@@ -104,11 +249,65 @@ export function getAuditLogTypeIcon(type) {
104
249
  case AuditLogType.GroupDeleted:
105
250
  return [`group`, `canceled red`];
106
251
  case AuditLogType.WaitingListEdited:
107
- return [`clock`, `edit`];
252
+ return [`hourglass`, `edit`];
108
253
  case AuditLogType.WaitingListAdded:
109
- return [`clock`, `add green`];
254
+ return [`hourglass`, `add green`];
110
255
  case AuditLogType.WaitingListDeleted:
111
- return [`clock`, `canceled red`];
256
+ return [`hourglass`, `canceled red`];
257
+ case AuditLogType.RegistrationPeriodEdited:
258
+ return [`history`, `edit`];
259
+ case AuditLogType.RegistrationPeriodAdded:
260
+ return [`history`, `add green`];
261
+ case AuditLogType.RegistrationPeriodDeleted:
262
+ return [`history`, `canceled red`];
263
+ case AuditLogType.StripeAccountAdded:
264
+ return [`stripe`, `add green`];
265
+ case AuditLogType.StripeAccountDeleted:
266
+ return [`stripe`, `canceled red`];
267
+ case AuditLogType.StripeAccountEdited:
268
+ return [`stripe`, `edit`];
269
+ case AuditLogType.WebshopEdited:
270
+ return [`basket`, `edit`];
271
+ case AuditLogType.WebshopAdded:
272
+ return [`basket`, `add green`];
273
+ case AuditLogType.WebshopDeleted:
274
+ return [`basket`, `canceled red`];
275
+ case AuditLogType.OrderAdded:
276
+ return [`basket`, `add green`];
277
+ case AuditLogType.OrderEdited:
278
+ return [`basket`, `edit`];
279
+ case AuditLogType.OrderDeleted:
280
+ return [`basket`, `canceled red`];
281
+ case AuditLogType.PaymentAdded:
282
+ return [`card`, `add green`];
283
+ case AuditLogType.PaymentEdited:
284
+ return [`card`, `edit`];
285
+ case AuditLogType.PaymentDeleted:
286
+ return [`card`, `canceled red`];
287
+ case AuditLogType.DocumentTemplateAdded:
288
+ return [`file`, `add green`];
289
+ case AuditLogType.DocumentTemplateEdited:
290
+ return [`file`, `edit`];
291
+ case AuditLogType.DocumentTemplateDeleted:
292
+ return [`file`, `canceled red`];
293
+ case AuditLogType.UserAdded:
294
+ return [`user`, `add green`];
295
+ case AuditLogType.UserEdited:
296
+ return [`user`, `edit`];
297
+ case AuditLogType.UserDeleted:
298
+ return [`user`, `canceled red`];
299
+ case AuditLogType.MemberResponsibilityRecordAdded:
300
+ return [`star`, `add green`];
301
+ case AuditLogType.MemberResponsibilityRecordEdited:
302
+ return [`star`, `edit`];
303
+ case AuditLogType.MemberResponsibilityRecordDeleted:
304
+ return [`star`, `canceled red`];
305
+ case AuditLogType.MemberPlatformMembershipAdded:
306
+ return [`membership-filled`, `add green`];
307
+ case AuditLogType.MemberPlatformMembershipEdited:
308
+ return [`membership-filled`, `edit`];
309
+ case AuditLogType.MemberPlatformMembershipDeleted:
310
+ return [`membership-filled`, `canceled red`];
112
311
  }
113
312
  return [`help`];
114
313
  }
@@ -116,6 +315,8 @@ function getAuditLogTypeTitleTemplate(type) {
116
315
  switch (type) {
117
316
  case AuditLogType.MemberAdded:
118
317
  return `{{m}} werd aangemaakt`;
318
+ case AuditLogType.MemberDeleted:
319
+ return `{{m}} werd verwijderd`;
119
320
  case AuditLogType.MemberEdited:
120
321
  return `De gegevens van {{m}} werden gewijzigd`;
121
322
  case AuditLogType.MemberRegistered:
@@ -126,8 +327,12 @@ function getAuditLogTypeTitleTemplate(type) {
126
327
  return `Onbekende actie`;
127
328
  case AuditLogType.PlatformSettingsChanged:
128
329
  return `De platforminstellingen werden gewijzigd`;
129
- case AuditLogType.OrganizationSettingsChanged:
130
- return `De instellingen van {{o}} werden gewijzigd`;
330
+ case AuditLogType.OrganizationEdited:
331
+ return `{{if org 'De instellingen van ' org ' werden gewijzigd'}}{{unless org 'De instellingen werden gewijzigd'}}`;
332
+ case AuditLogType.OrganizationAdded:
333
+ return `De lokale groep {{org}} werd aangemaakt`;
334
+ case AuditLogType.OrganizationDeleted:
335
+ return `De lokale groep {{org}} werd verwijderd`;
131
336
  case AuditLogType.EventEdited:
132
337
  return `De activiteit {{e}} werd gewijzigd`;
133
338
  case AuditLogType.EventAdded:
@@ -146,17 +351,74 @@ function getAuditLogTypeTitleTemplate(type) {
146
351
  return `De wachtlijst {{g}} werd aangemaakt`;
147
352
  case AuditLogType.WaitingListDeleted:
148
353
  return `De wachtlijst {{g}} werd verwijderd`;
354
+ case AuditLogType.RegistrationPeriodEdited:
355
+ return `Het werkjaar {{p}} werd gewijzigd`;
356
+ case AuditLogType.RegistrationPeriodAdded:
357
+ return `Het werkjaar {{p}} werd aangemaakt`;
358
+ case AuditLogType.RegistrationPeriodDeleted:
359
+ return `Het werkjaar {{p}} werd verwijderd`;
360
+ case AuditLogType.StripeAccountAdded:
361
+ return `Stripe account {{a}} aangemaakt`;
362
+ case AuditLogType.StripeAccountDeleted:
363
+ return `Stripe account {{a}} verwijderd`;
364
+ case AuditLogType.StripeAccountEdited:
365
+ return `Stripe account {{a}} gewijzigd`;
366
+ case AuditLogType.WebshopEdited:
367
+ return `De webshop {{w}} werd gewijzigd`;
368
+ case AuditLogType.WebshopAdded:
369
+ return `De webshop {{w}} werd aangemaakt`;
370
+ case AuditLogType.WebshopDeleted:
371
+ return `De webshop {{w}} werd verwijderd`;
372
+ case AuditLogType.OrderAdded:
373
+ return `{{capitalizeFirstLetter o}} werd geplaatst (voor {{w}})`;
374
+ case AuditLogType.OrderEdited:
375
+ return `{{capitalizeFirstLetter o}} werd gewijzigd ({{w}})`;
376
+ case AuditLogType.OrderDeleted:
377
+ return `{{capitalizeFirstLetter o}} werd verwijderd ({{w}})`;
378
+ case AuditLogType.PaymentAdded:
379
+ return `{{capitalizeFirstLetter p}} werd aangemaakt`;
380
+ case AuditLogType.PaymentEdited:
381
+ return `{{capitalizeFirstLetter p}} werd gewijzigd`;
382
+ case AuditLogType.PaymentDeleted:
383
+ return `{{capitalizeFirstLetter p}} werd verwijderd`;
384
+ case AuditLogType.DocumentTemplateAdded:
385
+ return `Document {{d}} werd aangemaakt`;
386
+ case AuditLogType.DocumentTemplateEdited:
387
+ return `Document {{d}} werd gewijzigd`;
388
+ case AuditLogType.DocumentTemplateDeleted:
389
+ return `Document {{d}} werd verwijderd`;
390
+ case AuditLogType.UserAdded:
391
+ return `Account {{u}} werd aangemaakt`;
392
+ case AuditLogType.UserEdited:
393
+ return `Account {{u}} werd gewijzigd`;
394
+ case AuditLogType.UserDeleted:
395
+ return `Account {{u}} werd verwijderd`;
396
+ case AuditLogType.MemberResponsibilityRecordAdded:
397
+ return `Functie {{r}}{{if g " van " g}}{{if org " (" org ")"}} werd toegekend aan {{m}}`;
398
+ case AuditLogType.MemberResponsibilityRecordEdited:
399
+ return `Functie {{r}}{{if g " van " g}}{{if org " (" org ")"}} werd gewijzigd bij {{m}}`;
400
+ case AuditLogType.MemberResponsibilityRecordDeleted:
401
+ return `Functie {{r}}{{if g " van " g}}{{if org " (" org ")"}} werd verwijderd van {{m}}`;
402
+ case AuditLogType.MemberPlatformMembershipAdded:
403
+ return `Aansluiting {{pm}} werd toegevoegd bij {{m}}{{if org " via " org}}`;
404
+ case AuditLogType.MemberPlatformMembershipEdited:
405
+ return `Aansluiting {{pm}} werd gewijzigd bij {{m}}{{if org " via " org}}`;
406
+ case AuditLogType.MemberPlatformMembershipDeleted:
407
+ return `Aansluiting {{pm}} werd verwijderd bij {{m}}{{if org " via " org}}`;
149
408
  }
150
409
  }
151
410
  function getTypeReplacements(type) {
152
411
  switch (type) {
153
412
  case AuditLogType.MemberAdded:
154
413
  case AuditLogType.MemberEdited:
414
+ case AuditLogType.MemberDeleted:
155
415
  return ['m'];
156
416
  case AuditLogType.MemberRegistered:
157
417
  case AuditLogType.MemberUnregistered:
158
418
  return ['m', 'g'];
159
- case AuditLogType.OrganizationSettingsChanged:
419
+ case AuditLogType.OrganizationEdited:
420
+ case AuditLogType.OrganizationAdded:
421
+ case AuditLogType.OrganizationDeleted:
160
422
  return ['o'];
161
423
  case AuditLogType.Unknown:
162
424
  return [];
@@ -171,6 +433,22 @@ function getTypeReplacements(type) {
171
433
  case AuditLogType.WaitingListAdded:
172
434
  case AuditLogType.WaitingListDeleted:
173
435
  return ['g'];
436
+ case AuditLogType.RegistrationPeriodEdited:
437
+ case AuditLogType.RegistrationPeriodAdded:
438
+ case AuditLogType.RegistrationPeriodDeleted:
439
+ return ['p'];
440
+ case AuditLogType.StripeAccountAdded:
441
+ case AuditLogType.StripeAccountDeleted:
442
+ case AuditLogType.StripeAccountEdited:
443
+ return ['a'];
444
+ case AuditLogType.WebshopEdited:
445
+ case AuditLogType.WebshopAdded:
446
+ case AuditLogType.WebshopDeleted:
447
+ return ['w'];
448
+ case AuditLogType.OrderAdded:
449
+ case AuditLogType.OrderEdited:
450
+ case AuditLogType.OrderDeleted:
451
+ return ['o', 'w'];
174
452
  default:
175
453
  return [];
176
454
  }
@@ -179,29 +457,61 @@ export class AuditLogReplacement extends AutoEncoder {
179
457
  constructor() {
180
458
  super(...arguments);
181
459
  this.value = '';
460
+ this.description = '';
182
461
  this.values = [];
183
462
  }
184
463
  flatten() {
185
464
  if (this.type === AuditLogReplacementType.Array) {
186
- if (this.values.every(t => t.type === AuditLogReplacementType.Key)) {
187
- return [AuditLogReplacement.key(this.values.map(v => v.value).join('.'))];
465
+ const cleanedValues = [];
466
+ for (const v of this.values.flatMap(v => v.flatten())) {
467
+ if (v.type === AuditLogReplacementType.Key) {
468
+ const last = cleanedValues[cleanedValues.length - 1];
469
+ if (last && last.type === AuditLogReplacementType.Key) {
470
+ if (last.value) {
471
+ last.value += '.';
472
+ }
473
+ last.value += v.value;
474
+ continue;
475
+ }
476
+ }
477
+ cleanedValues.push(v);
188
478
  }
189
- return this.values;
479
+ return cleanedValues;
190
480
  }
191
481
  return [this];
192
482
  }
193
483
  prepend(add) {
194
- return AuditLogReplacement.array([add, this]);
484
+ if (!add) {
485
+ return this;
486
+ }
487
+ return AuditLogReplacement.array([...add.flatten(), this]);
195
488
  }
196
489
  append(add) {
197
- return AuditLogReplacement.array([this, add]);
490
+ if (!add) {
491
+ return this;
492
+ }
493
+ return AuditLogReplacement.array([this, ...add.flatten()]);
198
494
  }
199
495
  static array(values) {
200
- return AuditLogReplacement.create({ values: values.flatMap(v => v.flatten()), type: AuditLogReplacementType.Array });
496
+ const v = AuditLogReplacement.create({ values: values.flatMap(v => v.flatten()), type: AuditLogReplacementType.Array }).flatten();
497
+ if (v.length === 1) {
498
+ return v[0];
499
+ }
500
+ return AuditLogReplacement.create({ values: v, type: AuditLogReplacementType.Array });
201
501
  }
202
502
  static key(str) {
503
+ if (!str) {
504
+ return AuditLogReplacement.array([]);
505
+ }
203
506
  return AuditLogReplacement.create({ value: str, type: AuditLogReplacementType.Key });
204
507
  }
508
+ static uuid(id) {
509
+ return AuditLogReplacement.create({
510
+ id,
511
+ value: uuidToName(id) || '',
512
+ type: AuditLogReplacementType.Uuid,
513
+ });
514
+ }
205
515
  static string(str) {
206
516
  return AuditLogReplacement.create({ value: str });
207
517
  }
@@ -209,12 +519,33 @@ export class AuditLogReplacement extends AutoEncoder {
209
519
  if (this.type === AuditLogReplacementType.Key) {
210
520
  return getAuditLogPatchKeyName(this.value);
211
521
  }
522
+ if (this.type === AuditLogReplacementType.Uuid || (this.id && !this.value && isUuid(this.id))) {
523
+ if (this.id && !this.value) {
524
+ const name = uuidToName(this.id);
525
+ if (name) {
526
+ return name;
527
+ }
528
+ return '';
529
+ }
530
+ }
531
+ if (this.type === AuditLogReplacementType.Array) {
532
+ return this.values.map(v => v.toString()).filter(v => !!v).join(' → ');
533
+ }
534
+ return this.value;
535
+ }
536
+ toKey() {
537
+ if (this.type === AuditLogReplacementType.Array) {
538
+ return this.values.map(v => v.toKey()).filter(v => !!v).join('.');
539
+ }
212
540
  return this.value;
213
541
  }
214
542
  }
215
543
  __decorate([
216
544
  field({ field: 'v', decoder: StringDecoder, optional: true })
217
545
  ], AuditLogReplacement.prototype, "value", void 0);
546
+ __decorate([
547
+ field({ field: 'd', decoder: StringDecoder, optional: true })
548
+ ], AuditLogReplacement.prototype, "description", void 0);
218
549
  __decorate([
219
550
  field({ field: 'a', decoder: new ArrayDecoder(AuditLogReplacement), optional: true })
220
551
  ], AuditLogReplacement.prototype, "values", void 0);
@@ -227,93 +558,93 @@ __decorate([
227
558
  __decorate([
228
559
  field({ field: 'c', decoder: NumberDecoder, optional: true })
229
560
  ], AuditLogReplacement.prototype, "count", void 0);
561
+ export function isUuid(value) {
562
+ if (typeof value !== 'string') {
563
+ return false;
564
+ }
565
+ return value.length === 36 && value[8] === '-' && value[13] === '-' && value[18] === '-' && value[23] === '-';
566
+ }
567
+ export function uuidToName(uuid) {
568
+ // Look up in UUID library list
569
+ const objectLists = [
570
+ Platform.shared.config.premiseTypes,
571
+ Platform.shared.config.eventTypes,
572
+ Platform.shared.config.defaultAgeGroups,
573
+ Platform.shared.config.tags,
574
+ Platform.shared.config.recordsConfiguration.recordCategories,
575
+ Platform.shared.config.membershipTypes,
576
+ ];
577
+ for (const list of objectLists) {
578
+ for (const object of list) {
579
+ if (object.id === uuid) {
580
+ return object.name;
581
+ }
582
+ }
583
+ }
584
+ return null;
585
+ }
586
+ const enumHelpers = [
587
+ PaymentMethodHelper.getPluralName,
588
+ ParentTypeHelper.getName,
589
+ OrderStatusHelper.getName,
590
+ DocumentStatusHelper.getName,
591
+ AccessRightHelper.getName,
592
+ CheckoutMethodTypeHelper.getName,
593
+ CountryHelper.getName,
594
+ OrganizationTypeHelper.getName.bind(OrganizationTypeHelper),
595
+ PaymentStatusHelper.getName.bind(PaymentStatusHelper),
596
+ UmbrellaOrganizationHelper.getName.bind(UmbrellaOrganizationHelper),
597
+ STPackageTypeHelper.getName.bind(STPackageTypeHelper),
598
+ ParentTypeHelper.getName.bind(ParentTypeHelper),
599
+ getGroupStatusName,
600
+ getGenderName,
601
+ getSetupStepName,
602
+ ];
230
603
  export function getAuditLogPatchKeyName(key) {
231
- switch (key) {
232
- case 'parent':
233
- return `ouder`;
234
- case 'address':
235
- return `adres`;
236
- case 'address.street':
237
- return `straat`;
238
- case 'address.number':
239
- return `huisnummer`;
240
- case 'address.postalCode':
241
- return `postcode`;
242
- case 'address.city':
243
- return `gemeente`;
244
- case 'address.country':
245
- return `land`;
246
- case 'email':
247
- return `e-mailadres`;
248
- case 'phone':
249
- return `GSM-nummer`;
250
- case 'firstName':
251
- return `voornaam`;
252
- case 'lastName':
253
- return `achternaam`;
254
- case 'nationalRegisterNumber':
255
- return `rijkregisternummer`;
256
- case 'birthDay':
257
- return `geboortedatum`;
258
- case 'dataPermissions':
259
- return `toestemming gegevensverwerking`;
260
- case `notes`:
261
- return `Notities`;
262
- case 'alternativeEmails':
263
- return `alternatieve e-mailadressen`;
264
- case 'name':
265
- return `naam`;
266
- case 'description':
267
- return `beschrijving`;
268
- case 'isLocationRequired':
269
- return `locatie verplicht`;
270
- case '_order':
271
- return `volgorde`;
272
- case 'membershipType':
273
- return `aansluitingstype`;
274
- case 'membershipTypes':
275
- return `aansluitingen en verzekeringen`;
276
- case 'period':
277
- return `werkjaar`;
278
- case 'responsibility':
279
- return `functie`;
280
- case 'recordsConfiguration':
281
- return `persoonsgegevens`;
282
- case 'defaultAgeGroups':
283
- return `standaard leeftijdsgroepen`;
284
- case 'defaultAgeGroup':
285
- return `standaard leeftijdsgroep`;
286
- case 'eventTypes':
287
- return `soorten activiteiten`;
288
- case 'eventType':
289
- return `soort activiteit`;
290
- case 'horizontalLogo':
291
- return `horizontaal logo`;
292
- case 'squareLogo':
293
- return `vierkant logo`;
294
- case 'logoDocuments':
295
- return `logo op documenten`;
296
- case 'color':
297
- return `huisstijlkleur`;
298
- case 'price':
299
- return `prijs`;
300
- case 'price.price':
301
- return `prijs`;
302
- case 'price.reducedPrice':
303
- return `verlaagd tarief`;
304
- case 'prices':
305
- return `prijzen`;
306
- case 'responsibilities':
307
- return `functies`;
308
- case 'minimumMembers':
309
- return `minimum aantal`;
604
+ // Strip prefixes
605
+ const stripPrefixes = ['settings.', 'meta.', 'privateMeta.', 'privateConfig.', 'config.', 'privateSettings.', 'details.', 'data.'];
606
+ for (const prefix of stripPrefixes) {
607
+ if (key.startsWith(prefix)) {
608
+ key = key.substring(prefix.length);
609
+ }
610
+ }
611
+ if (wordDictionary[key]) {
612
+ return wordDictionary[key];
613
+ }
614
+ // Check first letter is a capital letter
615
+ if (key.length > 1 && key[0] === key[0].toUpperCase()) {
616
+ for (const helper of enumHelpers) {
617
+ try {
618
+ const result = helper(key);
619
+ if (result && result !== key) {
620
+ return result;
621
+ }
622
+ }
623
+ catch (e) {
624
+ console.error(e);
625
+ }
626
+ }
310
627
  }
311
628
  if (key.includes('.')) {
312
629
  const splitted = key.split('.');
630
+ if (splitted.length > 2) {
631
+ const firstTwoWords = splitted.slice(0, 2).join('.');
632
+ if (firstTwoWords !== getAuditLogPatchKeyName(firstTwoWords)) {
633
+ return `${getAuditLogPatchKeyName(firstTwoWords)} → ${getAuditLogPatchKeyName(splitted.slice(2).join('.'))}`;
634
+ }
635
+ }
313
636
  const firstWord = splitted[0];
314
637
  const remaining = splitted.slice(1).join('.');
315
- return `${getAuditLogPatchKeyName(firstWord)} ${getAuditLogPatchKeyName(remaining)}`;
638
+ return `${getAuditLogPatchKeyName(firstWord)} ${getAuditLogPatchKeyName(remaining)}`;
316
639
  }
640
+ if (key.length > 2 && key.endsWith('Id')) {
641
+ // Strip id and try again
642
+ return getAuditLogPatchKeyName(key.substring(0, key.length - 2));
643
+ }
644
+ // Replace camel case with spaces
645
+ key = key.replace(/([a-z])([A-Z])/g, '$1 $2');
646
+ // Replace _ case with spaces
647
+ key = key.replace(/_+/g, ' ').trim();
317
648
  return key;
318
649
  }
319
650
  export var AuditLogPatchItemType;
@@ -328,7 +659,7 @@ export class AuditLogPatchItem extends AutoEncoder {
328
659
  if (!this.oldValue && this.value) {
329
660
  this.type = AuditLogPatchItemType.Added;
330
661
  }
331
- else if (!this.value) {
662
+ else if (!this.value && this.oldValue) {
332
663
  this.type = AuditLogPatchItemType.Removed;
333
664
  }
334
665
  else {
@@ -375,6 +706,26 @@ export class AuditLog extends AutoEncoder {
375
706
  }
376
707
  return [object === 1 ? singular : plural];
377
708
  },
709
+ capitalizeFirstLetter: (context, object) => {
710
+ if (object instanceof AuditLogReplacement) {
711
+ const clone = object.clone();
712
+ clone.value = Formatter.capitalizeFirstLetter(clone.value);
713
+ return [clone];
714
+ }
715
+ return [object];
716
+ },
717
+ if: (context, object, ...prefixes) => {
718
+ if (object) {
719
+ return [...prefixes];
720
+ }
721
+ return [];
722
+ },
723
+ unless: (context, object, ...prefixes) => {
724
+ if (!object) {
725
+ return [...prefixes];
726
+ }
727
+ return [];
728
+ },
378
729
  },
379
730
  });
380
731
  }
@@ -404,6 +755,9 @@ export class AuditLog extends AutoEncoder {
404
755
  __decorate([
405
756
  field({ decoder: StringDecoder })
406
757
  ], AuditLog.prototype, "id", void 0);
758
+ __decorate([
759
+ field({ decoder: new EnumDecoder(AuditLogSource), version: 350 })
760
+ ], AuditLog.prototype, "source", void 0);
407
761
  __decorate([
408
762
  field({ decoder: new EnumDecoder(AuditLogType) })
409
763
  ], AuditLog.prototype, "type", void 0);