@webiny/api-audit-logs 0.0.0-unstable.eb196ccd2f → 0.0.0-unstable.eb81deee7e
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.
- package/AuditLogsFeature.d.ts +8 -0
- package/AuditLogsFeature.js +32 -0
- package/AuditLogsFeature.js.map +1 -0
- package/README.md +11 -1
- package/abstractions.d.ts +15 -0
- package/abstractions.js +6 -0
- package/abstractions.js.map +1 -0
- package/config.d.ts +0 -13
- package/config.js +4 -291
- package/config.js.map +1 -1
- package/domain/errors.d.ts +5 -0
- package/domain/errors.js +11 -0
- package/domain/errors.js.map +1 -0
- package/events/AuditLogAfterCreateEvent.d.ts +6 -0
- package/events/AuditLogAfterCreateEvent.js +13 -0
- package/events/AuditLogAfterCreateEvent.js.map +1 -0
- package/events/AuditLogAfterUpdateEvent.d.ts +6 -0
- package/events/AuditLogAfterUpdateEvent.js +13 -0
- package/events/AuditLogAfterUpdateEvent.js.map +1 -0
- package/events/AuditLogBeforeCreateEvent.d.ts +6 -0
- package/events/AuditLogBeforeCreateEvent.js +13 -0
- package/events/AuditLogBeforeCreateEvent.js.map +1 -0
- package/events/AuditLogBeforeUpdateEvent.d.ts +6 -0
- package/events/AuditLogBeforeUpdateEvent.js +13 -0
- package/events/AuditLogBeforeUpdateEvent.js.map +1 -0
- package/events/abstractions.d.ts +38 -0
- package/events/abstractions.js +8 -0
- package/events/abstractions.js.map +1 -0
- package/events/index.d.ts +5 -0
- package/events/index.js +5 -0
- package/features/AuditLogPermissions/AuditLogPermissions.d.ts +15 -0
- package/features/AuditLogPermissions/AuditLogPermissions.js +24 -0
- package/features/AuditLogPermissions/AuditLogPermissions.js.map +1 -0
- package/features/AuditLogPermissions/abstractions.d.ts +11 -0
- package/features/AuditLogPermissions/abstractions.js +5 -0
- package/features/AuditLogPermissions/abstractions.js.map +1 -0
- package/features/AuditLogPermissions/feature.d.ts +4 -0
- package/features/AuditLogPermissions/feature.js +11 -0
- package/features/AuditLogPermissions/feature.js.map +1 -0
- package/features/CreateAuditLog/CreateAuditLogGateway.d.ts +12 -0
- package/features/CreateAuditLog/CreateAuditLogGateway.js +23 -0
- package/features/CreateAuditLog/CreateAuditLogGateway.js.map +1 -0
- package/features/CreateAuditLog/CreateAuditLogRepository.d.ts +14 -0
- package/features/CreateAuditLog/CreateAuditLogRepository.js +25 -0
- package/features/CreateAuditLog/CreateAuditLogRepository.js.map +1 -0
- package/features/CreateAuditLog/CreateAuditLogUseCase.d.ts +24 -0
- package/features/CreateAuditLog/CreateAuditLogUseCase.js +70 -0
- package/features/CreateAuditLog/CreateAuditLogUseCase.js.map +1 -0
- package/features/CreateAuditLog/abstractions.d.ts +42 -0
- package/features/CreateAuditLog/abstractions.js +7 -0
- package/features/CreateAuditLog/abstractions.js.map +1 -0
- package/features/CreateAuditLog/feature.d.ts +4 -0
- package/features/CreateAuditLog/feature.js +15 -0
- package/features/CreateAuditLog/feature.js.map +1 -0
- package/features/GetAuditLog/GetAuditLogGateway.d.ts +13 -0
- package/features/GetAuditLog/GetAuditLogGateway.js +21 -0
- package/features/GetAuditLog/GetAuditLogGateway.js.map +1 -0
- package/features/GetAuditLog/GetAuditLogRepository.d.ts +16 -0
- package/features/GetAuditLog/GetAuditLogRepository.js +32 -0
- package/features/GetAuditLog/GetAuditLogRepository.js.map +1 -0
- package/features/GetAuditLog/GetAuditLogUseCase.d.ts +15 -0
- package/features/GetAuditLog/GetAuditLogUseCase.js +29 -0
- package/features/GetAuditLog/GetAuditLogUseCase.js.map +1 -0
- package/features/GetAuditLog/abstractions.d.ts +42 -0
- package/features/GetAuditLog/abstractions.js +7 -0
- package/features/GetAuditLog/abstractions.js.map +1 -0
- package/features/GetAuditLog/feature.d.ts +4 -0
- package/features/GetAuditLog/feature.js +15 -0
- package/features/GetAuditLog/feature.js.map +1 -0
- package/features/ListAuditLogs/ListAuditLogsGateway.d.ts +12 -0
- package/features/ListAuditLogs/ListAuditLogsGateway.js +24 -0
- package/features/ListAuditLogs/ListAuditLogsGateway.js.map +1 -0
- package/features/ListAuditLogs/ListAuditLogsRepository.d.ts +17 -0
- package/features/ListAuditLogs/ListAuditLogsRepository.js +38 -0
- package/features/ListAuditLogs/ListAuditLogsRepository.js.map +1 -0
- package/features/ListAuditLogs/ListAuditLogsUseCase.d.ts +15 -0
- package/features/ListAuditLogs/ListAuditLogsUseCase.js +27 -0
- package/features/ListAuditLogs/ListAuditLogsUseCase.js.map +1 -0
- package/features/ListAuditLogs/abstractions.d.ts +55 -0
- package/features/ListAuditLogs/abstractions.js +7 -0
- package/features/ListAuditLogs/abstractions.js.map +1 -0
- package/features/ListAuditLogs/feature.d.ts +4 -0
- package/features/ListAuditLogs/feature.js +15 -0
- package/features/ListAuditLogs/feature.js.map +1 -0
- package/features/RecordAuditLog/RecordAuditLogUseCase.d.ts +30 -0
- package/features/RecordAuditLog/RecordAuditLogUseCase.js +108 -0
- package/features/RecordAuditLog/RecordAuditLogUseCase.js.map +1 -0
- package/features/RecordAuditLog/abstractions.d.ts +26 -0
- package/features/RecordAuditLog/abstractions.js +5 -0
- package/features/RecordAuditLog/abstractions.js.map +1 -0
- package/features/RecordAuditLog/feature.d.ts +4 -0
- package/features/RecordAuditLog/feature.js +11 -0
- package/features/RecordAuditLog/feature.js.map +1 -0
- package/features/UpdateAuditLog/UpdateAuditLogGateway.d.ts +12 -0
- package/features/UpdateAuditLog/UpdateAuditLogGateway.js +23 -0
- package/features/UpdateAuditLog/UpdateAuditLogGateway.js.map +1 -0
- package/features/UpdateAuditLog/UpdateAuditLogRepository.d.ts +14 -0
- package/features/UpdateAuditLog/UpdateAuditLogRepository.js +25 -0
- package/features/UpdateAuditLog/UpdateAuditLogRepository.js.map +1 -0
- package/features/UpdateAuditLog/UpdateAuditLogUseCase.d.ts +18 -0
- package/features/UpdateAuditLog/UpdateAuditLogUseCase.js +53 -0
- package/features/UpdateAuditLog/UpdateAuditLogUseCase.js.map +1 -0
- package/features/UpdateAuditLog/abstractions.d.ts +42 -0
- package/features/UpdateAuditLog/abstractions.js +7 -0
- package/features/UpdateAuditLog/abstractions.js.map +1 -0
- package/features/UpdateAuditLog/feature.d.ts +4 -0
- package/features/UpdateAuditLog/feature.js +15 -0
- package/features/UpdateAuditLog/feature.js.map +1 -0
- package/graphql/AuditLogsGraphQLSchema.d.ts +10 -0
- package/graphql/AuditLogsGraphQLSchema.js +139 -0
- package/graphql/AuditLogsGraphQLSchema.js.map +1 -0
- package/graphql/validation.d.ts +21 -0
- package/graphql/validation.js +31 -0
- package/graphql/validation.js.map +1 -0
- package/index.d.ts +3 -5
- package/index.js +2 -49
- package/package.json +34 -26
- package/storage/abstractions/Storage.d.ts +108 -0
- package/storage/abstractions/Storage.js +0 -0
- package/storage/types.d.ts +19 -0
- package/storage/types.js +0 -0
- package/subscriptions/aco/handlers/AuditLogFolderAfterCreateHandler.d.ts +11 -0
- package/subscriptions/aco/handlers/AuditLogFolderAfterCreateHandler.js +45 -0
- package/subscriptions/aco/handlers/AuditLogFolderAfterCreateHandler.js.map +1 -0
- package/subscriptions/aco/handlers/AuditLogFolderAfterDeleteHandler.d.ts +11 -0
- package/subscriptions/aco/handlers/AuditLogFolderAfterDeleteHandler.js +53 -0
- package/subscriptions/aco/handlers/AuditLogFolderAfterDeleteHandler.js.map +1 -0
- package/subscriptions/aco/handlers/AuditLogFolderAfterUpdateHandler.d.ts +11 -0
- package/subscriptions/aco/handlers/AuditLogFolderAfterUpdateHandler.js +51 -0
- package/subscriptions/aco/handlers/AuditLogFolderAfterUpdateHandler.js.map +1 -0
- package/subscriptions/aco/index.d.ts +2 -2
- package/subscriptions/aco/index.js +8 -15
- package/subscriptions/aco/index.js.map +1 -1
- package/subscriptions/ai/handlers/AuditLogAiAfterGenerateTextHandler.d.ts +11 -0
- package/subscriptions/ai/handlers/AuditLogAiAfterGenerateTextHandler.js +45 -0
- package/subscriptions/ai/handlers/AuditLogAiAfterGenerateTextHandler.js.map +1 -0
- package/subscriptions/ai/handlers/AuditLogAiBeforeGenerateTextHandler.d.ts +11 -0
- package/subscriptions/ai/handlers/AuditLogAiBeforeGenerateTextHandler.js +42 -0
- package/subscriptions/ai/handlers/AuditLogAiBeforeGenerateTextHandler.js.map +1 -0
- package/subscriptions/ai/handlers/AuditLogAiGenerateTextErrorHandler.d.ts +11 -0
- package/subscriptions/ai/handlers/AuditLogAiGenerateTextErrorHandler.js +44 -0
- package/subscriptions/ai/handlers/AuditLogAiGenerateTextErrorHandler.js.map +1 -0
- package/subscriptions/ai/index.d.ts +2 -0
- package/subscriptions/ai/index.js +11 -0
- package/subscriptions/ai/index.js.map +1 -0
- package/subscriptions/fileManager/handlers/AuditLogFileAfterCreateHandler.d.ts +11 -0
- package/subscriptions/fileManager/handlers/AuditLogFileAfterCreateHandler.js +35 -0
- package/subscriptions/fileManager/handlers/AuditLogFileAfterCreateHandler.js.map +1 -0
- package/subscriptions/fileManager/handlers/AuditLogFileAfterDeleteHandler.d.ts +11 -0
- package/subscriptions/fileManager/handlers/AuditLogFileAfterDeleteHandler.js +35 -0
- package/subscriptions/fileManager/handlers/AuditLogFileAfterDeleteHandler.js.map +1 -0
- package/subscriptions/fileManager/handlers/AuditLogFileAfterUpdateHandler.d.ts +11 -0
- package/subscriptions/fileManager/handlers/AuditLogFileAfterUpdateHandler.js +38 -0
- package/subscriptions/fileManager/handlers/AuditLogFileAfterUpdateHandler.js.map +1 -0
- package/subscriptions/fileManager/handlers/AuditLogSettingsAfterUpdateHandler.d.ts +11 -0
- package/subscriptions/fileManager/handlers/AuditLogSettingsAfterUpdateHandler.js +38 -0
- package/subscriptions/fileManager/handlers/AuditLogSettingsAfterUpdateHandler.js.map +1 -0
- package/subscriptions/fileManager/index.d.ts +2 -2
- package/subscriptions/fileManager/index.js +10 -14
- package/subscriptions/fileManager/index.js.map +1 -1
- package/subscriptions/headlessCms/handlers/AuditLogEntryAfterCreateEventHandler.d.ts +11 -0
- package/subscriptions/headlessCms/handlers/AuditLogEntryAfterCreateEventHandler.js +36 -0
- package/subscriptions/headlessCms/handlers/AuditLogEntryAfterCreateEventHandler.js.map +1 -0
- package/subscriptions/headlessCms/handlers/AuditLogEntryAfterDeleteEventHandler.d.ts +11 -0
- package/subscriptions/headlessCms/handlers/AuditLogEntryAfterDeleteEventHandler.js +46 -0
- package/subscriptions/headlessCms/handlers/AuditLogEntryAfterDeleteEventHandler.js.map +1 -0
- package/subscriptions/headlessCms/handlers/AuditLogEntryAfterPublishEventHandler.d.ts +11 -0
- package/subscriptions/headlessCms/handlers/AuditLogEntryAfterPublishEventHandler.js +36 -0
- package/subscriptions/headlessCms/handlers/AuditLogEntryAfterPublishEventHandler.js.map +1 -0
- package/subscriptions/headlessCms/handlers/AuditLogEntryAfterRestoreFromBinEventHandler.d.ts +11 -0
- package/subscriptions/headlessCms/handlers/AuditLogEntryAfterRestoreFromBinEventHandler.js +36 -0
- package/subscriptions/headlessCms/handlers/AuditLogEntryAfterRestoreFromBinEventHandler.js.map +1 -0
- package/subscriptions/headlessCms/handlers/AuditLogEntryAfterUnpublishEventHandler.d.ts +11 -0
- package/subscriptions/headlessCms/handlers/AuditLogEntryAfterUnpublishEventHandler.js +36 -0
- package/subscriptions/headlessCms/handlers/AuditLogEntryAfterUnpublishEventHandler.js.map +1 -0
- package/subscriptions/headlessCms/handlers/AuditLogEntryAfterUpdateEventHandler.d.ts +11 -0
- package/subscriptions/headlessCms/handlers/AuditLogEntryAfterUpdateEventHandler.js +39 -0
- package/subscriptions/headlessCms/handlers/AuditLogEntryAfterUpdateEventHandler.js.map +1 -0
- package/subscriptions/headlessCms/handlers/AuditLogEntryRevisionAfterCreateEventHandler.d.ts +11 -0
- package/subscriptions/headlessCms/handlers/AuditLogEntryRevisionAfterCreateEventHandler.js +36 -0
- package/subscriptions/headlessCms/handlers/AuditLogEntryRevisionAfterCreateEventHandler.js.map +1 -0
- package/subscriptions/headlessCms/handlers/AuditLogEntryRevisionAfterDeleteEventHandler.d.ts +11 -0
- package/subscriptions/headlessCms/handlers/AuditLogEntryRevisionAfterDeleteEventHandler.js +36 -0
- package/subscriptions/headlessCms/handlers/AuditLogEntryRevisionAfterDeleteEventHandler.js.map +1 -0
- package/subscriptions/headlessCms/handlers/AuditLogGroupAfterCreateEventHandler.d.ts +11 -0
- package/subscriptions/headlessCms/handlers/AuditLogGroupAfterCreateEventHandler.js +35 -0
- package/subscriptions/headlessCms/handlers/AuditLogGroupAfterCreateEventHandler.js.map +1 -0
- package/subscriptions/headlessCms/handlers/AuditLogGroupAfterDeleteEventHandler.d.ts +11 -0
- package/subscriptions/headlessCms/handlers/AuditLogGroupAfterDeleteEventHandler.js +35 -0
- package/subscriptions/headlessCms/handlers/AuditLogGroupAfterDeleteEventHandler.js.map +1 -0
- package/subscriptions/headlessCms/handlers/AuditLogGroupAfterUpdateEventHandler.d.ts +11 -0
- package/subscriptions/headlessCms/handlers/AuditLogGroupAfterUpdateEventHandler.js +38 -0
- package/subscriptions/headlessCms/handlers/AuditLogGroupAfterUpdateEventHandler.js.map +1 -0
- package/subscriptions/headlessCms/handlers/AuditLogModelAfterCreateEventHandler.d.ts +11 -0
- package/subscriptions/headlessCms/handlers/AuditLogModelAfterCreateEventHandler.js +35 -0
- package/subscriptions/headlessCms/handlers/AuditLogModelAfterCreateEventHandler.js.map +1 -0
- package/subscriptions/headlessCms/handlers/AuditLogModelAfterDeleteEventHandler.d.ts +11 -0
- package/subscriptions/headlessCms/handlers/AuditLogModelAfterDeleteEventHandler.js +35 -0
- package/subscriptions/headlessCms/handlers/AuditLogModelAfterDeleteEventHandler.js.map +1 -0
- package/subscriptions/headlessCms/handlers/AuditLogModelAfterUpdateEventHandler.d.ts +11 -0
- package/subscriptions/headlessCms/handlers/AuditLogModelAfterUpdateEventHandler.js +38 -0
- package/subscriptions/headlessCms/handlers/AuditLogModelAfterUpdateEventHandler.js.map +1 -0
- package/subscriptions/headlessCms/index.d.ts +2 -2
- package/subscriptions/headlessCms/index.js +30 -28
- package/subscriptions/headlessCms/index.js.map +1 -1
- package/subscriptions/index.d.ts +2 -2
- package/subscriptions/index.js +16 -22
- package/subscriptions/index.js.map +1 -1
- package/subscriptions/mailer/handlers/AuditLogMailerSettingsAfterSaveHandler.d.ts +11 -0
- package/subscriptions/mailer/handlers/AuditLogMailerSettingsAfterSaveHandler.js +37 -0
- package/subscriptions/mailer/handlers/AuditLogMailerSettingsAfterSaveHandler.js.map +1 -0
- package/subscriptions/mailer/index.d.ts +2 -2
- package/subscriptions/mailer/index.js +4 -10
- package/subscriptions/mailer/index.js.map +1 -1
- package/subscriptions/security/handlers/AuditLogApiKeyAfterCreateHandler.d.ts +11 -0
- package/subscriptions/security/handlers/AuditLogApiKeyAfterCreateHandler.js +45 -0
- package/subscriptions/security/handlers/AuditLogApiKeyAfterCreateHandler.js.map +1 -0
- package/subscriptions/security/handlers/AuditLogApiKeyAfterDeleteHandler.d.ts +11 -0
- package/subscriptions/security/handlers/AuditLogApiKeyAfterDeleteHandler.js +45 -0
- package/subscriptions/security/handlers/AuditLogApiKeyAfterDeleteHandler.js.map +1 -0
- package/subscriptions/security/handlers/AuditLogApiKeyAfterUpdateHandler.d.ts +11 -0
- package/subscriptions/security/handlers/AuditLogApiKeyAfterUpdateHandler.js +49 -0
- package/subscriptions/security/handlers/AuditLogApiKeyAfterUpdateHandler.js.map +1 -0
- package/subscriptions/security/handlers/AuditLogRoleAfterCreateHandler.d.ts +11 -0
- package/subscriptions/security/handlers/AuditLogRoleAfterCreateHandler.js +35 -0
- package/subscriptions/security/handlers/AuditLogRoleAfterCreateHandler.js.map +1 -0
- package/subscriptions/security/handlers/AuditLogRoleAfterDeleteHandler.d.ts +11 -0
- package/subscriptions/security/handlers/AuditLogRoleAfterDeleteHandler.js +35 -0
- package/subscriptions/security/handlers/AuditLogRoleAfterDeleteHandler.js.map +1 -0
- package/subscriptions/security/handlers/AuditLogRoleAfterUpdateHandler.d.ts +11 -0
- package/subscriptions/security/handlers/AuditLogRoleAfterUpdateHandler.js +38 -0
- package/subscriptions/security/handlers/AuditLogRoleAfterUpdateHandler.js.map +1 -0
- package/subscriptions/security/handlers/AuditLogTeamAfterCreateHandler.d.ts +11 -0
- package/subscriptions/security/handlers/AuditLogTeamAfterCreateHandler.js +35 -0
- package/subscriptions/security/handlers/AuditLogTeamAfterCreateHandler.js.map +1 -0
- package/subscriptions/security/handlers/AuditLogTeamAfterDeleteHandler.d.ts +11 -0
- package/subscriptions/security/handlers/AuditLogTeamAfterDeleteHandler.js +35 -0
- package/subscriptions/security/handlers/AuditLogTeamAfterDeleteHandler.js.map +1 -0
- package/subscriptions/security/handlers/AuditLogTeamAfterUpdateHandler.d.ts +11 -0
- package/subscriptions/security/handlers/AuditLogTeamAfterUpdateHandler.js +38 -0
- package/subscriptions/security/handlers/AuditLogTeamAfterUpdateHandler.js.map +1 -0
- package/subscriptions/security/handlers/AuditLogUserAfterCreateHandler.d.ts +11 -0
- package/subscriptions/security/handlers/AuditLogUserAfterCreateHandler.js +35 -0
- package/subscriptions/security/handlers/AuditLogUserAfterCreateHandler.js.map +1 -0
- package/subscriptions/security/handlers/AuditLogUserAfterDeleteHandler.d.ts +11 -0
- package/subscriptions/security/handlers/AuditLogUserAfterDeleteHandler.js +35 -0
- package/subscriptions/security/handlers/AuditLogUserAfterDeleteHandler.js.map +1 -0
- package/subscriptions/security/handlers/AuditLogUserAfterUpdateHandler.d.ts +11 -0
- package/subscriptions/security/handlers/AuditLogUserAfterUpdateHandler.js +38 -0
- package/subscriptions/security/handlers/AuditLogUserAfterUpdateHandler.js.map +1 -0
- package/subscriptions/security/handlers/cleanupApiKey.d.ts +7 -0
- package/subscriptions/security/handlers/cleanupApiKey.js +12 -0
- package/subscriptions/security/handlers/cleanupApiKey.js.map +1 -0
- package/subscriptions/security/index.d.ts +2 -2
- package/subscriptions/security/index.js +26 -24
- package/subscriptions/security/index.js.map +1 -1
- package/subscriptions/websiteBuilder/index.d.ts +2 -0
- package/subscriptions/websiteBuilder/index.js +29 -0
- package/subscriptions/websiteBuilder/index.js.map +1 -0
- package/subscriptions/websiteBuilder/pages/PageAfterCreateHandler.d.ts +11 -0
- package/subscriptions/websiteBuilder/pages/PageAfterCreateHandler.js +35 -0
- package/subscriptions/websiteBuilder/pages/PageAfterCreateHandler.js.map +1 -0
- package/subscriptions/websiteBuilder/pages/PageAfterCreateRevisionFromHandler.d.ts +11 -0
- package/subscriptions/websiteBuilder/pages/PageAfterCreateRevisionFromHandler.js +35 -0
- package/subscriptions/websiteBuilder/pages/PageAfterCreateRevisionFromHandler.js.map +1 -0
- package/subscriptions/websiteBuilder/pages/PageAfterDeleteHandler.d.ts +11 -0
- package/subscriptions/websiteBuilder/pages/PageAfterDeleteHandler.js +35 -0
- package/subscriptions/websiteBuilder/pages/PageAfterDeleteHandler.js.map +1 -0
- package/subscriptions/websiteBuilder/pages/PageAfterDuplicateHandler.d.ts +11 -0
- package/subscriptions/websiteBuilder/pages/PageAfterDuplicateHandler.js +38 -0
- package/subscriptions/websiteBuilder/pages/PageAfterDuplicateHandler.js.map +1 -0
- package/subscriptions/websiteBuilder/pages/PageAfterMoveHandler.d.ts +11 -0
- package/subscriptions/websiteBuilder/pages/PageAfterMoveHandler.js +35 -0
- package/subscriptions/websiteBuilder/pages/PageAfterMoveHandler.js.map +1 -0
- package/subscriptions/websiteBuilder/pages/PageAfterPublishHandler.d.ts +11 -0
- package/subscriptions/websiteBuilder/pages/PageAfterPublishHandler.js +35 -0
- package/subscriptions/websiteBuilder/pages/PageAfterPublishHandler.js.map +1 -0
- package/subscriptions/websiteBuilder/pages/PageAfterUnpublishHandler.d.ts +11 -0
- package/subscriptions/websiteBuilder/pages/PageAfterUnpublishHandler.js +35 -0
- package/subscriptions/websiteBuilder/pages/PageAfterUnpublishHandler.js.map +1 -0
- package/subscriptions/websiteBuilder/pages/PageAfterUpdateHandler.d.ts +11 -0
- package/subscriptions/websiteBuilder/pages/PageAfterUpdateHandler.js +38 -0
- package/subscriptions/websiteBuilder/pages/PageAfterUpdateHandler.js.map +1 -0
- package/subscriptions/websiteBuilder/redirects/RedirectAfterCreateHandler.d.ts +11 -0
- package/subscriptions/websiteBuilder/redirects/RedirectAfterCreateHandler.js +35 -0
- package/subscriptions/websiteBuilder/redirects/RedirectAfterCreateHandler.js.map +1 -0
- package/subscriptions/websiteBuilder/redirects/RedirectAfterDeleteHandler.d.ts +11 -0
- package/subscriptions/websiteBuilder/redirects/RedirectAfterDeleteHandler.js +35 -0
- package/subscriptions/websiteBuilder/redirects/RedirectAfterDeleteHandler.js.map +1 -0
- package/subscriptions/websiteBuilder/redirects/RedirectAfterMoveHandler.d.ts +11 -0
- package/subscriptions/websiteBuilder/redirects/RedirectAfterMoveHandler.js +35 -0
- package/subscriptions/websiteBuilder/redirects/RedirectAfterMoveHandler.js.map +1 -0
- package/subscriptions/websiteBuilder/redirects/RedirectAfterUpdateHandler.d.ts +11 -0
- package/subscriptions/websiteBuilder/redirects/RedirectAfterUpdateHandler.js +38 -0
- package/subscriptions/websiteBuilder/redirects/RedirectAfterUpdateHandler.js.map +1 -0
- package/types.d.ts +14 -38
- package/types.js +0 -18
- package/utils/expiresAt.d.ts +4 -0
- package/utils/expiresAt.js +20 -0
- package/utils/expiresAt.js.map +1 -0
- package/utils/getAuditObject.d.ts +2 -1
- package/utils/getAuditObject.js +14 -22
- package/utils/getAuditObject.js.map +1 -1
- package/app/app.d.ts +0 -2
- package/app/app.js +0 -119
- package/app/app.js.map +0 -1
- package/app/contants.d.ts +0 -2
- package/app/contants.js +0 -10
- package/app/contants.js.map +0 -1
- package/app/createAppModifier.d.ts +0 -4
- package/app/createAppModifier.js +0 -14
- package/app/createAppModifier.js.map +0 -1
- package/app/index.d.ts +0 -4
- package/app/index.js +0 -43
- package/app/index.js.map +0 -1
- package/app/types.d.ts +0 -7
- package/app/types.js +0 -7
- package/app/types.js.map +0 -1
- package/index.js.map +0 -1
- package/subscriptions/aco/folders.d.ts +0 -4
- package/subscriptions/aco/folders.js +0 -94
- package/subscriptions/aco/folders.js.map +0 -1
- package/subscriptions/apw/changeRequests.d.ts +0 -4
- package/subscriptions/apw/changeRequests.js +0 -80
- package/subscriptions/apw/changeRequests.js.map +0 -1
- package/subscriptions/apw/comments.d.ts +0 -2
- package/subscriptions/apw/comments.js +0 -28
- package/subscriptions/apw/comments.js.map +0 -1
- package/subscriptions/apw/contentReviews.d.ts +0 -2
- package/subscriptions/apw/contentReviews.js +0 -28
- package/subscriptions/apw/contentReviews.js.map +0 -1
- package/subscriptions/apw/index.d.ts +0 -2
- package/subscriptions/apw/index.js +0 -26
- package/subscriptions/apw/index.js.map +0 -1
- package/subscriptions/apw/workflows.d.ts +0 -4
- package/subscriptions/apw/workflows.js +0 -64
- package/subscriptions/apw/workflows.js.map +0 -1
- package/subscriptions/fileManager/files.d.ts +0 -4
- package/subscriptions/fileManager/files.js +0 -64
- package/subscriptions/fileManager/files.js.map +0 -1
- package/subscriptions/fileManager/settings.d.ts +0 -2
- package/subscriptions/fileManager/settings.js +0 -32
- package/subscriptions/fileManager/settings.js.map +0 -1
- package/subscriptions/headlessCms/entries.d.ts +0 -9
- package/subscriptions/headlessCms/entries.js +0 -183
- package/subscriptions/headlessCms/entries.js.map +0 -1
- package/subscriptions/headlessCms/groups.d.ts +0 -4
- package/subscriptions/headlessCms/groups.js +0 -64
- package/subscriptions/headlessCms/groups.js.map +0 -1
- package/subscriptions/headlessCms/models.d.ts +0 -4
- package/subscriptions/headlessCms/models.js +0 -64
- package/subscriptions/headlessCms/models.js.map +0 -1
- package/subscriptions/headlessCms/utils/isSearchModelEntry.d.ts +0 -1
- package/subscriptions/headlessCms/utils/isSearchModelEntry.js +0 -13
- package/subscriptions/headlessCms/utils/isSearchModelEntry.js.map +0 -1
- package/subscriptions/i18n/index.d.ts +0 -2
- package/subscriptions/i18n/index.js +0 -15
- package/subscriptions/i18n/index.js.map +0 -1
- package/subscriptions/i18n/locales.d.ts +0 -4
- package/subscriptions/i18n/locales.js +0 -64
- package/subscriptions/i18n/locales.js.map +0 -1
- package/subscriptions/mailer/settings.d.ts +0 -2
- package/subscriptions/mailer/settings.js +0 -32
- package/subscriptions/mailer/settings.js.map +0 -1
- package/subscriptions/security/apiKeys.d.ts +0 -4
- package/subscriptions/security/apiKeys.js +0 -85
- package/subscriptions/security/apiKeys.js.map +0 -1
- package/subscriptions/security/roles.d.ts +0 -4
- package/subscriptions/security/roles.js +0 -64
- package/subscriptions/security/roles.js.map +0 -1
- package/subscriptions/security/teams.d.ts +0 -4
- package/subscriptions/security/teams.js +0 -64
- package/subscriptions/security/teams.js.map +0 -1
- package/subscriptions/security/users.d.ts +0 -4
- package/subscriptions/security/users.js +0 -64
- package/subscriptions/security/users.js.map +0 -1
- package/types.js.map +0 -1
- package/utils/getAuditConfig.d.ts +0 -36
- package/utils/getAuditConfig.js +0 -149
- package/utils/getAuditConfig.js.map +0 -1
|
@@ -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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare const createSecurityHooks: (
|
|
1
|
+
import type { Container } from "@webiny/di";
|
|
2
|
+
export declare const createSecurityHooks: (container: Container) => void;
|
|
@@ -1,27 +1,29 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
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);
|
|
24
26
|
};
|
|
25
|
-
|
|
27
|
+
export { createSecurityHooks };
|
|
26
28
|
|
|
27
29
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
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,29 @@
|
|
|
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
|
+
const createWebsiteBuilderHooks = (container)=>{
|
|
14
|
+
container.register(PageAfterCreateAuditHandler);
|
|
15
|
+
container.register(PageAfterUpdateAuditHandler);
|
|
16
|
+
container.register(PageAfterPublishAuditHandler);
|
|
17
|
+
container.register(PageAfterUnpublishAuditHandler);
|
|
18
|
+
container.register(PageAfterDeleteAuditHandler);
|
|
19
|
+
container.register(PageAfterDuplicateAuditHandler);
|
|
20
|
+
container.register(PageAfterMoveAuditHandler);
|
|
21
|
+
container.register(PageAfterCreateRevisionFromAuditHandler);
|
|
22
|
+
container.register(RedirectAfterCreateAuditHandler);
|
|
23
|
+
container.register(RedirectAfterUpdateAuditHandler);
|
|
24
|
+
container.register(RedirectAfterDeleteAuditHandler);
|
|
25
|
+
container.register(RedirectAfterMoveAuditHandler);
|
|
26
|
+
};
|
|
27
|
+
export { createWebsiteBuilderHooks };
|
|
28
|
+
|
|
29
|
+
//# 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\";\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"],"names":["createWebsiteBuilderHooks","container","PageAfterCreateAuditHandler","PageAfterUpdateAuditHandler","PageAfterPublishAuditHandler","PageAfterUnpublishAuditHandler","PageAfterDeleteAuditHandler","PageAfterDuplicateAuditHandler","PageAfterMoveAuditHandler","PageAfterCreateRevisionFromAuditHandler","RedirectAfterCreateAuditHandler","RedirectAfterUpdateAuditHandler","RedirectAfterDeleteAuditHandler","RedirectAfterMoveAuditHandler"],"mappings":";;;;;;;;;;;;AAcO,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;AACvB"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { PageAfterCreateEventHandler } from "@webiny/api-website-builder/features/pages/CreatePage/index.js";
|
|
2
|
+
import { RecordAuditLogUseCase } from "../../../features/RecordAuditLog/abstractions.js";
|
|
3
|
+
declare class PageAfterCreateHandlerImpl implements PageAfterCreateEventHandler.Interface {
|
|
4
|
+
private recordAuditLog;
|
|
5
|
+
constructor(recordAuditLog: RecordAuditLogUseCase.Interface);
|
|
6
|
+
handle(event: PageAfterCreateEventHandler.Event): Promise<void>;
|
|
7
|
+
}
|
|
8
|
+
export declare const PageAfterCreateAuditHandler: typeof PageAfterCreateHandlerImpl & {
|
|
9
|
+
__abstraction: import("@webiny/di").Abstraction<import("@webiny/api-core/features/eventPublisher").IEventHandler<import("@webiny/api-core/features/eventPublisher").DomainEvent<import("@webiny/api-website-builder/features/pages/CreatePage/abstractions").PageAfterCreatePayload>>>;
|
|
10
|
+
};
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { WebinyError } from "@webiny/error";
|
|
2
|
+
import { PageAfterCreateEventHandler } from "@webiny/api-website-builder/features/pages/CreatePage/index.js";
|
|
3
|
+
import { RecordAuditLogUseCase } from "../../../features/RecordAuditLog/abstractions.js";
|
|
4
|
+
import { AUDIT } from "../../../config.js";
|
|
5
|
+
class PageAfterCreateHandlerImpl {
|
|
6
|
+
constructor(recordAuditLog){
|
|
7
|
+
this.recordAuditLog = recordAuditLog;
|
|
8
|
+
}
|
|
9
|
+
async handle(event) {
|
|
10
|
+
try {
|
|
11
|
+
const { page } = event.payload;
|
|
12
|
+
const recordResult = await this.recordAuditLog.execute({
|
|
13
|
+
audit: AUDIT.WEBSITE_BUILDER.PAGE.CREATE,
|
|
14
|
+
message: "Website Page Created",
|
|
15
|
+
content: page,
|
|
16
|
+
entityId: page.id
|
|
17
|
+
});
|
|
18
|
+
if (recordResult.isFail()) throw recordResult.error;
|
|
19
|
+
} catch (error) {
|
|
20
|
+
throw WebinyError.from(error, {
|
|
21
|
+
message: "Error while executing PageAfterCreateEventHandler",
|
|
22
|
+
code: "AUDIT_LOGS_AFTER_PAGE_CREATE_HANDLER"
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
const PageAfterCreateAuditHandler = PageAfterCreateEventHandler.createImplementation({
|
|
28
|
+
implementation: PageAfterCreateHandlerImpl,
|
|
29
|
+
dependencies: [
|
|
30
|
+
RecordAuditLogUseCase
|
|
31
|
+
]
|
|
32
|
+
});
|
|
33
|
+
export { PageAfterCreateAuditHandler };
|
|
34
|
+
|
|
35
|
+
//# sourceMappingURL=PageAfterCreateHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subscriptions/websiteBuilder/pages/PageAfterCreateHandler.js","sources":["../../../../src/subscriptions/websiteBuilder/pages/PageAfterCreateHandler.ts"],"sourcesContent":["import { WebinyError } from \"@webiny/error\";\nimport { PageAfterCreateEventHandler } from \"@webiny/api-website-builder/features/pages/CreatePage/index.js\";\nimport { RecordAuditLogUseCase } from \"~/features/RecordAuditLog/abstractions.js\";\nimport { AUDIT } from \"~/config.js\";\n\nclass PageAfterCreateHandlerImpl implements PageAfterCreateEventHandler.Interface {\n constructor(private recordAuditLog: RecordAuditLogUseCase.Interface) {}\n\n async handle(event: PageAfterCreateEventHandler.Event): Promise<void> {\n try {\n const { page } = event.payload;\n const recordResult = await this.recordAuditLog.execute({\n audit: AUDIT.WEBSITE_BUILDER.PAGE.CREATE,\n message: \"Website Page Created\",\n content: page,\n entityId: page.id\n });\n if (recordResult.isFail()) {\n throw recordResult.error;\n }\n } catch (error) {\n throw WebinyError.from(error, {\n message: \"Error while executing PageAfterCreateEventHandler\",\n code: \"AUDIT_LOGS_AFTER_PAGE_CREATE_HANDLER\"\n });\n }\n }\n}\n\nexport const PageAfterCreateAuditHandler = PageAfterCreateEventHandler.createImplementation({\n implementation: PageAfterCreateHandlerImpl,\n dependencies: [RecordAuditLogUseCase]\n});\n"],"names":["PageAfterCreateHandlerImpl","recordAuditLog","event","page","recordResult","AUDIT","error","WebinyError","PageAfterCreateAuditHandler","PageAfterCreateEventHandler","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;YAC9B,MAAME,eAAe,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;gBACnD,OAAOC,MAAM,eAAe,CAAC,IAAI,CAAC,MAAM;gBACxC,SAAS;gBACT,SAASF;gBACT,UAAUA,KAAK,EAAE;YACrB;YACA,IAAIC,aAAa,MAAM,IACnB,MAAMA,aAAa,KAAK;QAEhC,EAAE,OAAOE,OAAO;YACZ,MAAMC,YAAY,IAAI,CAACD,OAAO;gBAC1B,SAAS;gBACT,MAAM;YACV;QACJ;IACJ;AACJ;AAEO,MAAME,8BAA8BC,4BAA4B,oBAAoB,CAAC;IACxF,gBAAgBT;IAChB,cAAc;QAACU;KAAsB;AACzC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { PageAfterCreateRevisionFromEventHandler } from "@webiny/api-website-builder/features/pages/CreatePageRevisionFrom/index.js";
|
|
2
|
+
import { RecordAuditLogUseCase } from "../../../features/RecordAuditLog/abstractions.js";
|
|
3
|
+
declare class PageAfterCreateRevisionFromHandlerImpl implements PageAfterCreateRevisionFromEventHandler.Interface {
|
|
4
|
+
private recordAuditLog;
|
|
5
|
+
constructor(recordAuditLog: RecordAuditLogUseCase.Interface);
|
|
6
|
+
handle(event: PageAfterCreateRevisionFromEventHandler.Event): Promise<void>;
|
|
7
|
+
}
|
|
8
|
+
export declare const PageAfterCreateRevisionFromAuditHandler: typeof PageAfterCreateRevisionFromHandlerImpl & {
|
|
9
|
+
__abstraction: import("@webiny/di").Abstraction<import("@webiny/api-core/features/eventPublisher").IEventHandler<import("@webiny/api-core/features/eventPublisher").DomainEvent<import("@webiny/api-website-builder/features/pages/CreatePageRevisionFrom/abstractions").PageAfterCreateRevisionFromPayload>>>;
|
|
10
|
+
};
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { WebinyError } from "@webiny/error";
|
|
2
|
+
import { PageAfterCreateRevisionFromEventHandler } from "@webiny/api-website-builder/features/pages/CreatePageRevisionFrom/index.js";
|
|
3
|
+
import { RecordAuditLogUseCase } from "../../../features/RecordAuditLog/abstractions.js";
|
|
4
|
+
import { AUDIT } from "../../../config.js";
|
|
5
|
+
class PageAfterCreateRevisionFromHandlerImpl {
|
|
6
|
+
constructor(recordAuditLog){
|
|
7
|
+
this.recordAuditLog = recordAuditLog;
|
|
8
|
+
}
|
|
9
|
+
async handle(event) {
|
|
10
|
+
try {
|
|
11
|
+
const { page } = event.payload;
|
|
12
|
+
const recordResult = await this.recordAuditLog.execute({
|
|
13
|
+
audit: AUDIT.WEBSITE_BUILDER.PAGE.CREATE_REVISION_FROM,
|
|
14
|
+
message: "Website Page Create Revision From",
|
|
15
|
+
content: page,
|
|
16
|
+
entityId: page.id
|
|
17
|
+
});
|
|
18
|
+
if (recordResult.isFail()) throw recordResult.error;
|
|
19
|
+
} catch (error) {
|
|
20
|
+
throw WebinyError.from(error, {
|
|
21
|
+
message: "Error while executing PageAfterCreateRevisionFromEventHandler",
|
|
22
|
+
code: "AUDIT_LOGS_AFTER_PAGE_CREATE_REVISION_FROM_HANDLER"
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
const PageAfterCreateRevisionFromAuditHandler = PageAfterCreateRevisionFromEventHandler.createImplementation({
|
|
28
|
+
implementation: PageAfterCreateRevisionFromHandlerImpl,
|
|
29
|
+
dependencies: [
|
|
30
|
+
RecordAuditLogUseCase
|
|
31
|
+
]
|
|
32
|
+
});
|
|
33
|
+
export { PageAfterCreateRevisionFromAuditHandler };
|
|
34
|
+
|
|
35
|
+
//# sourceMappingURL=PageAfterCreateRevisionFromHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subscriptions/websiteBuilder/pages/PageAfterCreateRevisionFromHandler.js","sources":["../../../../src/subscriptions/websiteBuilder/pages/PageAfterCreateRevisionFromHandler.ts"],"sourcesContent":["import { WebinyError } from \"@webiny/error\";\nimport { PageAfterCreateRevisionFromEventHandler } from \"@webiny/api-website-builder/features/pages/CreatePageRevisionFrom/index.js\";\nimport { RecordAuditLogUseCase } from \"~/features/RecordAuditLog/abstractions.js\";\nimport { AUDIT } from \"~/config.js\";\n\nclass PageAfterCreateRevisionFromHandlerImpl\n implements PageAfterCreateRevisionFromEventHandler.Interface\n{\n constructor(private recordAuditLog: RecordAuditLogUseCase.Interface) {}\n\n async handle(event: PageAfterCreateRevisionFromEventHandler.Event): Promise<void> {\n try {\n const { page } = event.payload;\n const recordResult = await this.recordAuditLog.execute({\n audit: AUDIT.WEBSITE_BUILDER.PAGE.CREATE_REVISION_FROM,\n message: \"Website Page Create Revision From\",\n content: page,\n entityId: page.id\n });\n if (recordResult.isFail()) {\n throw recordResult.error;\n }\n } catch (error) {\n throw WebinyError.from(error, {\n message: \"Error while executing PageAfterCreateRevisionFromEventHandler\",\n code: \"AUDIT_LOGS_AFTER_PAGE_CREATE_REVISION_FROM_HANDLER\"\n });\n }\n }\n}\n\nexport const PageAfterCreateRevisionFromAuditHandler =\n PageAfterCreateRevisionFromEventHandler.createImplementation({\n implementation: PageAfterCreateRevisionFromHandlerImpl,\n dependencies: [RecordAuditLogUseCase]\n });\n"],"names":["PageAfterCreateRevisionFromHandlerImpl","recordAuditLog","event","page","recordResult","AUDIT","error","WebinyError","PageAfterCreateRevisionFromAuditHandler","PageAfterCreateRevisionFromEventHandler","RecordAuditLogUseCase"],"mappings":";;;;AAKA,MAAMA;IAGF,YAAoBC,cAA+C,CAAE;aAAjDA,cAAc,GAAdA;IAAkD;IAEtE,MAAM,OAAOC,KAAoD,EAAiB;QAC9E,IAAI;YACA,MAAM,EAAEC,IAAI,EAAE,GAAGD,MAAM,OAAO;YAC9B,MAAME,eAAe,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;gBACnD,OAAOC,MAAM,eAAe,CAAC,IAAI,CAAC,oBAAoB;gBACtD,SAAS;gBACT,SAASF;gBACT,UAAUA,KAAK,EAAE;YACrB;YACA,IAAIC,aAAa,MAAM,IACnB,MAAMA,aAAa,KAAK;QAEhC,EAAE,OAAOE,OAAO;YACZ,MAAMC,YAAY,IAAI,CAACD,OAAO;gBAC1B,SAAS;gBACT,MAAM;YACV;QACJ;IACJ;AACJ;AAEO,MAAME,0CACTC,wCAAwC,oBAAoB,CAAC;IACzD,gBAAgBT;IAChB,cAAc;QAACU;KAAsB;AACzC"}
|