@webiny/api-audit-logs 0.0.0-unstable.0156a4c312

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 (307) hide show
  1. package/AuditLogsFeature.d.ts +8 -0
  2. package/AuditLogsFeature.js +32 -0
  3. package/AuditLogsFeature.js.map +1 -0
  4. package/LICENSE +21 -0
  5. package/README.md +11 -0
  6. package/abstractions.d.ts +15 -0
  7. package/abstractions.js +6 -0
  8. package/abstractions.js.map +1 -0
  9. package/config.d.ts +1 -0
  10. package/config.js +6 -0
  11. package/config.js.map +1 -0
  12. package/domain/errors.d.ts +5 -0
  13. package/domain/errors.js +11 -0
  14. package/domain/errors.js.map +1 -0
  15. package/events/AuditLogAfterCreateEvent.d.ts +6 -0
  16. package/events/AuditLogAfterCreateEvent.js +13 -0
  17. package/events/AuditLogAfterCreateEvent.js.map +1 -0
  18. package/events/AuditLogAfterUpdateEvent.d.ts +6 -0
  19. package/events/AuditLogAfterUpdateEvent.js +13 -0
  20. package/events/AuditLogAfterUpdateEvent.js.map +1 -0
  21. package/events/AuditLogBeforeCreateEvent.d.ts +6 -0
  22. package/events/AuditLogBeforeCreateEvent.js +13 -0
  23. package/events/AuditLogBeforeCreateEvent.js.map +1 -0
  24. package/events/AuditLogBeforeUpdateEvent.d.ts +6 -0
  25. package/events/AuditLogBeforeUpdateEvent.js +13 -0
  26. package/events/AuditLogBeforeUpdateEvent.js.map +1 -0
  27. package/events/abstractions.d.ts +38 -0
  28. package/events/abstractions.js +8 -0
  29. package/events/abstractions.js.map +1 -0
  30. package/events/index.d.ts +5 -0
  31. package/events/index.js +5 -0
  32. package/features/AuditLogPermissions/AuditLogPermissions.d.ts +15 -0
  33. package/features/AuditLogPermissions/AuditLogPermissions.js +24 -0
  34. package/features/AuditLogPermissions/AuditLogPermissions.js.map +1 -0
  35. package/features/AuditLogPermissions/abstractions.d.ts +11 -0
  36. package/features/AuditLogPermissions/abstractions.js +5 -0
  37. package/features/AuditLogPermissions/abstractions.js.map +1 -0
  38. package/features/AuditLogPermissions/feature.d.ts +4 -0
  39. package/features/AuditLogPermissions/feature.js +11 -0
  40. package/features/AuditLogPermissions/feature.js.map +1 -0
  41. package/features/CreateAuditLog/CreateAuditLogGateway.d.ts +12 -0
  42. package/features/CreateAuditLog/CreateAuditLogGateway.js +23 -0
  43. package/features/CreateAuditLog/CreateAuditLogGateway.js.map +1 -0
  44. package/features/CreateAuditLog/CreateAuditLogRepository.d.ts +14 -0
  45. package/features/CreateAuditLog/CreateAuditLogRepository.js +25 -0
  46. package/features/CreateAuditLog/CreateAuditLogRepository.js.map +1 -0
  47. package/features/CreateAuditLog/CreateAuditLogUseCase.d.ts +24 -0
  48. package/features/CreateAuditLog/CreateAuditLogUseCase.js +70 -0
  49. package/features/CreateAuditLog/CreateAuditLogUseCase.js.map +1 -0
  50. package/features/CreateAuditLog/abstractions.d.ts +42 -0
  51. package/features/CreateAuditLog/abstractions.js +7 -0
  52. package/features/CreateAuditLog/abstractions.js.map +1 -0
  53. package/features/CreateAuditLog/feature.d.ts +4 -0
  54. package/features/CreateAuditLog/feature.js +15 -0
  55. package/features/CreateAuditLog/feature.js.map +1 -0
  56. package/features/GetAuditLog/GetAuditLogGateway.d.ts +13 -0
  57. package/features/GetAuditLog/GetAuditLogGateway.js +21 -0
  58. package/features/GetAuditLog/GetAuditLogGateway.js.map +1 -0
  59. package/features/GetAuditLog/GetAuditLogRepository.d.ts +16 -0
  60. package/features/GetAuditLog/GetAuditLogRepository.js +32 -0
  61. package/features/GetAuditLog/GetAuditLogRepository.js.map +1 -0
  62. package/features/GetAuditLog/GetAuditLogUseCase.d.ts +15 -0
  63. package/features/GetAuditLog/GetAuditLogUseCase.js +29 -0
  64. package/features/GetAuditLog/GetAuditLogUseCase.js.map +1 -0
  65. package/features/GetAuditLog/abstractions.d.ts +42 -0
  66. package/features/GetAuditLog/abstractions.js +7 -0
  67. package/features/GetAuditLog/abstractions.js.map +1 -0
  68. package/features/GetAuditLog/feature.d.ts +4 -0
  69. package/features/GetAuditLog/feature.js +15 -0
  70. package/features/GetAuditLog/feature.js.map +1 -0
  71. package/features/ListAuditLogs/ListAuditLogsGateway.d.ts +12 -0
  72. package/features/ListAuditLogs/ListAuditLogsGateway.js +24 -0
  73. package/features/ListAuditLogs/ListAuditLogsGateway.js.map +1 -0
  74. package/features/ListAuditLogs/ListAuditLogsRepository.d.ts +17 -0
  75. package/features/ListAuditLogs/ListAuditLogsRepository.js +38 -0
  76. package/features/ListAuditLogs/ListAuditLogsRepository.js.map +1 -0
  77. package/features/ListAuditLogs/ListAuditLogsUseCase.d.ts +15 -0
  78. package/features/ListAuditLogs/ListAuditLogsUseCase.js +27 -0
  79. package/features/ListAuditLogs/ListAuditLogsUseCase.js.map +1 -0
  80. package/features/ListAuditLogs/abstractions.d.ts +55 -0
  81. package/features/ListAuditLogs/abstractions.js +7 -0
  82. package/features/ListAuditLogs/abstractions.js.map +1 -0
  83. package/features/ListAuditLogs/feature.d.ts +4 -0
  84. package/features/ListAuditLogs/feature.js +15 -0
  85. package/features/ListAuditLogs/feature.js.map +1 -0
  86. package/features/RecordAuditLog/RecordAuditLogUseCase.d.ts +30 -0
  87. package/features/RecordAuditLog/RecordAuditLogUseCase.js +108 -0
  88. package/features/RecordAuditLog/RecordAuditLogUseCase.js.map +1 -0
  89. package/features/RecordAuditLog/abstractions.d.ts +26 -0
  90. package/features/RecordAuditLog/abstractions.js +5 -0
  91. package/features/RecordAuditLog/abstractions.js.map +1 -0
  92. package/features/RecordAuditLog/feature.d.ts +4 -0
  93. package/features/RecordAuditLog/feature.js +11 -0
  94. package/features/RecordAuditLog/feature.js.map +1 -0
  95. package/features/UpdateAuditLog/UpdateAuditLogGateway.d.ts +12 -0
  96. package/features/UpdateAuditLog/UpdateAuditLogGateway.js +23 -0
  97. package/features/UpdateAuditLog/UpdateAuditLogGateway.js.map +1 -0
  98. package/features/UpdateAuditLog/UpdateAuditLogRepository.d.ts +14 -0
  99. package/features/UpdateAuditLog/UpdateAuditLogRepository.js +25 -0
  100. package/features/UpdateAuditLog/UpdateAuditLogRepository.js.map +1 -0
  101. package/features/UpdateAuditLog/UpdateAuditLogUseCase.d.ts +18 -0
  102. package/features/UpdateAuditLog/UpdateAuditLogUseCase.js +53 -0
  103. package/features/UpdateAuditLog/UpdateAuditLogUseCase.js.map +1 -0
  104. package/features/UpdateAuditLog/abstractions.d.ts +42 -0
  105. package/features/UpdateAuditLog/abstractions.js +7 -0
  106. package/features/UpdateAuditLog/abstractions.js.map +1 -0
  107. package/features/UpdateAuditLog/feature.d.ts +4 -0
  108. package/features/UpdateAuditLog/feature.js +15 -0
  109. package/features/UpdateAuditLog/feature.js.map +1 -0
  110. package/graphql/AuditLogsGraphQLSchema.d.ts +10 -0
  111. package/graphql/AuditLogsGraphQLSchema.js +139 -0
  112. package/graphql/AuditLogsGraphQLSchema.js.map +1 -0
  113. package/graphql/validation.d.ts +21 -0
  114. package/graphql/validation.js +31 -0
  115. package/graphql/validation.js.map +1 -0
  116. package/index.d.ts +3 -0
  117. package/index.js +2 -0
  118. package/package.json +57 -0
  119. package/storage/abstractions/Storage.d.ts +108 -0
  120. package/storage/abstractions/Storage.js +0 -0
  121. package/storage/types.d.ts +19 -0
  122. package/storage/types.js +0 -0
  123. package/subscriptions/aco/handlers/AuditLogFolderAfterCreateHandler.d.ts +11 -0
  124. package/subscriptions/aco/handlers/AuditLogFolderAfterCreateHandler.js +45 -0
  125. package/subscriptions/aco/handlers/AuditLogFolderAfterCreateHandler.js.map +1 -0
  126. package/subscriptions/aco/handlers/AuditLogFolderAfterDeleteHandler.d.ts +11 -0
  127. package/subscriptions/aco/handlers/AuditLogFolderAfterDeleteHandler.js +61 -0
  128. package/subscriptions/aco/handlers/AuditLogFolderAfterDeleteHandler.js.map +1 -0
  129. package/subscriptions/aco/handlers/AuditLogFolderAfterUpdateHandler.d.ts +11 -0
  130. package/subscriptions/aco/handlers/AuditLogFolderAfterUpdateHandler.js +51 -0
  131. package/subscriptions/aco/handlers/AuditLogFolderAfterUpdateHandler.js.map +1 -0
  132. package/subscriptions/aco/index.d.ts +2 -0
  133. package/subscriptions/aco/index.js +11 -0
  134. package/subscriptions/aco/index.js.map +1 -0
  135. package/subscriptions/ai/handlers/AuditLogAiAfterGenerateTextHandler.d.ts +11 -0
  136. package/subscriptions/ai/handlers/AuditLogAiAfterGenerateTextHandler.js +45 -0
  137. package/subscriptions/ai/handlers/AuditLogAiAfterGenerateTextHandler.js.map +1 -0
  138. package/subscriptions/ai/handlers/AuditLogAiBeforeGenerateTextHandler.d.ts +11 -0
  139. package/subscriptions/ai/handlers/AuditLogAiBeforeGenerateTextHandler.js +42 -0
  140. package/subscriptions/ai/handlers/AuditLogAiBeforeGenerateTextHandler.js.map +1 -0
  141. package/subscriptions/ai/handlers/AuditLogAiGenerateTextErrorHandler.d.ts +11 -0
  142. package/subscriptions/ai/handlers/AuditLogAiGenerateTextErrorHandler.js +44 -0
  143. package/subscriptions/ai/handlers/AuditLogAiGenerateTextErrorHandler.js.map +1 -0
  144. package/subscriptions/ai/index.d.ts +2 -0
  145. package/subscriptions/ai/index.js +11 -0
  146. package/subscriptions/ai/index.js.map +1 -0
  147. package/subscriptions/fileManager/handlers/AuditLogFileAfterCreateHandler.d.ts +11 -0
  148. package/subscriptions/fileManager/handlers/AuditLogFileAfterCreateHandler.js +35 -0
  149. package/subscriptions/fileManager/handlers/AuditLogFileAfterCreateHandler.js.map +1 -0
  150. package/subscriptions/fileManager/handlers/AuditLogFileAfterDeleteHandler.d.ts +11 -0
  151. package/subscriptions/fileManager/handlers/AuditLogFileAfterDeleteHandler.js +35 -0
  152. package/subscriptions/fileManager/handlers/AuditLogFileAfterDeleteHandler.js.map +1 -0
  153. package/subscriptions/fileManager/handlers/AuditLogFileAfterUpdateHandler.d.ts +11 -0
  154. package/subscriptions/fileManager/handlers/AuditLogFileAfterUpdateHandler.js +38 -0
  155. package/subscriptions/fileManager/handlers/AuditLogFileAfterUpdateHandler.js.map +1 -0
  156. package/subscriptions/fileManager/handlers/AuditLogSettingsAfterUpdateHandler.d.ts +11 -0
  157. package/subscriptions/fileManager/handlers/AuditLogSettingsAfterUpdateHandler.js +38 -0
  158. package/subscriptions/fileManager/handlers/AuditLogSettingsAfterUpdateHandler.js.map +1 -0
  159. package/subscriptions/fileManager/index.d.ts +2 -0
  160. package/subscriptions/fileManager/index.js +13 -0
  161. package/subscriptions/fileManager/index.js.map +1 -0
  162. package/subscriptions/headlessCms/handlers/AuditLogEntryAfterCreateEventHandler.d.ts +11 -0
  163. package/subscriptions/headlessCms/handlers/AuditLogEntryAfterCreateEventHandler.js +36 -0
  164. package/subscriptions/headlessCms/handlers/AuditLogEntryAfterCreateEventHandler.js.map +1 -0
  165. package/subscriptions/headlessCms/handlers/AuditLogEntryAfterDeleteEventHandler.d.ts +11 -0
  166. package/subscriptions/headlessCms/handlers/AuditLogEntryAfterDeleteEventHandler.js +46 -0
  167. package/subscriptions/headlessCms/handlers/AuditLogEntryAfterDeleteEventHandler.js.map +1 -0
  168. package/subscriptions/headlessCms/handlers/AuditLogEntryAfterPublishEventHandler.d.ts +11 -0
  169. package/subscriptions/headlessCms/handlers/AuditLogEntryAfterPublishEventHandler.js +36 -0
  170. package/subscriptions/headlessCms/handlers/AuditLogEntryAfterPublishEventHandler.js.map +1 -0
  171. package/subscriptions/headlessCms/handlers/AuditLogEntryAfterRestoreFromBinEventHandler.d.ts +11 -0
  172. package/subscriptions/headlessCms/handlers/AuditLogEntryAfterRestoreFromBinEventHandler.js +36 -0
  173. package/subscriptions/headlessCms/handlers/AuditLogEntryAfterRestoreFromBinEventHandler.js.map +1 -0
  174. package/subscriptions/headlessCms/handlers/AuditLogEntryAfterUnpublishEventHandler.d.ts +11 -0
  175. package/subscriptions/headlessCms/handlers/AuditLogEntryAfterUnpublishEventHandler.js +36 -0
  176. package/subscriptions/headlessCms/handlers/AuditLogEntryAfterUnpublishEventHandler.js.map +1 -0
  177. package/subscriptions/headlessCms/handlers/AuditLogEntryAfterUpdateEventHandler.d.ts +11 -0
  178. package/subscriptions/headlessCms/handlers/AuditLogEntryAfterUpdateEventHandler.js +39 -0
  179. package/subscriptions/headlessCms/handlers/AuditLogEntryAfterUpdateEventHandler.js.map +1 -0
  180. package/subscriptions/headlessCms/handlers/AuditLogEntryRevisionAfterCreateEventHandler.d.ts +11 -0
  181. package/subscriptions/headlessCms/handlers/AuditLogEntryRevisionAfterCreateEventHandler.js +36 -0
  182. package/subscriptions/headlessCms/handlers/AuditLogEntryRevisionAfterCreateEventHandler.js.map +1 -0
  183. package/subscriptions/headlessCms/handlers/AuditLogEntryRevisionAfterDeleteEventHandler.d.ts +11 -0
  184. package/subscriptions/headlessCms/handlers/AuditLogEntryRevisionAfterDeleteEventHandler.js +36 -0
  185. package/subscriptions/headlessCms/handlers/AuditLogEntryRevisionAfterDeleteEventHandler.js.map +1 -0
  186. package/subscriptions/headlessCms/handlers/AuditLogGroupAfterCreateEventHandler.d.ts +11 -0
  187. package/subscriptions/headlessCms/handlers/AuditLogGroupAfterCreateEventHandler.js +35 -0
  188. package/subscriptions/headlessCms/handlers/AuditLogGroupAfterCreateEventHandler.js.map +1 -0
  189. package/subscriptions/headlessCms/handlers/AuditLogGroupAfterDeleteEventHandler.d.ts +11 -0
  190. package/subscriptions/headlessCms/handlers/AuditLogGroupAfterDeleteEventHandler.js +35 -0
  191. package/subscriptions/headlessCms/handlers/AuditLogGroupAfterDeleteEventHandler.js.map +1 -0
  192. package/subscriptions/headlessCms/handlers/AuditLogGroupAfterUpdateEventHandler.d.ts +11 -0
  193. package/subscriptions/headlessCms/handlers/AuditLogGroupAfterUpdateEventHandler.js +38 -0
  194. package/subscriptions/headlessCms/handlers/AuditLogGroupAfterUpdateEventHandler.js.map +1 -0
  195. package/subscriptions/headlessCms/handlers/AuditLogModelAfterCreateEventHandler.d.ts +11 -0
  196. package/subscriptions/headlessCms/handlers/AuditLogModelAfterCreateEventHandler.js +35 -0
  197. package/subscriptions/headlessCms/handlers/AuditLogModelAfterCreateEventHandler.js.map +1 -0
  198. package/subscriptions/headlessCms/handlers/AuditLogModelAfterDeleteEventHandler.d.ts +11 -0
  199. package/subscriptions/headlessCms/handlers/AuditLogModelAfterDeleteEventHandler.js +35 -0
  200. package/subscriptions/headlessCms/handlers/AuditLogModelAfterDeleteEventHandler.js.map +1 -0
  201. package/subscriptions/headlessCms/handlers/AuditLogModelAfterUpdateEventHandler.d.ts +11 -0
  202. package/subscriptions/headlessCms/handlers/AuditLogModelAfterUpdateEventHandler.js +38 -0
  203. package/subscriptions/headlessCms/handlers/AuditLogModelAfterUpdateEventHandler.js.map +1 -0
  204. package/subscriptions/headlessCms/index.d.ts +2 -0
  205. package/subscriptions/headlessCms/index.js +33 -0
  206. package/subscriptions/headlessCms/index.js.map +1 -0
  207. package/subscriptions/index.d.ts +2 -0
  208. package/subscriptions/index.js +19 -0
  209. package/subscriptions/index.js.map +1 -0
  210. package/subscriptions/mailer/handlers/AuditLogMailerSettingsAfterSaveHandler.d.ts +11 -0
  211. package/subscriptions/mailer/handlers/AuditLogMailerSettingsAfterSaveHandler.js +37 -0
  212. package/subscriptions/mailer/handlers/AuditLogMailerSettingsAfterSaveHandler.js.map +1 -0
  213. package/subscriptions/mailer/index.d.ts +2 -0
  214. package/subscriptions/mailer/index.js +7 -0
  215. package/subscriptions/mailer/index.js.map +1 -0
  216. package/subscriptions/security/handlers/AuditLogApiKeyAfterCreateHandler.d.ts +11 -0
  217. package/subscriptions/security/handlers/AuditLogApiKeyAfterCreateHandler.js +45 -0
  218. package/subscriptions/security/handlers/AuditLogApiKeyAfterCreateHandler.js.map +1 -0
  219. package/subscriptions/security/handlers/AuditLogApiKeyAfterDeleteHandler.d.ts +11 -0
  220. package/subscriptions/security/handlers/AuditLogApiKeyAfterDeleteHandler.js +45 -0
  221. package/subscriptions/security/handlers/AuditLogApiKeyAfterDeleteHandler.js.map +1 -0
  222. package/subscriptions/security/handlers/AuditLogApiKeyAfterUpdateHandler.d.ts +11 -0
  223. package/subscriptions/security/handlers/AuditLogApiKeyAfterUpdateHandler.js +49 -0
  224. package/subscriptions/security/handlers/AuditLogApiKeyAfterUpdateHandler.js.map +1 -0
  225. package/subscriptions/security/handlers/AuditLogRoleAfterCreateHandler.d.ts +11 -0
  226. package/subscriptions/security/handlers/AuditLogRoleAfterCreateHandler.js +35 -0
  227. package/subscriptions/security/handlers/AuditLogRoleAfterCreateHandler.js.map +1 -0
  228. package/subscriptions/security/handlers/AuditLogRoleAfterDeleteHandler.d.ts +11 -0
  229. package/subscriptions/security/handlers/AuditLogRoleAfterDeleteHandler.js +35 -0
  230. package/subscriptions/security/handlers/AuditLogRoleAfterDeleteHandler.js.map +1 -0
  231. package/subscriptions/security/handlers/AuditLogRoleAfterUpdateHandler.d.ts +11 -0
  232. package/subscriptions/security/handlers/AuditLogRoleAfterUpdateHandler.js +38 -0
  233. package/subscriptions/security/handlers/AuditLogRoleAfterUpdateHandler.js.map +1 -0
  234. package/subscriptions/security/handlers/AuditLogTeamAfterCreateHandler.d.ts +11 -0
  235. package/subscriptions/security/handlers/AuditLogTeamAfterCreateHandler.js +35 -0
  236. package/subscriptions/security/handlers/AuditLogTeamAfterCreateHandler.js.map +1 -0
  237. package/subscriptions/security/handlers/AuditLogTeamAfterDeleteHandler.d.ts +11 -0
  238. package/subscriptions/security/handlers/AuditLogTeamAfterDeleteHandler.js +35 -0
  239. package/subscriptions/security/handlers/AuditLogTeamAfterDeleteHandler.js.map +1 -0
  240. package/subscriptions/security/handlers/AuditLogTeamAfterUpdateHandler.d.ts +11 -0
  241. package/subscriptions/security/handlers/AuditLogTeamAfterUpdateHandler.js +38 -0
  242. package/subscriptions/security/handlers/AuditLogTeamAfterUpdateHandler.js.map +1 -0
  243. package/subscriptions/security/handlers/AuditLogUserAfterCreateHandler.d.ts +11 -0
  244. package/subscriptions/security/handlers/AuditLogUserAfterCreateHandler.js +35 -0
  245. package/subscriptions/security/handlers/AuditLogUserAfterCreateHandler.js.map +1 -0
  246. package/subscriptions/security/handlers/AuditLogUserAfterDeleteHandler.d.ts +11 -0
  247. package/subscriptions/security/handlers/AuditLogUserAfterDeleteHandler.js +35 -0
  248. package/subscriptions/security/handlers/AuditLogUserAfterDeleteHandler.js.map +1 -0
  249. package/subscriptions/security/handlers/AuditLogUserAfterUpdateHandler.d.ts +11 -0
  250. package/subscriptions/security/handlers/AuditLogUserAfterUpdateHandler.js +38 -0
  251. package/subscriptions/security/handlers/AuditLogUserAfterUpdateHandler.js.map +1 -0
  252. package/subscriptions/security/handlers/cleanupApiKey.d.ts +7 -0
  253. package/subscriptions/security/handlers/cleanupApiKey.js +12 -0
  254. package/subscriptions/security/handlers/cleanupApiKey.js.map +1 -0
  255. package/subscriptions/security/index.d.ts +2 -0
  256. package/subscriptions/security/index.js +29 -0
  257. package/subscriptions/security/index.js.map +1 -0
  258. package/subscriptions/websiteBuilder/globalComponents/SaveGlobalComponentWithAuditLog.d.ts +21 -0
  259. package/subscriptions/websiteBuilder/globalComponents/SaveGlobalComponentWithAuditLog.js +63 -0
  260. package/subscriptions/websiteBuilder/globalComponents/SaveGlobalComponentWithAuditLog.js.map +1 -0
  261. package/subscriptions/websiteBuilder/index.d.ts +2 -0
  262. package/subscriptions/websiteBuilder/index.js +31 -0
  263. package/subscriptions/websiteBuilder/index.js.map +1 -0
  264. package/subscriptions/websiteBuilder/pages/PageAfterCreateHandler.d.ts +11 -0
  265. package/subscriptions/websiteBuilder/pages/PageAfterCreateHandler.js +35 -0
  266. package/subscriptions/websiteBuilder/pages/PageAfterCreateHandler.js.map +1 -0
  267. package/subscriptions/websiteBuilder/pages/PageAfterCreateRevisionFromHandler.d.ts +11 -0
  268. package/subscriptions/websiteBuilder/pages/PageAfterCreateRevisionFromHandler.js +35 -0
  269. package/subscriptions/websiteBuilder/pages/PageAfterCreateRevisionFromHandler.js.map +1 -0
  270. package/subscriptions/websiteBuilder/pages/PageAfterDeleteHandler.d.ts +11 -0
  271. package/subscriptions/websiteBuilder/pages/PageAfterDeleteHandler.js +35 -0
  272. package/subscriptions/websiteBuilder/pages/PageAfterDeleteHandler.js.map +1 -0
  273. package/subscriptions/websiteBuilder/pages/PageAfterDuplicateHandler.d.ts +11 -0
  274. package/subscriptions/websiteBuilder/pages/PageAfterDuplicateHandler.js +38 -0
  275. package/subscriptions/websiteBuilder/pages/PageAfterDuplicateHandler.js.map +1 -0
  276. package/subscriptions/websiteBuilder/pages/PageAfterMoveHandler.d.ts +11 -0
  277. package/subscriptions/websiteBuilder/pages/PageAfterMoveHandler.js +35 -0
  278. package/subscriptions/websiteBuilder/pages/PageAfterMoveHandler.js.map +1 -0
  279. package/subscriptions/websiteBuilder/pages/PageAfterPublishHandler.d.ts +11 -0
  280. package/subscriptions/websiteBuilder/pages/PageAfterPublishHandler.js +35 -0
  281. package/subscriptions/websiteBuilder/pages/PageAfterPublishHandler.js.map +1 -0
  282. package/subscriptions/websiteBuilder/pages/PageAfterUnpublishHandler.d.ts +11 -0
  283. package/subscriptions/websiteBuilder/pages/PageAfterUnpublishHandler.js +35 -0
  284. package/subscriptions/websiteBuilder/pages/PageAfterUnpublishHandler.js.map +1 -0
  285. package/subscriptions/websiteBuilder/pages/PageAfterUpdateHandler.d.ts +11 -0
  286. package/subscriptions/websiteBuilder/pages/PageAfterUpdateHandler.js +38 -0
  287. package/subscriptions/websiteBuilder/pages/PageAfterUpdateHandler.js.map +1 -0
  288. package/subscriptions/websiteBuilder/redirects/RedirectAfterCreateHandler.d.ts +11 -0
  289. package/subscriptions/websiteBuilder/redirects/RedirectAfterCreateHandler.js +35 -0
  290. package/subscriptions/websiteBuilder/redirects/RedirectAfterCreateHandler.js.map +1 -0
  291. package/subscriptions/websiteBuilder/redirects/RedirectAfterDeleteHandler.d.ts +11 -0
  292. package/subscriptions/websiteBuilder/redirects/RedirectAfterDeleteHandler.js +35 -0
  293. package/subscriptions/websiteBuilder/redirects/RedirectAfterDeleteHandler.js.map +1 -0
  294. package/subscriptions/websiteBuilder/redirects/RedirectAfterMoveHandler.d.ts +11 -0
  295. package/subscriptions/websiteBuilder/redirects/RedirectAfterMoveHandler.js +35 -0
  296. package/subscriptions/websiteBuilder/redirects/RedirectAfterMoveHandler.js.map +1 -0
  297. package/subscriptions/websiteBuilder/redirects/RedirectAfterUpdateHandler.d.ts +11 -0
  298. package/subscriptions/websiteBuilder/redirects/RedirectAfterUpdateHandler.js +38 -0
  299. package/subscriptions/websiteBuilder/redirects/RedirectAfterUpdateHandler.js.map +1 -0
  300. package/types.d.ts +29 -0
  301. package/types.js +0 -0
  302. package/utils/expiresAt.d.ts +4 -0
  303. package/utils/expiresAt.js +20 -0
  304. package/utils/expiresAt.js.map +1 -0
  305. package/utils/getAuditObject.d.ts +3 -0
  306. package/utils/getAuditObject.js +17 -0
  307. package/utils/getAuditObject.js.map +1 -0
@@ -0,0 +1,38 @@
1
+ import _webiny_error from "@webiny/error";
2
+ import { RoleAfterUpdateEventHandler } from "@webiny/api-core/features/security/roles/UpdateRole/index.js";
3
+ import { RecordAuditLogUseCase } from "../../../features/RecordAuditLog/abstractions.js";
4
+ import { AUDIT } from "../../../config.js";
5
+ class AuditLogRoleAfterUpdateHandlerImpl {
6
+ constructor(recordAuditLog){
7
+ this.recordAuditLog = recordAuditLog;
8
+ }
9
+ async handle(event) {
10
+ try {
11
+ const { updated, original } = event.payload;
12
+ const recordResult = await this.recordAuditLog.execute({
13
+ audit: AUDIT.SECURITY.ROLE.UPDATE,
14
+ message: "Role updated",
15
+ content: {
16
+ before: original,
17
+ after: updated
18
+ },
19
+ entityId: updated.id
20
+ });
21
+ if (recordResult.isFail()) throw recordResult.error;
22
+ } catch (error) {
23
+ throw _webiny_error.from(error, {
24
+ message: "Error while executing AuditLogRoleAfterUpdateHandler",
25
+ code: "AUDIT_LOGS_AFTER_ROLE_UPDATE_HANDLER"
26
+ });
27
+ }
28
+ }
29
+ }
30
+ const AuditLogRoleAfterUpdateHandler = RoleAfterUpdateEventHandler.createImplementation({
31
+ implementation: AuditLogRoleAfterUpdateHandlerImpl,
32
+ dependencies: [
33
+ RecordAuditLogUseCase
34
+ ]
35
+ });
36
+ export { AuditLogRoleAfterUpdateHandler };
37
+
38
+ //# sourceMappingURL=AuditLogRoleAfterUpdateHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscriptions/security/handlers/AuditLogRoleAfterUpdateHandler.js","sources":["../../../../src/subscriptions/security/handlers/AuditLogRoleAfterUpdateHandler.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { RoleAfterUpdateEventHandler } from \"@webiny/api-core/features/security/roles/UpdateRole/index.js\";\nimport { RecordAuditLogUseCase } from \"~/features/RecordAuditLog/abstractions.js\";\nimport { AUDIT } from \"~/config.js\";\n\nclass AuditLogRoleAfterUpdateHandlerImpl implements RoleAfterUpdateEventHandler.Interface {\n constructor(private recordAuditLog: RecordAuditLogUseCase.Interface) {}\n\n async handle(event: RoleAfterUpdateEventHandler.Event): Promise<void> {\n try {\n const { updated, original } = event.payload;\n\n const recordResult = await this.recordAuditLog.execute({\n audit: AUDIT.SECURITY.ROLE.UPDATE,\n message: \"Role updated\",\n content: { before: original, after: updated },\n entityId: updated.id\n });\n if (recordResult.isFail()) {\n throw recordResult.error;\n }\n } catch (error) {\n throw WebinyError.from(error, {\n message: \"Error while executing AuditLogRoleAfterUpdateHandler\",\n code: \"AUDIT_LOGS_AFTER_ROLE_UPDATE_HANDLER\"\n });\n }\n }\n}\n\nexport const AuditLogRoleAfterUpdateHandler = RoleAfterUpdateEventHandler.createImplementation({\n implementation: AuditLogRoleAfterUpdateHandlerImpl,\n dependencies: [RecordAuditLogUseCase]\n});\n"],"names":["AuditLogRoleAfterUpdateHandlerImpl","recordAuditLog","event","updated","original","recordResult","AUDIT","error","WebinyError","AuditLogRoleAfterUpdateHandler","RoleAfterUpdateEventHandler","RecordAuditLogUseCase"],"mappings":";;;;AAKA,MAAMA;IACF,YAAoBC,cAA+C,CAAE;aAAjDA,cAAc,GAAdA;IAAkD;IAEtE,MAAM,OAAOC,KAAwC,EAAiB;QAClE,IAAI;YACA,MAAM,EAAEC,OAAO,EAAEC,QAAQ,EAAE,GAAGF,MAAM,OAAO;YAE3C,MAAMG,eAAe,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;gBACnD,OAAOC,MAAM,QAAQ,CAAC,IAAI,CAAC,MAAM;gBACjC,SAAS;gBACT,SAAS;oBAAE,QAAQF;oBAAU,OAAOD;gBAAQ;gBAC5C,UAAUA,QAAQ,EAAE;YACxB;YACA,IAAIE,aAAa,MAAM,IACnB,MAAMA,aAAa,KAAK;QAEhC,EAAE,OAAOE,OAAO;YACZ,MAAMC,cAAAA,IAAgB,CAACD,OAAO;gBAC1B,SAAS;gBACT,MAAM;YACV;QACJ;IACJ;AACJ;AAEO,MAAME,iCAAiCC,4BAA4B,oBAAoB,CAAC;IAC3F,gBAAgBV;IAChB,cAAc;QAACW;KAAsB;AACzC"}
@@ -0,0 +1,11 @@
1
+ import { TeamAfterCreateEventHandler } from "@webiny/api-core/features/security/teams/CreateTeam/index.js";
2
+ import { RecordAuditLogUseCase } from "../../../features/RecordAuditLog/abstractions.js";
3
+ declare class AuditLogTeamAfterCreateHandlerImpl implements TeamAfterCreateEventHandler.Interface {
4
+ private recordAuditLog;
5
+ constructor(recordAuditLog: RecordAuditLogUseCase.Interface);
6
+ handle(event: TeamAfterCreateEventHandler.Event): Promise<void>;
7
+ }
8
+ export declare const AuditLogTeamAfterCreateHandler: typeof AuditLogTeamAfterCreateHandlerImpl & {
9
+ __abstraction: import("@webiny/di").Abstraction<import("@webiny/api-core/features/eventPublisher").IEventHandler<import("@webiny/api-core/features/security/teams/CreateTeam/events").TeamAfterCreateEvent>>;
10
+ };
11
+ export {};
@@ -0,0 +1,35 @@
1
+ import _webiny_error from "@webiny/error";
2
+ import { TeamAfterCreateEventHandler } from "@webiny/api-core/features/security/teams/CreateTeam/index.js";
3
+ import { RecordAuditLogUseCase } from "../../../features/RecordAuditLog/abstractions.js";
4
+ import { AUDIT } from "../../../config.js";
5
+ class AuditLogTeamAfterCreateHandlerImpl {
6
+ constructor(recordAuditLog){
7
+ this.recordAuditLog = recordAuditLog;
8
+ }
9
+ async handle(event) {
10
+ try {
11
+ const { team } = event.payload;
12
+ const recordResult = await this.recordAuditLog.execute({
13
+ audit: AUDIT.SECURITY.TEAM.CREATE,
14
+ message: "Team created",
15
+ content: team,
16
+ entityId: team.id
17
+ });
18
+ if (recordResult.isFail()) throw recordResult.error;
19
+ } catch (error) {
20
+ throw _webiny_error.from(error, {
21
+ message: "Error while executing AuditLogTeamAfterCreateHandler",
22
+ code: "AUDIT_LOGS_AFTER_TEAM_CREATE_HANDLER"
23
+ });
24
+ }
25
+ }
26
+ }
27
+ const AuditLogTeamAfterCreateHandler = TeamAfterCreateEventHandler.createImplementation({
28
+ implementation: AuditLogTeamAfterCreateHandlerImpl,
29
+ dependencies: [
30
+ RecordAuditLogUseCase
31
+ ]
32
+ });
33
+ export { AuditLogTeamAfterCreateHandler };
34
+
35
+ //# sourceMappingURL=AuditLogTeamAfterCreateHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscriptions/security/handlers/AuditLogTeamAfterCreateHandler.js","sources":["../../../../src/subscriptions/security/handlers/AuditLogTeamAfterCreateHandler.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { TeamAfterCreateEventHandler } from \"@webiny/api-core/features/security/teams/CreateTeam/index.js\";\nimport { RecordAuditLogUseCase } from \"~/features/RecordAuditLog/abstractions.js\";\nimport { AUDIT } from \"~/config.js\";\n\nclass AuditLogTeamAfterCreateHandlerImpl implements TeamAfterCreateEventHandler.Interface {\n constructor(private recordAuditLog: RecordAuditLogUseCase.Interface) {}\n\n async handle(event: TeamAfterCreateEventHandler.Event): Promise<void> {\n try {\n const { team } = event.payload;\n\n const recordResult = await this.recordAuditLog.execute({\n audit: AUDIT.SECURITY.TEAM.CREATE,\n message: \"Team created\",\n content: team,\n entityId: team.id\n });\n if (recordResult.isFail()) {\n throw recordResult.error;\n }\n } catch (error) {\n throw WebinyError.from(error, {\n message: \"Error while executing AuditLogTeamAfterCreateHandler\",\n code: \"AUDIT_LOGS_AFTER_TEAM_CREATE_HANDLER\"\n });\n }\n }\n}\n\nexport const AuditLogTeamAfterCreateHandler = TeamAfterCreateEventHandler.createImplementation({\n implementation: AuditLogTeamAfterCreateHandlerImpl,\n dependencies: [RecordAuditLogUseCase]\n});\n"],"names":["AuditLogTeamAfterCreateHandlerImpl","recordAuditLog","event","team","recordResult","AUDIT","error","WebinyError","AuditLogTeamAfterCreateHandler","TeamAfterCreateEventHandler","RecordAuditLogUseCase"],"mappings":";;;;AAKA,MAAMA;IACF,YAAoBC,cAA+C,CAAE;aAAjDA,cAAc,GAAdA;IAAkD;IAEtE,MAAM,OAAOC,KAAwC,EAAiB;QAClE,IAAI;YACA,MAAM,EAAEC,IAAI,EAAE,GAAGD,MAAM,OAAO;YAE9B,MAAME,eAAe,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;gBACnD,OAAOC,MAAM,QAAQ,CAAC,IAAI,CAAC,MAAM;gBACjC,SAAS;gBACT,SAASF;gBACT,UAAUA,KAAK,EAAE;YACrB;YACA,IAAIC,aAAa,MAAM,IACnB,MAAMA,aAAa,KAAK;QAEhC,EAAE,OAAOE,OAAO;YACZ,MAAMC,cAAAA,IAAgB,CAACD,OAAO;gBAC1B,SAAS;gBACT,MAAM;YACV;QACJ;IACJ;AACJ;AAEO,MAAME,iCAAiCC,4BAA4B,oBAAoB,CAAC;IAC3F,gBAAgBT;IAChB,cAAc;QAACU;KAAsB;AACzC"}
@@ -0,0 +1,11 @@
1
+ import { TeamAfterDeleteEventHandler } from "@webiny/api-core/features/security/teams/DeleteTeam/index.js";
2
+ import { RecordAuditLogUseCase } from "../../../features/RecordAuditLog/abstractions.js";
3
+ declare class AuditLogTeamAfterDeleteHandlerImpl implements TeamAfterDeleteEventHandler.Interface {
4
+ private recordAuditLog;
5
+ constructor(recordAuditLog: RecordAuditLogUseCase.Interface);
6
+ handle(event: TeamAfterDeleteEventHandler.Event): Promise<void>;
7
+ }
8
+ export declare const AuditLogTeamAfterDeleteHandler: typeof AuditLogTeamAfterDeleteHandlerImpl & {
9
+ __abstraction: import("@webiny/di").Abstraction<import("@webiny/api-core/features/eventPublisher").IEventHandler<import("@webiny/api-core/features/security/teams/DeleteTeam/events").TeamAfterDeleteEvent>>;
10
+ };
11
+ export {};
@@ -0,0 +1,35 @@
1
+ import _webiny_error from "@webiny/error";
2
+ import { TeamAfterDeleteEventHandler } from "@webiny/api-core/features/security/teams/DeleteTeam/index.js";
3
+ import { RecordAuditLogUseCase } from "../../../features/RecordAuditLog/abstractions.js";
4
+ import { AUDIT } from "../../../config.js";
5
+ class AuditLogTeamAfterDeleteHandlerImpl {
6
+ constructor(recordAuditLog){
7
+ this.recordAuditLog = recordAuditLog;
8
+ }
9
+ async handle(event) {
10
+ try {
11
+ const { team } = event.payload;
12
+ const recordResult = await this.recordAuditLog.execute({
13
+ audit: AUDIT.SECURITY.TEAM.DELETE,
14
+ message: "Team deleted",
15
+ content: team,
16
+ entityId: team.id
17
+ });
18
+ if (recordResult.isFail()) throw recordResult.error;
19
+ } catch (error) {
20
+ throw _webiny_error.from(error, {
21
+ message: "Error while executing AuditLogTeamAfterDeleteHandler",
22
+ code: "AUDIT_LOGS_AFTER_TEAM_DELETE_HANDLER"
23
+ });
24
+ }
25
+ }
26
+ }
27
+ const AuditLogTeamAfterDeleteHandler = TeamAfterDeleteEventHandler.createImplementation({
28
+ implementation: AuditLogTeamAfterDeleteHandlerImpl,
29
+ dependencies: [
30
+ RecordAuditLogUseCase
31
+ ]
32
+ });
33
+ export { AuditLogTeamAfterDeleteHandler };
34
+
35
+ //# sourceMappingURL=AuditLogTeamAfterDeleteHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscriptions/security/handlers/AuditLogTeamAfterDeleteHandler.js","sources":["../../../../src/subscriptions/security/handlers/AuditLogTeamAfterDeleteHandler.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { TeamAfterDeleteEventHandler } from \"@webiny/api-core/features/security/teams/DeleteTeam/index.js\";\nimport { RecordAuditLogUseCase } from \"~/features/RecordAuditLog/abstractions.js\";\nimport { AUDIT } from \"~/config.js\";\n\nclass AuditLogTeamAfterDeleteHandlerImpl implements TeamAfterDeleteEventHandler.Interface {\n constructor(private recordAuditLog: RecordAuditLogUseCase.Interface) {}\n\n async handle(event: TeamAfterDeleteEventHandler.Event): Promise<void> {\n try {\n const { team } = event.payload;\n\n const recordResult = await this.recordAuditLog.execute({\n audit: AUDIT.SECURITY.TEAM.DELETE,\n message: \"Team deleted\",\n content: team,\n entityId: team.id\n });\n if (recordResult.isFail()) {\n throw recordResult.error;\n }\n } catch (error) {\n throw WebinyError.from(error, {\n message: \"Error while executing AuditLogTeamAfterDeleteHandler\",\n code: \"AUDIT_LOGS_AFTER_TEAM_DELETE_HANDLER\"\n });\n }\n }\n}\n\nexport const AuditLogTeamAfterDeleteHandler = TeamAfterDeleteEventHandler.createImplementation({\n implementation: AuditLogTeamAfterDeleteHandlerImpl,\n dependencies: [RecordAuditLogUseCase]\n});\n"],"names":["AuditLogTeamAfterDeleteHandlerImpl","recordAuditLog","event","team","recordResult","AUDIT","error","WebinyError","AuditLogTeamAfterDeleteHandler","TeamAfterDeleteEventHandler","RecordAuditLogUseCase"],"mappings":";;;;AAKA,MAAMA;IACF,YAAoBC,cAA+C,CAAE;aAAjDA,cAAc,GAAdA;IAAkD;IAEtE,MAAM,OAAOC,KAAwC,EAAiB;QAClE,IAAI;YACA,MAAM,EAAEC,IAAI,EAAE,GAAGD,MAAM,OAAO;YAE9B,MAAME,eAAe,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;gBACnD,OAAOC,MAAM,QAAQ,CAAC,IAAI,CAAC,MAAM;gBACjC,SAAS;gBACT,SAASF;gBACT,UAAUA,KAAK,EAAE;YACrB;YACA,IAAIC,aAAa,MAAM,IACnB,MAAMA,aAAa,KAAK;QAEhC,EAAE,OAAOE,OAAO;YACZ,MAAMC,cAAAA,IAAgB,CAACD,OAAO;gBAC1B,SAAS;gBACT,MAAM;YACV;QACJ;IACJ;AACJ;AAEO,MAAME,iCAAiCC,4BAA4B,oBAAoB,CAAC;IAC3F,gBAAgBT;IAChB,cAAc;QAACU;KAAsB;AACzC"}
@@ -0,0 +1,11 @@
1
+ import { TeamAfterUpdateEventHandler } from "@webiny/api-core/features/security/teams/UpdateTeam/index.js";
2
+ import { RecordAuditLogUseCase } from "../../../features/RecordAuditLog/abstractions.js";
3
+ declare class AuditLogTeamAfterUpdateHandlerImpl implements TeamAfterUpdateEventHandler.Interface {
4
+ private recordAuditLog;
5
+ constructor(recordAuditLog: RecordAuditLogUseCase.Interface);
6
+ handle(event: TeamAfterUpdateEventHandler.Event): Promise<void>;
7
+ }
8
+ export declare const AuditLogTeamAfterUpdateHandler: typeof AuditLogTeamAfterUpdateHandlerImpl & {
9
+ __abstraction: import("@webiny/di").Abstraction<import("@webiny/api-core/features/eventPublisher").IEventHandler<import("@webiny/api-core/features/security/teams/UpdateTeam/events").TeamAfterUpdateEvent>>;
10
+ };
11
+ export {};
@@ -0,0 +1,38 @@
1
+ import _webiny_error from "@webiny/error";
2
+ import { TeamAfterUpdateEventHandler } from "@webiny/api-core/features/security/teams/UpdateTeam/index.js";
3
+ import { RecordAuditLogUseCase } from "../../../features/RecordAuditLog/abstractions.js";
4
+ import { AUDIT } from "../../../config.js";
5
+ class AuditLogTeamAfterUpdateHandlerImpl {
6
+ constructor(recordAuditLog){
7
+ this.recordAuditLog = recordAuditLog;
8
+ }
9
+ async handle(event) {
10
+ try {
11
+ const { updated, original } = event.payload;
12
+ const recordResult = await this.recordAuditLog.execute({
13
+ audit: AUDIT.SECURITY.TEAM.UPDATE,
14
+ message: "Team updated",
15
+ content: {
16
+ before: original,
17
+ after: updated
18
+ },
19
+ entityId: updated.id
20
+ });
21
+ if (recordResult.isFail()) throw recordResult.error;
22
+ } catch (error) {
23
+ throw _webiny_error.from(error, {
24
+ message: "Error while executing AuditLogTeamAfterUpdateHandler",
25
+ code: "AUDIT_LOGS_AFTER_TEAM_UPDATE_HANDLER"
26
+ });
27
+ }
28
+ }
29
+ }
30
+ const AuditLogTeamAfterUpdateHandler = TeamAfterUpdateEventHandler.createImplementation({
31
+ implementation: AuditLogTeamAfterUpdateHandlerImpl,
32
+ dependencies: [
33
+ RecordAuditLogUseCase
34
+ ]
35
+ });
36
+ export { AuditLogTeamAfterUpdateHandler };
37
+
38
+ //# sourceMappingURL=AuditLogTeamAfterUpdateHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscriptions/security/handlers/AuditLogTeamAfterUpdateHandler.js","sources":["../../../../src/subscriptions/security/handlers/AuditLogTeamAfterUpdateHandler.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { TeamAfterUpdateEventHandler } from \"@webiny/api-core/features/security/teams/UpdateTeam/index.js\";\nimport { RecordAuditLogUseCase } from \"~/features/RecordAuditLog/abstractions.js\";\nimport { AUDIT } from \"~/config.js\";\n\nclass AuditLogTeamAfterUpdateHandlerImpl implements TeamAfterUpdateEventHandler.Interface {\n constructor(private recordAuditLog: RecordAuditLogUseCase.Interface) {}\n\n async handle(event: TeamAfterUpdateEventHandler.Event): Promise<void> {\n try {\n const { updated, original } = event.payload;\n\n const recordResult = await this.recordAuditLog.execute({\n audit: AUDIT.SECURITY.TEAM.UPDATE,\n message: \"Team updated\",\n content: { before: original, after: updated },\n entityId: updated.id\n });\n if (recordResult.isFail()) {\n throw recordResult.error;\n }\n } catch (error) {\n throw WebinyError.from(error, {\n message: \"Error while executing AuditLogTeamAfterUpdateHandler\",\n code: \"AUDIT_LOGS_AFTER_TEAM_UPDATE_HANDLER\"\n });\n }\n }\n}\n\nexport const AuditLogTeamAfterUpdateHandler = TeamAfterUpdateEventHandler.createImplementation({\n implementation: AuditLogTeamAfterUpdateHandlerImpl,\n dependencies: [RecordAuditLogUseCase]\n});\n"],"names":["AuditLogTeamAfterUpdateHandlerImpl","recordAuditLog","event","updated","original","recordResult","AUDIT","error","WebinyError","AuditLogTeamAfterUpdateHandler","TeamAfterUpdateEventHandler","RecordAuditLogUseCase"],"mappings":";;;;AAKA,MAAMA;IACF,YAAoBC,cAA+C,CAAE;aAAjDA,cAAc,GAAdA;IAAkD;IAEtE,MAAM,OAAOC,KAAwC,EAAiB;QAClE,IAAI;YACA,MAAM,EAAEC,OAAO,EAAEC,QAAQ,EAAE,GAAGF,MAAM,OAAO;YAE3C,MAAMG,eAAe,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;gBACnD,OAAOC,MAAM,QAAQ,CAAC,IAAI,CAAC,MAAM;gBACjC,SAAS;gBACT,SAAS;oBAAE,QAAQF;oBAAU,OAAOD;gBAAQ;gBAC5C,UAAUA,QAAQ,EAAE;YACxB;YACA,IAAIE,aAAa,MAAM,IACnB,MAAMA,aAAa,KAAK;QAEhC,EAAE,OAAOE,OAAO;YACZ,MAAMC,cAAAA,IAAgB,CAACD,OAAO;gBAC1B,SAAS;gBACT,MAAM;YACV;QACJ;IACJ;AACJ;AAEO,MAAME,iCAAiCC,4BAA4B,oBAAoB,CAAC;IAC3F,gBAAgBV;IAChB,cAAc;QAACW;KAAsB;AACzC"}
@@ -0,0 +1,11 @@
1
+ import { UserAfterCreateEventHandler } from "@webiny/api-core/features/users/CreateUser/index.js";
2
+ import { RecordAuditLogUseCase } from "../../../features/RecordAuditLog/abstractions.js";
3
+ declare class AuditLogUserAfterCreateHandlerImpl implements UserAfterCreateEventHandler.Interface {
4
+ private recordAuditLog;
5
+ constructor(recordAuditLog: RecordAuditLogUseCase.Interface);
6
+ handle(event: UserAfterCreateEventHandler.Event): Promise<void>;
7
+ }
8
+ export declare const AuditLogUserAfterCreateHandler: typeof AuditLogUserAfterCreateHandlerImpl & {
9
+ __abstraction: import("@webiny/di").Abstraction<import("@webiny/api-core/features/eventPublisher").IEventHandler<import("@webiny/api-core/features/users/CreateUser/events").UserAfterCreateEvent>>;
10
+ };
11
+ export {};
@@ -0,0 +1,35 @@
1
+ import _webiny_error from "@webiny/error";
2
+ import { UserAfterCreateEventHandler } from "@webiny/api-core/features/users/CreateUser/index.js";
3
+ import { RecordAuditLogUseCase } from "../../../features/RecordAuditLog/abstractions.js";
4
+ import { AUDIT } from "../../../config.js";
5
+ class AuditLogUserAfterCreateHandlerImpl {
6
+ constructor(recordAuditLog){
7
+ this.recordAuditLog = recordAuditLog;
8
+ }
9
+ async handle(event) {
10
+ try {
11
+ const { user } = event.payload;
12
+ const recordResult = await this.recordAuditLog.execute({
13
+ audit: AUDIT.SECURITY.USER.CREATE,
14
+ message: "User created",
15
+ content: user,
16
+ entityId: user.id
17
+ });
18
+ if (recordResult.isFail()) throw recordResult.error;
19
+ } catch (error) {
20
+ throw _webiny_error.from(error, {
21
+ message: "Error while executing AuditLogUserAfterCreateHandler",
22
+ code: "AUDIT_LOGS_AFTER_USER_CREATE_HANDLER"
23
+ });
24
+ }
25
+ }
26
+ }
27
+ const AuditLogUserAfterCreateHandler = UserAfterCreateEventHandler.createImplementation({
28
+ implementation: AuditLogUserAfterCreateHandlerImpl,
29
+ dependencies: [
30
+ RecordAuditLogUseCase
31
+ ]
32
+ });
33
+ export { AuditLogUserAfterCreateHandler };
34
+
35
+ //# sourceMappingURL=AuditLogUserAfterCreateHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscriptions/security/handlers/AuditLogUserAfterCreateHandler.js","sources":["../../../../src/subscriptions/security/handlers/AuditLogUserAfterCreateHandler.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { UserAfterCreateEventHandler } from \"@webiny/api-core/features/users/CreateUser/index.js\";\nimport { RecordAuditLogUseCase } from \"~/features/RecordAuditLog/abstractions.js\";\nimport { AUDIT } from \"~/config.js\";\n\nclass AuditLogUserAfterCreateHandlerImpl implements UserAfterCreateEventHandler.Interface {\n constructor(private recordAuditLog: RecordAuditLogUseCase.Interface) {}\n\n async handle(event: UserAfterCreateEventHandler.Event): Promise<void> {\n try {\n const { user } = event.payload;\n\n const recordResult = await this.recordAuditLog.execute({\n audit: AUDIT.SECURITY.USER.CREATE,\n message: \"User created\",\n content: user,\n entityId: user.id\n });\n if (recordResult.isFail()) {\n throw recordResult.error;\n }\n } catch (error) {\n throw WebinyError.from(error, {\n message: \"Error while executing AuditLogUserAfterCreateHandler\",\n code: \"AUDIT_LOGS_AFTER_USER_CREATE_HANDLER\"\n });\n }\n }\n}\n\nexport const AuditLogUserAfterCreateHandler = UserAfterCreateEventHandler.createImplementation({\n implementation: AuditLogUserAfterCreateHandlerImpl,\n dependencies: [RecordAuditLogUseCase]\n});\n"],"names":["AuditLogUserAfterCreateHandlerImpl","recordAuditLog","event","user","recordResult","AUDIT","error","WebinyError","AuditLogUserAfterCreateHandler","UserAfterCreateEventHandler","RecordAuditLogUseCase"],"mappings":";;;;AAKA,MAAMA;IACF,YAAoBC,cAA+C,CAAE;aAAjDA,cAAc,GAAdA;IAAkD;IAEtE,MAAM,OAAOC,KAAwC,EAAiB;QAClE,IAAI;YACA,MAAM,EAAEC,IAAI,EAAE,GAAGD,MAAM,OAAO;YAE9B,MAAME,eAAe,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;gBACnD,OAAOC,MAAM,QAAQ,CAAC,IAAI,CAAC,MAAM;gBACjC,SAAS;gBACT,SAASF;gBACT,UAAUA,KAAK,EAAE;YACrB;YACA,IAAIC,aAAa,MAAM,IACnB,MAAMA,aAAa,KAAK;QAEhC,EAAE,OAAOE,OAAO;YACZ,MAAMC,cAAAA,IAAgB,CAACD,OAAO;gBAC1B,SAAS;gBACT,MAAM;YACV;QACJ;IACJ;AACJ;AAEO,MAAME,iCAAiCC,4BAA4B,oBAAoB,CAAC;IAC3F,gBAAgBT;IAChB,cAAc;QAACU;KAAsB;AACzC"}
@@ -0,0 +1,11 @@
1
+ import { UserAfterDeleteEventHandler } from "@webiny/api-core/features/users/DeleteUser/index.js";
2
+ import { RecordAuditLogUseCase } from "../../../features/RecordAuditLog/abstractions.js";
3
+ declare class AuditLogUserAfterDeleteHandlerImpl implements UserAfterDeleteEventHandler.Interface {
4
+ private recordAuditLog;
5
+ constructor(recordAuditLog: RecordAuditLogUseCase.Interface);
6
+ handle(event: UserAfterDeleteEventHandler.Event): Promise<void>;
7
+ }
8
+ export declare const AuditLogUserAfterDeleteHandler: typeof AuditLogUserAfterDeleteHandlerImpl & {
9
+ __abstraction: import("@webiny/di").Abstraction<import("@webiny/api-core/features/eventPublisher").IEventHandler<import("@webiny/api-core/features/users/DeleteUser/events").UserAfterDeleteEvent>>;
10
+ };
11
+ export {};
@@ -0,0 +1,35 @@
1
+ import _webiny_error from "@webiny/error";
2
+ import { UserAfterDeleteEventHandler } from "@webiny/api-core/features/users/DeleteUser/index.js";
3
+ import { RecordAuditLogUseCase } from "../../../features/RecordAuditLog/abstractions.js";
4
+ import { AUDIT } from "../../../config.js";
5
+ class AuditLogUserAfterDeleteHandlerImpl {
6
+ constructor(recordAuditLog){
7
+ this.recordAuditLog = recordAuditLog;
8
+ }
9
+ async handle(event) {
10
+ try {
11
+ const { user } = event.payload;
12
+ const recordResult = await this.recordAuditLog.execute({
13
+ audit: AUDIT.SECURITY.USER.DELETE,
14
+ message: "User deleted",
15
+ content: user,
16
+ entityId: user.id
17
+ });
18
+ if (recordResult.isFail()) throw recordResult.error;
19
+ } catch (error) {
20
+ throw _webiny_error.from(error, {
21
+ message: "Error while executing AuditLogUserAfterDeleteHandler",
22
+ code: "AUDIT_LOGS_AFTER_USER_DELETE_HANDLER"
23
+ });
24
+ }
25
+ }
26
+ }
27
+ const AuditLogUserAfterDeleteHandler = UserAfterDeleteEventHandler.createImplementation({
28
+ implementation: AuditLogUserAfterDeleteHandlerImpl,
29
+ dependencies: [
30
+ RecordAuditLogUseCase
31
+ ]
32
+ });
33
+ export { AuditLogUserAfterDeleteHandler };
34
+
35
+ //# sourceMappingURL=AuditLogUserAfterDeleteHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscriptions/security/handlers/AuditLogUserAfterDeleteHandler.js","sources":["../../../../src/subscriptions/security/handlers/AuditLogUserAfterDeleteHandler.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { UserAfterDeleteEventHandler } from \"@webiny/api-core/features/users/DeleteUser/index.js\";\nimport { RecordAuditLogUseCase } from \"~/features/RecordAuditLog/abstractions.js\";\nimport { AUDIT } from \"~/config.js\";\n\nclass AuditLogUserAfterDeleteHandlerImpl implements UserAfterDeleteEventHandler.Interface {\n constructor(private recordAuditLog: RecordAuditLogUseCase.Interface) {}\n\n async handle(event: UserAfterDeleteEventHandler.Event): Promise<void> {\n try {\n const { user } = event.payload;\n\n const recordResult = await this.recordAuditLog.execute({\n audit: AUDIT.SECURITY.USER.DELETE,\n message: \"User deleted\",\n content: user,\n entityId: user.id\n });\n if (recordResult.isFail()) {\n throw recordResult.error;\n }\n } catch (error) {\n throw WebinyError.from(error, {\n message: \"Error while executing AuditLogUserAfterDeleteHandler\",\n code: \"AUDIT_LOGS_AFTER_USER_DELETE_HANDLER\"\n });\n }\n }\n}\n\nexport const AuditLogUserAfterDeleteHandler = UserAfterDeleteEventHandler.createImplementation({\n implementation: AuditLogUserAfterDeleteHandlerImpl,\n dependencies: [RecordAuditLogUseCase]\n});\n"],"names":["AuditLogUserAfterDeleteHandlerImpl","recordAuditLog","event","user","recordResult","AUDIT","error","WebinyError","AuditLogUserAfterDeleteHandler","UserAfterDeleteEventHandler","RecordAuditLogUseCase"],"mappings":";;;;AAKA,MAAMA;IACF,YAAoBC,cAA+C,CAAE;aAAjDA,cAAc,GAAdA;IAAkD;IAEtE,MAAM,OAAOC,KAAwC,EAAiB;QAClE,IAAI;YACA,MAAM,EAAEC,IAAI,EAAE,GAAGD,MAAM,OAAO;YAE9B,MAAME,eAAe,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;gBACnD,OAAOC,MAAM,QAAQ,CAAC,IAAI,CAAC,MAAM;gBACjC,SAAS;gBACT,SAASF;gBACT,UAAUA,KAAK,EAAE;YACrB;YACA,IAAIC,aAAa,MAAM,IACnB,MAAMA,aAAa,KAAK;QAEhC,EAAE,OAAOE,OAAO;YACZ,MAAMC,cAAAA,IAAgB,CAACD,OAAO;gBAC1B,SAAS;gBACT,MAAM;YACV;QACJ;IACJ;AACJ;AAEO,MAAME,iCAAiCC,4BAA4B,oBAAoB,CAAC;IAC3F,gBAAgBT;IAChB,cAAc;QAACU;KAAsB;AACzC"}
@@ -0,0 +1,11 @@
1
+ import { UserAfterUpdateEventHandler } from "@webiny/api-core/features/users/UpdateUser/index.js";
2
+ import { RecordAuditLogUseCase } from "../../../features/RecordAuditLog/abstractions.js";
3
+ declare class AuditLogUserAfterUpdateHandlerImpl implements UserAfterUpdateEventHandler.Interface {
4
+ private recordAuditLog;
5
+ constructor(recordAuditLog: RecordAuditLogUseCase.Interface);
6
+ handle(event: UserAfterUpdateEventHandler.Event): Promise<void>;
7
+ }
8
+ export declare const AuditLogUserAfterUpdateHandler: typeof AuditLogUserAfterUpdateHandlerImpl & {
9
+ __abstraction: import("@webiny/di").Abstraction<import("@webiny/api-core/features/eventPublisher").IEventHandler<import("@webiny/api-core/features/users/UpdateUser/events").UserAfterUpdateEvent>>;
10
+ };
11
+ export {};
@@ -0,0 +1,38 @@
1
+ import _webiny_error from "@webiny/error";
2
+ import { UserAfterUpdateEventHandler } from "@webiny/api-core/features/users/UpdateUser/index.js";
3
+ import { RecordAuditLogUseCase } from "../../../features/RecordAuditLog/abstractions.js";
4
+ import { AUDIT } from "../../../config.js";
5
+ class AuditLogUserAfterUpdateHandlerImpl {
6
+ constructor(recordAuditLog){
7
+ this.recordAuditLog = recordAuditLog;
8
+ }
9
+ async handle(event) {
10
+ try {
11
+ const { updatedUser, originalUser } = event.payload;
12
+ const recordResult = await this.recordAuditLog.execute({
13
+ audit: AUDIT.SECURITY.USER.UPDATE,
14
+ message: "User updated",
15
+ content: {
16
+ before: originalUser,
17
+ after: updatedUser
18
+ },
19
+ entityId: updatedUser.id
20
+ });
21
+ if (recordResult.isFail()) throw recordResult.error;
22
+ } catch (error) {
23
+ throw _webiny_error.from(error, {
24
+ message: "Error while executing AuditLogUserAfterUpdateHandler",
25
+ code: "AUDIT_LOGS_AFTER_USER_UPDATE_HANDLER"
26
+ });
27
+ }
28
+ }
29
+ }
30
+ const AuditLogUserAfterUpdateHandler = UserAfterUpdateEventHandler.createImplementation({
31
+ implementation: AuditLogUserAfterUpdateHandlerImpl,
32
+ dependencies: [
33
+ RecordAuditLogUseCase
34
+ ]
35
+ });
36
+ export { AuditLogUserAfterUpdateHandler };
37
+
38
+ //# sourceMappingURL=AuditLogUserAfterUpdateHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscriptions/security/handlers/AuditLogUserAfterUpdateHandler.js","sources":["../../../../src/subscriptions/security/handlers/AuditLogUserAfterUpdateHandler.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { UserAfterUpdateEventHandler } from \"@webiny/api-core/features/users/UpdateUser/index.js\";\nimport { RecordAuditLogUseCase } from \"~/features/RecordAuditLog/abstractions.js\";\nimport { AUDIT } from \"~/config.js\";\n\nclass AuditLogUserAfterUpdateHandlerImpl implements UserAfterUpdateEventHandler.Interface {\n constructor(private recordAuditLog: RecordAuditLogUseCase.Interface) {}\n\n async handle(event: UserAfterUpdateEventHandler.Event): Promise<void> {\n try {\n const { updatedUser, originalUser } = event.payload;\n\n const recordResult = await this.recordAuditLog.execute({\n audit: AUDIT.SECURITY.USER.UPDATE,\n message: \"User updated\",\n content: { before: originalUser, after: updatedUser },\n entityId: updatedUser.id\n });\n if (recordResult.isFail()) {\n throw recordResult.error;\n }\n } catch (error) {\n throw WebinyError.from(error, {\n message: \"Error while executing AuditLogUserAfterUpdateHandler\",\n code: \"AUDIT_LOGS_AFTER_USER_UPDATE_HANDLER\"\n });\n }\n }\n}\n\nexport const AuditLogUserAfterUpdateHandler = UserAfterUpdateEventHandler.createImplementation({\n implementation: AuditLogUserAfterUpdateHandlerImpl,\n dependencies: [RecordAuditLogUseCase]\n});\n"],"names":["AuditLogUserAfterUpdateHandlerImpl","recordAuditLog","event","updatedUser","originalUser","recordResult","AUDIT","error","WebinyError","AuditLogUserAfterUpdateHandler","UserAfterUpdateEventHandler","RecordAuditLogUseCase"],"mappings":";;;;AAKA,MAAMA;IACF,YAAoBC,cAA+C,CAAE;aAAjDA,cAAc,GAAdA;IAAkD;IAEtE,MAAM,OAAOC,KAAwC,EAAiB;QAClE,IAAI;YACA,MAAM,EAAEC,WAAW,EAAEC,YAAY,EAAE,GAAGF,MAAM,OAAO;YAEnD,MAAMG,eAAe,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;gBACnD,OAAOC,MAAM,QAAQ,CAAC,IAAI,CAAC,MAAM;gBACjC,SAAS;gBACT,SAAS;oBAAE,QAAQF;oBAAc,OAAOD;gBAAY;gBACpD,UAAUA,YAAY,EAAE;YAC5B;YACA,IAAIE,aAAa,MAAM,IACnB,MAAMA,aAAa,KAAK;QAEhC,EAAE,OAAOE,OAAO;YACZ,MAAMC,cAAAA,IAAgB,CAACD,OAAO;gBAC1B,SAAS;gBACT,MAAM;YACV;QACJ;IACJ;AACJ;AAEO,MAAME,iCAAiCC,4BAA4B,oBAAoB,CAAC;IAC3F,gBAAgBV;IAChB,cAAc;QAACW;KAAsB;AACzC"}
@@ -0,0 +1,7 @@
1
+ import type { ApiKey } from "@webiny/api-core/types/security.js";
2
+ /**
3
+ * We need to remove the token from the API Key object, as it is a security risk.
4
+ *
5
+ * We assign the API Key object explicitly, so we do not miss any new properties that might be added in the future - and they should not be in the log.
6
+ */
7
+ export declare const cleanupApiKey: (apiKey: ApiKey) => Omit<ApiKey, "token">;
@@ -0,0 +1,12 @@
1
+ const cleanupApiKey = (apiKey)=>({
2
+ id: apiKey.id,
3
+ createdBy: apiKey.createdBy,
4
+ createdOn: apiKey.createdOn,
5
+ description: apiKey.description,
6
+ name: apiKey.name,
7
+ permissions: apiKey.permissions,
8
+ slug: apiKey.slug
9
+ });
10
+ export { cleanupApiKey };
11
+
12
+ //# sourceMappingURL=cleanupApiKey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscriptions/security/handlers/cleanupApiKey.js","sources":["../../../../src/subscriptions/security/handlers/cleanupApiKey.ts"],"sourcesContent":["import type { ApiKey } from \"@webiny/api-core/types/security.js\";\n/**\n * We need to remove the token from the API Key object, as it is a security risk.\n *\n * We assign the API Key object explicitly, so we do not miss any new properties that might be added in the future - and they should not be in the log.\n */\nexport const cleanupApiKey = (apiKey: ApiKey): Omit<ApiKey, \"token\"> => {\n return {\n id: apiKey.id,\n createdBy: apiKey.createdBy,\n createdOn: apiKey.createdOn,\n description: apiKey.description,\n name: apiKey.name,\n permissions: apiKey.permissions,\n slug: apiKey.slug\n };\n};\n"],"names":["cleanupApiKey","apiKey"],"mappings":"AAMO,MAAMA,gBAAgB,CAACC,SACnB;QACH,IAAIA,OAAO,EAAE;QACb,WAAWA,OAAO,SAAS;QAC3B,WAAWA,OAAO,SAAS;QAC3B,aAAaA,OAAO,WAAW;QAC/B,MAAMA,OAAO,IAAI;QACjB,aAAaA,OAAO,WAAW;QAC/B,MAAMA,OAAO,IAAI;IACrB"}
@@ -0,0 +1,2 @@
1
+ import type { Container } from "@webiny/di";
2
+ export declare const createSecurityHooks: (container: Container) => void;
@@ -0,0 +1,29 @@
1
+ import { AuditLogRoleAfterCreateHandler } from "./handlers/AuditLogRoleAfterCreateHandler.js";
2
+ import { AuditLogRoleAfterUpdateHandler } from "./handlers/AuditLogRoleAfterUpdateHandler.js";
3
+ import { AuditLogRoleAfterDeleteHandler } from "./handlers/AuditLogRoleAfterDeleteHandler.js";
4
+ import { AuditLogTeamAfterCreateHandler } from "./handlers/AuditLogTeamAfterCreateHandler.js";
5
+ import { AuditLogTeamAfterUpdateHandler } from "./handlers/AuditLogTeamAfterUpdateHandler.js";
6
+ import { AuditLogTeamAfterDeleteHandler } from "./handlers/AuditLogTeamAfterDeleteHandler.js";
7
+ import { AuditLogUserAfterCreateHandler } from "./handlers/AuditLogUserAfterCreateHandler.js";
8
+ import { AuditLogUserAfterUpdateHandler } from "./handlers/AuditLogUserAfterUpdateHandler.js";
9
+ import { AuditLogUserAfterDeleteHandler } from "./handlers/AuditLogUserAfterDeleteHandler.js";
10
+ import { AuditLogApiKeyAfterCreateHandler } from "./handlers/AuditLogApiKeyAfterCreateHandler.js";
11
+ import { AuditLogApiKeyAfterUpdateHandler } from "./handlers/AuditLogApiKeyAfterUpdateHandler.js";
12
+ import { AuditLogApiKeyAfterDeleteHandler } from "./handlers/AuditLogApiKeyAfterDeleteHandler.js";
13
+ const createSecurityHooks = (container)=>{
14
+ container.register(AuditLogRoleAfterCreateHandler);
15
+ container.register(AuditLogRoleAfterUpdateHandler);
16
+ container.register(AuditLogRoleAfterDeleteHandler);
17
+ container.register(AuditLogTeamAfterCreateHandler);
18
+ container.register(AuditLogTeamAfterUpdateHandler);
19
+ container.register(AuditLogTeamAfterDeleteHandler);
20
+ container.register(AuditLogUserAfterCreateHandler);
21
+ container.register(AuditLogUserAfterUpdateHandler);
22
+ container.register(AuditLogUserAfterDeleteHandler);
23
+ container.register(AuditLogApiKeyAfterCreateHandler);
24
+ container.register(AuditLogApiKeyAfterUpdateHandler);
25
+ container.register(AuditLogApiKeyAfterDeleteHandler);
26
+ };
27
+ export { createSecurityHooks };
28
+
29
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscriptions/security/index.js","sources":["../../../src/subscriptions/security/index.ts"],"sourcesContent":["import { AuditLogRoleAfterCreateHandler } from \"./handlers/AuditLogRoleAfterCreateHandler.js\";\nimport { AuditLogRoleAfterUpdateHandler } from \"./handlers/AuditLogRoleAfterUpdateHandler.js\";\nimport { AuditLogRoleAfterDeleteHandler } from \"./handlers/AuditLogRoleAfterDeleteHandler.js\";\nimport { AuditLogTeamAfterCreateHandler } from \"./handlers/AuditLogTeamAfterCreateHandler.js\";\nimport { AuditLogTeamAfterUpdateHandler } from \"./handlers/AuditLogTeamAfterUpdateHandler.js\";\nimport { AuditLogTeamAfterDeleteHandler } from \"./handlers/AuditLogTeamAfterDeleteHandler.js\";\nimport { AuditLogUserAfterCreateHandler } from \"./handlers/AuditLogUserAfterCreateHandler.js\";\nimport { AuditLogUserAfterUpdateHandler } from \"./handlers/AuditLogUserAfterUpdateHandler.js\";\nimport { AuditLogUserAfterDeleteHandler } from \"./handlers/AuditLogUserAfterDeleteHandler.js\";\nimport { AuditLogApiKeyAfterCreateHandler } from \"./handlers/AuditLogApiKeyAfterCreateHandler.js\";\nimport { AuditLogApiKeyAfterUpdateHandler } from \"./handlers/AuditLogApiKeyAfterUpdateHandler.js\";\nimport { AuditLogApiKeyAfterDeleteHandler } from \"./handlers/AuditLogApiKeyAfterDeleteHandler.js\";\nimport type { Container } from \"@webiny/di\";\n\nexport const createSecurityHooks = (container: Container) => {\n // Register group (role) event handlers\n container.register(AuditLogRoleAfterCreateHandler);\n container.register(AuditLogRoleAfterUpdateHandler);\n container.register(AuditLogRoleAfterDeleteHandler);\n\n // Register team event handlers\n container.register(AuditLogTeamAfterCreateHandler);\n container.register(AuditLogTeamAfterUpdateHandler);\n container.register(AuditLogTeamAfterDeleteHandler);\n\n // Register user event handlers\n container.register(AuditLogUserAfterCreateHandler);\n container.register(AuditLogUserAfterUpdateHandler);\n container.register(AuditLogUserAfterDeleteHandler);\n\n // Register API key event handlers\n container.register(AuditLogApiKeyAfterCreateHandler);\n container.register(AuditLogApiKeyAfterUpdateHandler);\n container.register(AuditLogApiKeyAfterDeleteHandler);\n};\n"],"names":["createSecurityHooks","container","AuditLogRoleAfterCreateHandler","AuditLogRoleAfterUpdateHandler","AuditLogRoleAfterDeleteHandler","AuditLogTeamAfterCreateHandler","AuditLogTeamAfterUpdateHandler","AuditLogTeamAfterDeleteHandler","AuditLogUserAfterCreateHandler","AuditLogUserAfterUpdateHandler","AuditLogUserAfterDeleteHandler","AuditLogApiKeyAfterCreateHandler","AuditLogApiKeyAfterUpdateHandler","AuditLogApiKeyAfterDeleteHandler"],"mappings":";;;;;;;;;;;;AAcO,MAAMA,sBAAsB,CAACC;IAEhCA,UAAU,QAAQ,CAACC;IACnBD,UAAU,QAAQ,CAACE;IACnBF,UAAU,QAAQ,CAACG;IAGnBH,UAAU,QAAQ,CAACI;IACnBJ,UAAU,QAAQ,CAACK;IACnBL,UAAU,QAAQ,CAACM;IAGnBN,UAAU,QAAQ,CAACO;IACnBP,UAAU,QAAQ,CAACQ;IACnBR,UAAU,QAAQ,CAACS;IAGnBT,UAAU,QAAQ,CAACU;IACnBV,UAAU,QAAQ,CAACW;IACnBX,UAAU,QAAQ,CAACY;AACvB"}
@@ -0,0 +1,21 @@
1
+ import { Logger } from "@webiny/api-core/features/logger/index.js";
2
+ import { GetGlobalComponentRepository } from "@webiny/api-website-builder/features/globals/GetGlobalComponent/index.js";
3
+ import { SaveGlobalComponentRepository } from "@webiny/api-website-builder/features/globals/SaveGlobalComponent/index.js";
4
+ import { RecordAuditLogUseCase } from "../../../features/RecordAuditLog/abstractions.js";
5
+ type GlobalComponent = SaveGlobalComponentRepository.GlobalComponent;
6
+ /**
7
+ * Audit every saved global component. The save repository is decorated, so saves from the editor and
8
+ * from AI page translation are both audited, whichever storage a project replaces it with.
9
+ */
10
+ declare class SaveGlobalComponentWithAuditLogImpl implements SaveGlobalComponentRepository.Interface {
11
+ private recordAuditLog;
12
+ private getGlobalComponent;
13
+ private logger;
14
+ private decoratee;
15
+ constructor(recordAuditLog: RecordAuditLogUseCase.Interface, getGlobalComponent: GetGlobalComponentRepository.Interface, logger: Logger.Interface, decoratee: SaveGlobalComponentRepository.Interface);
16
+ execute(globalComponent: GlobalComponent): SaveGlobalComponentRepository.Return;
17
+ }
18
+ export declare const SaveGlobalComponentWithAuditLog: typeof SaveGlobalComponentWithAuditLogImpl & {
19
+ __abstraction: import("@webiny/di").Abstraction<import("@webiny/api-website-builder/features/globals/SaveGlobalComponent/abstractions").ISaveGlobalComponentRepository>;
20
+ };
21
+ export {};
@@ -0,0 +1,63 @@
1
+ import { Logger } from "@webiny/api-core/features/logger/index.js";
2
+ import { GetGlobalComponentRepository } from "@webiny/api-website-builder/features/globals/GetGlobalComponent/index.js";
3
+ import { SaveGlobalComponentRepository } from "@webiny/api-website-builder/features/globals/SaveGlobalComponent/index.js";
4
+ import { GlobalComponentLanguage } from "@webiny/api-website-builder/exports/api/website-builder/globals.js";
5
+ import { RecordAuditLogUseCase } from "../../../features/RecordAuditLog/abstractions.js";
6
+ import { AUDIT } from "../../../config.js";
7
+ const getEntityId = ({ name, language })=>{
8
+ const globalLanguage = GlobalComponentLanguage.from(language);
9
+ return globalLanguage.isDefault() ? name : `${name}:${globalLanguage.toString()}`;
10
+ };
11
+ class SaveGlobalComponentWithAuditLogImpl {
12
+ constructor(recordAuditLog, getGlobalComponent, logger, decoratee){
13
+ this.recordAuditLog = recordAuditLog;
14
+ this.getGlobalComponent = getGlobalComponent;
15
+ this.logger = logger;
16
+ this.decoratee = decoratee;
17
+ }
18
+ async execute(globalComponent) {
19
+ const original = await this.getGlobalComponent.execute({
20
+ name: globalComponent.name,
21
+ language: globalComponent.language
22
+ });
23
+ const result = await this.decoratee.execute(globalComponent);
24
+ if (result.isFail()) return result;
25
+ const saved = result.value;
26
+ const before = original.isOk() ? original.value : null;
27
+ try {
28
+ const recordResult = await this.recordAuditLog.execute(before ? {
29
+ audit: AUDIT.WEBSITE_BUILDER.GLOBAL_COMPONENT.UPDATE,
30
+ message: "Global Component Updated",
31
+ content: {
32
+ before,
33
+ after: saved
34
+ },
35
+ entityId: getEntityId(saved)
36
+ } : {
37
+ audit: AUDIT.WEBSITE_BUILDER.GLOBAL_COMPONENT.CREATE,
38
+ message: "Global Component Created",
39
+ content: saved,
40
+ entityId: getEntityId(saved)
41
+ });
42
+ if (recordResult.isFail()) throw recordResult.error;
43
+ } catch (error) {
44
+ this.logger.warn({
45
+ reason: error.message,
46
+ name: saved.name,
47
+ language: saved.language
48
+ }, "Could not create the audit log of a saved global component.");
49
+ }
50
+ return result;
51
+ }
52
+ }
53
+ const SaveGlobalComponentWithAuditLog = SaveGlobalComponentRepository.createDecorator({
54
+ decorator: SaveGlobalComponentWithAuditLogImpl,
55
+ dependencies: [
56
+ RecordAuditLogUseCase,
57
+ GetGlobalComponentRepository,
58
+ Logger
59
+ ]
60
+ });
61
+ export { SaveGlobalComponentWithAuditLog };
62
+
63
+ //# sourceMappingURL=SaveGlobalComponentWithAuditLog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscriptions/websiteBuilder/globalComponents/SaveGlobalComponentWithAuditLog.js","sources":["../../../../src/subscriptions/websiteBuilder/globalComponents/SaveGlobalComponentWithAuditLog.ts"],"sourcesContent":["import { Logger } from \"@webiny/api-core/features/logger/index.js\";\nimport { GetGlobalComponentRepository } from \"@webiny/api-website-builder/features/globals/GetGlobalComponent/index.js\";\nimport { SaveGlobalComponentRepository } from \"@webiny/api-website-builder/features/globals/SaveGlobalComponent/index.js\";\nimport { GlobalComponentLanguage } from \"@webiny/api-website-builder/exports/api/website-builder/globals.js\";\nimport { RecordAuditLogUseCase } from \"~/features/RecordAuditLog/abstractions.js\";\nimport { AUDIT } from \"~/config.js\";\n\ntype GlobalComponent = SaveGlobalComponentRepository.GlobalComponent;\n\n// One audit trail per global component and language, e.g. `Demo/Header:de`; just the name for the\n// `\"default\"` language (pages without one). Not `#`: listing audit logs by `Demo/Header#de` also\n// returns those of `Demo/Header`.\nconst getEntityId = ({ name, language }: GlobalComponent) => {\n const globalLanguage = GlobalComponentLanguage.from(language);\n return globalLanguage.isDefault() ? name : `${name}:${globalLanguage.toString()}`;\n};\n\n/**\n * Audit every saved global component. The save repository is decorated, so saves from the editor and\n * from AI page translation are both audited, whichever storage a project replaces it with.\n */\nclass SaveGlobalComponentWithAuditLogImpl implements SaveGlobalComponentRepository.Interface {\n constructor(\n private recordAuditLog: RecordAuditLogUseCase.Interface,\n private getGlobalComponent: GetGlobalComponentRepository.Interface,\n private logger: Logger.Interface,\n private decoratee: SaveGlobalComponentRepository.Interface\n ) {}\n\n async execute(globalComponent: GlobalComponent): SaveGlobalComponentRepository.Return {\n const original = await this.getGlobalComponent.execute({\n name: globalComponent.name,\n language: globalComponent.language\n });\n\n const result = await this.decoratee.execute(globalComponent);\n if (result.isFail()) {\n return result;\n }\n\n const saved = result.value;\n const before = original.isOk() ? original.value : null;\n\n // The global component is already saved, so a failed audit log must not fail the save.\n try {\n const recordResult = await this.recordAuditLog.execute(\n before\n ? {\n audit: AUDIT.WEBSITE_BUILDER.GLOBAL_COMPONENT.UPDATE,\n message: \"Global Component Updated\",\n content: { before, after: saved },\n entityId: getEntityId(saved)\n }\n : {\n audit: AUDIT.WEBSITE_BUILDER.GLOBAL_COMPONENT.CREATE,\n message: \"Global Component Created\",\n content: saved,\n entityId: getEntityId(saved)\n }\n );\n if (recordResult.isFail()) {\n throw recordResult.error;\n }\n } catch (error) {\n this.logger.warn(\n { reason: error.message, name: saved.name, language: saved.language },\n \"Could not create the audit log of a saved global component.\"\n );\n }\n\n return result;\n }\n}\n\nexport const SaveGlobalComponentWithAuditLog = SaveGlobalComponentRepository.createDecorator({\n decorator: SaveGlobalComponentWithAuditLogImpl,\n dependencies: [RecordAuditLogUseCase, GetGlobalComponentRepository, Logger]\n});\n"],"names":["getEntityId","name","language","globalLanguage","GlobalComponentLanguage","SaveGlobalComponentWithAuditLogImpl","recordAuditLog","getGlobalComponent","logger","decoratee","globalComponent","original","result","saved","before","recordResult","AUDIT","error","SaveGlobalComponentWithAuditLog","SaveGlobalComponentRepository","RecordAuditLogUseCase","GetGlobalComponentRepository","Logger"],"mappings":";;;;;;AAYA,MAAMA,cAAc,CAAC,EAAEC,IAAI,EAAEC,QAAQ,EAAmB;IACpD,MAAMC,iBAAiBC,wBAAwB,IAAI,CAACF;IACpD,OAAOC,eAAe,SAAS,KAAKF,OAAO,GAAGA,KAAK,CAAC,EAAEE,eAAe,QAAQ,IAAI;AACrF;AAMA,MAAME;IACF,YACYC,cAA+C,EAC/CC,kBAA0D,EAC1DC,MAAwB,EACxBC,SAAkD,CAC5D;aAJUH,cAAc,GAAdA;aACAC,kBAAkB,GAAlBA;aACAC,MAAM,GAANA;aACAC,SAAS,GAATA;IACT;IAEH,MAAM,QAAQC,eAAgC,EAAwC;QAClF,MAAMC,WAAW,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC;YACnD,MAAMD,gBAAgB,IAAI;YAC1B,UAAUA,gBAAgB,QAAQ;QACtC;QAEA,MAAME,SAAS,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAACF;QAC5C,IAAIE,OAAO,MAAM,IACb,OAAOA;QAGX,MAAMC,QAAQD,OAAO,KAAK;QAC1B,MAAME,SAASH,SAAS,IAAI,KAAKA,SAAS,KAAK,GAAG;QAGlD,IAAI;YACA,MAAMI,eAAe,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAClDD,SACM;gBACI,OAAOE,MAAM,eAAe,CAAC,gBAAgB,CAAC,MAAM;gBACpD,SAAS;gBACT,SAAS;oBAAEF;oBAAQ,OAAOD;gBAAM;gBAChC,UAAUb,YAAYa;YAC1B,IACA;gBACI,OAAOG,MAAM,eAAe,CAAC,gBAAgB,CAAC,MAAM;gBACpD,SAAS;gBACT,SAASH;gBACT,UAAUb,YAAYa;YAC1B;YAEV,IAAIE,aAAa,MAAM,IACnB,MAAMA,aAAa,KAAK;QAEhC,EAAE,OAAOE,OAAO;YACZ,IAAI,CAAC,MAAM,CAAC,IAAI,CACZ;gBAAE,QAAQA,MAAM,OAAO;gBAAE,MAAMJ,MAAM,IAAI;gBAAE,UAAUA,MAAM,QAAQ;YAAC,GACpE;QAER;QAEA,OAAOD;IACX;AACJ;AAEO,MAAMM,kCAAkCC,8BAA8B,eAAe,CAAC;IACzF,WAAWd;IACX,cAAc;QAACe;QAAuBC;QAA8BC;KAAO;AAC/E"}
@@ -0,0 +1,2 @@
1
+ import type { Container } from "@webiny/di";
2
+ export declare const createWebsiteBuilderHooks: (container: Container) => void;
@@ -0,0 +1,31 @@
1
+ import { PageAfterCreateAuditHandler } from "./pages/PageAfterCreateHandler.js";
2
+ import { PageAfterUpdateAuditHandler } from "./pages/PageAfterUpdateHandler.js";
3
+ import { PageAfterPublishAuditHandler } from "./pages/PageAfterPublishHandler.js";
4
+ import { PageAfterUnpublishAuditHandler } from "./pages/PageAfterUnpublishHandler.js";
5
+ import { PageAfterDeleteAuditHandler } from "./pages/PageAfterDeleteHandler.js";
6
+ import { PageAfterDuplicateAuditHandler } from "./pages/PageAfterDuplicateHandler.js";
7
+ import { PageAfterMoveAuditHandler } from "./pages/PageAfterMoveHandler.js";
8
+ import { PageAfterCreateRevisionFromAuditHandler } from "./pages/PageAfterCreateRevisionFromHandler.js";
9
+ import { RedirectAfterCreateAuditHandler } from "./redirects/RedirectAfterCreateHandler.js";
10
+ import { RedirectAfterUpdateAuditHandler } from "./redirects/RedirectAfterUpdateHandler.js";
11
+ import { RedirectAfterDeleteAuditHandler } from "./redirects/RedirectAfterDeleteHandler.js";
12
+ import { RedirectAfterMoveAuditHandler } from "./redirects/RedirectAfterMoveHandler.js";
13
+ import { SaveGlobalComponentWithAuditLog } from "./globalComponents/SaveGlobalComponentWithAuditLog.js";
14
+ const createWebsiteBuilderHooks = (container)=>{
15
+ container.register(PageAfterCreateAuditHandler);
16
+ container.register(PageAfterUpdateAuditHandler);
17
+ container.register(PageAfterPublishAuditHandler);
18
+ container.register(PageAfterUnpublishAuditHandler);
19
+ container.register(PageAfterDeleteAuditHandler);
20
+ container.register(PageAfterDuplicateAuditHandler);
21
+ container.register(PageAfterMoveAuditHandler);
22
+ container.register(PageAfterCreateRevisionFromAuditHandler);
23
+ container.register(RedirectAfterCreateAuditHandler);
24
+ container.register(RedirectAfterUpdateAuditHandler);
25
+ container.register(RedirectAfterDeleteAuditHandler);
26
+ container.register(RedirectAfterMoveAuditHandler);
27
+ container.registerDecorator(SaveGlobalComponentWithAuditLog);
28
+ };
29
+ export { createWebsiteBuilderHooks };
30
+
31
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscriptions/websiteBuilder/index.js","sources":["../../../src/subscriptions/websiteBuilder/index.ts"],"sourcesContent":["import type { Container } from \"@webiny/di\";\nimport { PageAfterCreateAuditHandler } from \"./pages/PageAfterCreateHandler.js\";\nimport { PageAfterUpdateAuditHandler } from \"./pages/PageAfterUpdateHandler.js\";\nimport { PageAfterPublishAuditHandler } from \"./pages/PageAfterPublishHandler.js\";\nimport { PageAfterUnpublishAuditHandler } from \"./pages/PageAfterUnpublishHandler.js\";\nimport { PageAfterDeleteAuditHandler } from \"./pages/PageAfterDeleteHandler.js\";\nimport { PageAfterDuplicateAuditHandler } from \"./pages/PageAfterDuplicateHandler.js\";\nimport { PageAfterMoveAuditHandler } from \"./pages/PageAfterMoveHandler.js\";\nimport { PageAfterCreateRevisionFromAuditHandler } from \"./pages/PageAfterCreateRevisionFromHandler.js\";\nimport { RedirectAfterCreateAuditHandler } from \"./redirects/RedirectAfterCreateHandler.js\";\nimport { RedirectAfterUpdateAuditHandler } from \"./redirects/RedirectAfterUpdateHandler.js\";\nimport { RedirectAfterDeleteAuditHandler } from \"./redirects/RedirectAfterDeleteHandler.js\";\nimport { RedirectAfterMoveAuditHandler } from \"./redirects/RedirectAfterMoveHandler.js\";\nimport { SaveGlobalComponentWithAuditLog } from \"./globalComponents/SaveGlobalComponentWithAuditLog.js\";\n\nexport const createWebsiteBuilderHooks = (container: Container) => {\n // Register page event handlers\n container.register(PageAfterCreateAuditHandler);\n container.register(PageAfterUpdateAuditHandler);\n container.register(PageAfterPublishAuditHandler);\n container.register(PageAfterUnpublishAuditHandler);\n container.register(PageAfterDeleteAuditHandler);\n container.register(PageAfterDuplicateAuditHandler);\n container.register(PageAfterMoveAuditHandler);\n container.register(PageAfterCreateRevisionFromAuditHandler);\n\n // Register redirect event handlers\n container.register(RedirectAfterCreateAuditHandler);\n container.register(RedirectAfterUpdateAuditHandler);\n container.register(RedirectAfterDeleteAuditHandler);\n container.register(RedirectAfterMoveAuditHandler);\n\n // Global components are saved through a replaceable repository, without events: decorate the repository.\n container.registerDecorator(SaveGlobalComponentWithAuditLog);\n};\n"],"names":["createWebsiteBuilderHooks","container","PageAfterCreateAuditHandler","PageAfterUpdateAuditHandler","PageAfterPublishAuditHandler","PageAfterUnpublishAuditHandler","PageAfterDeleteAuditHandler","PageAfterDuplicateAuditHandler","PageAfterMoveAuditHandler","PageAfterCreateRevisionFromAuditHandler","RedirectAfterCreateAuditHandler","RedirectAfterUpdateAuditHandler","RedirectAfterDeleteAuditHandler","RedirectAfterMoveAuditHandler","SaveGlobalComponentWithAuditLog"],"mappings":";;;;;;;;;;;;;AAeO,MAAMA,4BAA4B,CAACC;IAEtCA,UAAU,QAAQ,CAACC;IACnBD,UAAU,QAAQ,CAACE;IACnBF,UAAU,QAAQ,CAACG;IACnBH,UAAU,QAAQ,CAACI;IACnBJ,UAAU,QAAQ,CAACK;IACnBL,UAAU,QAAQ,CAACM;IACnBN,UAAU,QAAQ,CAACO;IACnBP,UAAU,QAAQ,CAACQ;IAGnBR,UAAU,QAAQ,CAACS;IACnBT,UAAU,QAAQ,CAACU;IACnBV,UAAU,QAAQ,CAACW;IACnBX,UAAU,QAAQ,CAACY;IAGnBZ,UAAU,iBAAiB,CAACa;AAChC"}