@webiny/api-audit-logs 6.1.0-beta.3 → 6.2.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/context/AuditLogsContextValue.d.ts +1 -1
  2. package/context/AuditLogsContextValue.js.map +1 -1
  3. package/context/index.js +4 -2
  4. package/context/index.js.map +1 -1
  5. package/events/AuditLogAfterCreateEvent.d.ts +2 -2
  6. package/events/AuditLogAfterCreateEvent.js +1 -1
  7. package/events/AuditLogAfterCreateEvent.js.map +1 -1
  8. package/events/AuditLogAfterUpdateEvent.d.ts +2 -2
  9. package/events/AuditLogAfterUpdateEvent.js +1 -1
  10. package/events/AuditLogAfterUpdateEvent.js.map +1 -1
  11. package/events/AuditLogBeforeCreateEvent.d.ts +2 -2
  12. package/events/AuditLogBeforeCreateEvent.js +1 -1
  13. package/events/AuditLogBeforeCreateEvent.js.map +1 -1
  14. package/events/AuditLogBeforeUpdateEvent.d.ts +2 -2
  15. package/events/AuditLogBeforeUpdateEvent.js +1 -1
  16. package/events/AuditLogBeforeUpdateEvent.js.map +1 -1
  17. package/events/abstractions.d.ts +1 -1
  18. package/events/abstractions.js.map +1 -1
  19. package/index.js.map +1 -1
  20. package/package.json +24 -24
  21. package/storage/Converter.d.ts +3 -3
  22. package/storage/Converter.js +3 -3
  23. package/storage/Converter.js.map +1 -1
  24. package/storage/Storage.d.ts +2 -2
  25. package/storage/Storage.js +1 -1
  26. package/storage/Storage.js.map +1 -1
  27. package/subscriptions/aco/handlers/AuditLogFolderAfterCreateHandler.d.ts +2 -2
  28. package/subscriptions/aco/handlers/AuditLogFolderAfterCreateHandler.js +1 -1
  29. package/subscriptions/aco/handlers/AuditLogFolderAfterCreateHandler.js.map +1 -1
  30. package/subscriptions/aco/handlers/AuditLogFolderAfterDeleteHandler.d.ts +2 -2
  31. package/subscriptions/aco/handlers/AuditLogFolderAfterDeleteHandler.js +1 -1
  32. package/subscriptions/aco/handlers/AuditLogFolderAfterDeleteHandler.js.map +1 -1
  33. package/subscriptions/aco/handlers/AuditLogFolderAfterUpdateHandler.d.ts +2 -2
  34. package/subscriptions/aco/handlers/AuditLogFolderAfterUpdateHandler.js +1 -1
  35. package/subscriptions/aco/handlers/AuditLogFolderAfterUpdateHandler.js.map +1 -1
  36. package/subscriptions/fileManager/handlers/AuditLogFileAfterCreateHandler.d.ts +1 -1
  37. package/subscriptions/fileManager/handlers/AuditLogFileAfterDeleteHandler.d.ts +1 -1
  38. package/subscriptions/fileManager/handlers/AuditLogFileAfterUpdateHandler.d.ts +1 -1
  39. package/subscriptions/fileManager/handlers/AuditLogSettingsAfterUpdateHandler.d.ts +1 -1
  40. package/subscriptions/headlessCms/handlers/AuditLogEntryAfterCreateEventHandler.d.ts +1 -1
  41. package/subscriptions/headlessCms/handlers/AuditLogEntryAfterDeleteEventHandler.d.ts +1 -1
  42. package/subscriptions/headlessCms/handlers/AuditLogEntryAfterPublishEventHandler.d.ts +1 -1
  43. package/subscriptions/headlessCms/handlers/AuditLogEntryAfterRestoreFromBinEventHandler.d.ts +1 -1
  44. package/subscriptions/headlessCms/handlers/AuditLogEntryAfterUnpublishEventHandler.d.ts +1 -1
  45. package/subscriptions/headlessCms/handlers/AuditLogEntryAfterUpdateEventHandler.d.ts +1 -1
  46. package/subscriptions/headlessCms/handlers/AuditLogEntryRevisionAfterCreateEventHandler.d.ts +1 -1
  47. package/subscriptions/headlessCms/handlers/AuditLogEntryRevisionAfterDeleteEventHandler.d.ts +1 -1
  48. package/subscriptions/headlessCms/handlers/AuditLogGroupAfterCreateEventHandler.d.ts +1 -1
  49. package/subscriptions/headlessCms/handlers/AuditLogGroupAfterDeleteEventHandler.d.ts +1 -1
  50. package/subscriptions/headlessCms/handlers/AuditLogGroupAfterUpdateEventHandler.d.ts +1 -1
  51. package/subscriptions/headlessCms/handlers/AuditLogModelAfterCreateEventHandler.d.ts +1 -1
  52. package/subscriptions/headlessCms/handlers/AuditLogModelAfterDeleteEventHandler.d.ts +1 -1
  53. package/subscriptions/headlessCms/handlers/AuditLogModelAfterUpdateEventHandler.d.ts +1 -1
  54. package/subscriptions/mailer/handlers/AuditLogMailerSettingsAfterSaveHandler.d.ts +1 -1
  55. package/subscriptions/security/handlers/AuditLogApiKeyAfterCreateHandler.d.ts +2 -2
  56. package/subscriptions/security/handlers/AuditLogApiKeyAfterCreateHandler.js +1 -1
  57. package/subscriptions/security/handlers/AuditLogApiKeyAfterCreateHandler.js.map +1 -1
  58. package/subscriptions/security/handlers/AuditLogApiKeyAfterDeleteHandler.d.ts +2 -2
  59. package/subscriptions/security/handlers/AuditLogApiKeyAfterDeleteHandler.js +1 -1
  60. package/subscriptions/security/handlers/AuditLogApiKeyAfterDeleteHandler.js.map +1 -1
  61. package/subscriptions/security/handlers/AuditLogApiKeyAfterUpdateHandler.d.ts +2 -2
  62. package/subscriptions/security/handlers/AuditLogApiKeyAfterUpdateHandler.js +1 -1
  63. package/subscriptions/security/handlers/AuditLogApiKeyAfterUpdateHandler.js.map +1 -1
  64. package/subscriptions/security/handlers/AuditLogRoleAfterCreateHandler.d.ts +1 -1
  65. package/subscriptions/security/handlers/AuditLogRoleAfterDeleteHandler.d.ts +1 -1
  66. package/subscriptions/security/handlers/AuditLogRoleAfterUpdateHandler.d.ts +1 -1
  67. package/subscriptions/security/handlers/AuditLogTeamAfterCreateHandler.d.ts +2 -2
  68. package/subscriptions/security/handlers/AuditLogTeamAfterCreateHandler.js +1 -1
  69. package/subscriptions/security/handlers/AuditLogTeamAfterCreateHandler.js.map +1 -1
  70. package/subscriptions/security/handlers/AuditLogTeamAfterDeleteHandler.d.ts +2 -2
  71. package/subscriptions/security/handlers/AuditLogTeamAfterDeleteHandler.js +1 -1
  72. package/subscriptions/security/handlers/AuditLogTeamAfterDeleteHandler.js.map +1 -1
  73. package/subscriptions/security/handlers/AuditLogTeamAfterUpdateHandler.d.ts +2 -2
  74. package/subscriptions/security/handlers/AuditLogTeamAfterUpdateHandler.js +1 -1
  75. package/subscriptions/security/handlers/AuditLogTeamAfterUpdateHandler.js.map +1 -1
  76. package/subscriptions/security/handlers/AuditLogUserAfterCreateHandler.d.ts +2 -2
  77. package/subscriptions/security/handlers/AuditLogUserAfterCreateHandler.js +1 -1
  78. package/subscriptions/security/handlers/AuditLogUserAfterCreateHandler.js.map +1 -1
  79. package/subscriptions/security/handlers/AuditLogUserAfterDeleteHandler.d.ts +2 -2
  80. package/subscriptions/security/handlers/AuditLogUserAfterDeleteHandler.js +1 -1
  81. package/subscriptions/security/handlers/AuditLogUserAfterDeleteHandler.js.map +1 -1
  82. package/subscriptions/security/handlers/AuditLogUserAfterUpdateHandler.d.ts +2 -2
  83. package/subscriptions/security/handlers/AuditLogUserAfterUpdateHandler.js +1 -1
  84. package/subscriptions/security/handlers/AuditLogUserAfterUpdateHandler.js.map +1 -1
  85. package/subscriptions/websiteBuilder/pages/PageAfterCreateHandler.d.ts +1 -1
  86. package/subscriptions/websiteBuilder/pages/PageAfterCreateRevisionFromHandler.d.ts +1 -1
  87. package/subscriptions/websiteBuilder/pages/PageAfterDeleteHandler.d.ts +1 -1
  88. package/subscriptions/websiteBuilder/pages/PageAfterDuplicateHandler.d.ts +1 -1
  89. package/subscriptions/websiteBuilder/pages/PageAfterMoveHandler.d.ts +1 -1
  90. package/subscriptions/websiteBuilder/pages/PageAfterPublishHandler.d.ts +1 -1
  91. package/subscriptions/websiteBuilder/pages/PageAfterUnpublishHandler.d.ts +1 -1
  92. package/subscriptions/websiteBuilder/pages/PageAfterUpdateHandler.d.ts +1 -1
  93. package/subscriptions/websiteBuilder/redirects/RedirectAfterCreateHandler.d.ts +1 -1
  94. package/subscriptions/websiteBuilder/redirects/RedirectAfterDeleteHandler.d.ts +1 -1
  95. package/subscriptions/websiteBuilder/redirects/RedirectAfterMoveHandler.d.ts +1 -1
  96. package/subscriptions/websiteBuilder/redirects/RedirectAfterUpdateHandler.d.ts +1 -1
@@ -1,6 +1,6 @@
1
1
  import type { AuditLogsContext, AuditLogsContextValue } from "../types.js";
2
2
  import type { IStorage } from "../storage/abstractions/Storage.js";
3
- import type { EventPublisher } from "@webiny/api-core/features/EventPublisher";
3
+ import type { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js";
4
4
  export interface IAuditLogsContextValueParams {
5
5
  getContext: () => AuditLogsContext;
6
6
  deleteLogsAfterDays: number;
@@ -1 +1 @@
1
- {"version":3,"names":["convertExpiresAtDaysToDate","mdbid","NotAuthorizedError","AuditLogBeforeCreateEvent","AuditLogAfterCreateEvent","AuditLogBeforeUpdateEvent","AuditLogAfterUpdateEvent","AuditLogsContextValueImpl","constructor","params","getContext","deleteLogsAfterDays","storage","eventPublisher","createAuditLog","payload","context","expiresAt","auditLog","id","tenant","getTenantId","createdBy","getIdentity","createdOn","Date","content","JSON","stringify","checkPermissions","beforeCreateEvent","setAuditLog","input","Object","assign","publish","result","store","data","success","afterCreateEvent","error","updateAuditLog","original","beforeUpdateEvent","afterUpdateEvent","getAuditLog","fetch","listAuditLogs","list","items","meta","cursor","after","hasMoreItems","action","Error","permissions","security","getPermissions","permission","name","message","tenancy","getCurrentTenant","identity","type","displayName","createAuditLogsContextValue"],"sources":["AuditLogsContextValue.ts"],"sourcesContent":["import type {\n AuditLogPayload,\n AuditLogsContext,\n AuditLogsContextValue,\n IListAuditLogsParams,\n IListAuditLogsResult\n} from \"~/types.js\";\nimport { convertExpiresAtDaysToDate } from \"~/utils/expiresAt.js\";\nimport type { IAuditLog, IAuditLogCreatedBy } from \"~/storage/types.js\";\nimport { mdbid } from \"@webiny/utils/mdbid.js\";\nimport type { IStorage, IStorageListParams } from \"~/storage/abstractions/Storage.js\";\nimport { NotAuthorizedError } from \"@webiny/api-core/features/security/shared/index.js\";\nimport type { EventPublisher } from \"@webiny/api-core/features/EventPublisher\";\nimport {\n AuditLogBeforeCreateEvent,\n AuditLogAfterCreateEvent,\n AuditLogBeforeUpdateEvent,\n AuditLogAfterUpdateEvent\n} from \"~/events/index.js\";\n\nexport interface IAuditLogsContextValueParams {\n getContext: () => AuditLogsContext;\n deleteLogsAfterDays: number;\n storage: IStorage;\n eventPublisher: EventPublisher.Interface;\n}\n\nclass AuditLogsContextValueImpl implements AuditLogsContextValue {\n private readonly getContext;\n public readonly deleteLogsAfterDays;\n private readonly storage: IStorage;\n private readonly eventPublisher: EventPublisher.Interface;\n\n public constructor(params: IAuditLogsContextValueParams) {\n this.getContext = params.getContext;\n this.deleteLogsAfterDays = params.deleteLogsAfterDays;\n this.storage = params.storage;\n this.eventPublisher = params.eventPublisher;\n }\n\n public async createAuditLog(payload: AuditLogPayload): Promise<IAuditLog> {\n const context = this.getContext();\n const expiresAt = convertExpiresAtDaysToDate(this.deleteLogsAfterDays);\n\n const auditLog: IAuditLog = {\n id: mdbid(),\n tenant: this.getTenantId(),\n createdBy: this.getIdentity(),\n createdOn: new Date(),\n ...payload,\n content: JSON.stringify(payload.content),\n expiresAt\n };\n await this.checkPermissions(auditLog);\n\n const beforeCreateEvent = new AuditLogBeforeCreateEvent({\n auditLog: auditLog,\n context,\n setAuditLog(input) {\n Object.assign(auditLog, input);\n }\n });\n await this.eventPublisher.publish(beforeCreateEvent);\n\n const result = await this.storage.store({\n data: auditLog\n });\n if (result.success) {\n const afterCreateEvent = new AuditLogAfterCreateEvent({\n auditLog: auditLog,\n context\n });\n await this.eventPublisher.publish(afterCreateEvent);\n return result.data;\n }\n throw result.error;\n }\n\n public async updateAuditLog(\n original: IAuditLog,\n payload: Partial<AuditLogPayload>\n ): Promise<IAuditLog> {\n const context = this.getContext();\n const auditLog: IAuditLog = {\n ...original,\n ...payload,\n content: payload.content ? JSON.stringify(payload.content) : original.content\n };\n await this.checkPermissions(auditLog);\n\n const beforeUpdateEvent = new AuditLogBeforeUpdateEvent({\n original,\n auditLog,\n context,\n setAuditLog(input) {\n Object.assign(auditLog, input);\n }\n });\n await this.eventPublisher.publish(beforeUpdateEvent);\n\n const result = await this.storage.store({\n data: auditLog\n });\n if (result.success) {\n const afterUpdateEvent = new AuditLogAfterUpdateEvent({\n original: original,\n auditLog: auditLog,\n context\n });\n await this.eventPublisher.publish(afterUpdateEvent);\n return result.data;\n }\n throw result.error;\n }\n\n public async getAuditLog(id: string): Promise<IAuditLog | null> {\n const result = await this.storage.fetch({\n id,\n tenant: this.getTenantId()\n });\n if (result.success) {\n await this.checkPermissions(result.data);\n return result.data;\n }\n throw result.error;\n }\n\n public async listAuditLogs(params: IListAuditLogsParams): Promise<IListAuditLogsResult> {\n const result = await this.storage.list({\n ...params,\n tenant: this.getTenantId()\n } as unknown as IStorageListParams);\n if (result.success) {\n return {\n items: result.data,\n meta: {\n cursor: result.meta.after || null,\n hasMoreItems: result.meta.hasMoreItems\n }\n };\n }\n throw result.error;\n }\n\n private async checkPermissions(auditLog: Pick<IAuditLog, \"action\">): Promise<void> {\n if (!auditLog.action) {\n throw new Error(\"Audit log action is not defined. Cannot check permissions.\");\n }\n const permissions = await this.getContext().security.getPermissions(\"al.*\");\n for (const permission of permissions) {\n if (permission.name === \"*\") {\n return;\n }\n if (permission.name === \"al.*\") {\n return;\n } else if (permission.name === `al.${auditLog.action}`) {\n return;\n }\n }\n\n throw new NotAuthorizedError({\n message: \"You cannot access audit logs.\"\n });\n }\n\n private getTenantId(): string {\n return this.getContext().tenancy.getCurrentTenant().id;\n }\n\n private getIdentity(): IAuditLogCreatedBy {\n const identity = this.getContext().security.getIdentity();\n return {\n id: identity.id,\n type: identity.type,\n displayName: identity.displayName || \"unknown\"\n };\n }\n}\n\nexport const createAuditLogsContextValue = (\n params: IAuditLogsContextValueParams\n): AuditLogsContextValue => {\n return new AuditLogsContextValueImpl(params);\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["convertExpiresAtDaysToDate","mdbid","NotAuthorizedError","AuditLogBeforeCreateEvent","AuditLogAfterCreateEvent","AuditLogBeforeUpdateEvent","AuditLogAfterUpdateEvent","AuditLogsContextValueImpl","constructor","params","getContext","deleteLogsAfterDays","storage","eventPublisher","createAuditLog","payload","context","expiresAt","auditLog","id","tenant","getTenantId","createdBy","getIdentity","createdOn","Date","content","JSON","stringify","checkPermissions","beforeCreateEvent","setAuditLog","input","Object","assign","publish","result","store","data","success","afterCreateEvent","error","updateAuditLog","original","beforeUpdateEvent","afterUpdateEvent","getAuditLog","fetch","listAuditLogs","list","items","meta","cursor","after","hasMoreItems","action","Error","permissions","security","getPermissions","permission","name","message","tenancy","getCurrentTenant","identity","type","displayName","createAuditLogsContextValue"],"sources":["AuditLogsContextValue.ts"],"sourcesContent":["import type {\n AuditLogPayload,\n AuditLogsContext,\n AuditLogsContextValue,\n IListAuditLogsParams,\n IListAuditLogsResult\n} from \"~/types.js\";\nimport { convertExpiresAtDaysToDate } from \"~/utils/expiresAt.js\";\nimport type { IAuditLog, IAuditLogCreatedBy } from \"~/storage/types.js\";\nimport { mdbid } from \"@webiny/utils/mdbid.js\";\nimport type { IStorage, IStorageListParams } from \"~/storage/abstractions/Storage.js\";\nimport { NotAuthorizedError } from \"@webiny/api-core/features/security/shared/index.js\";\nimport type { EventPublisher } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport {\n AuditLogBeforeCreateEvent,\n AuditLogAfterCreateEvent,\n AuditLogBeforeUpdateEvent,\n AuditLogAfterUpdateEvent\n} from \"~/events/index.js\";\n\nexport interface IAuditLogsContextValueParams {\n getContext: () => AuditLogsContext;\n deleteLogsAfterDays: number;\n storage: IStorage;\n eventPublisher: EventPublisher.Interface;\n}\n\nclass AuditLogsContextValueImpl implements AuditLogsContextValue {\n private readonly getContext;\n public readonly deleteLogsAfterDays;\n private readonly storage: IStorage;\n private readonly eventPublisher: EventPublisher.Interface;\n\n public constructor(params: IAuditLogsContextValueParams) {\n this.getContext = params.getContext;\n this.deleteLogsAfterDays = params.deleteLogsAfterDays;\n this.storage = params.storage;\n this.eventPublisher = params.eventPublisher;\n }\n\n public async createAuditLog(payload: AuditLogPayload): Promise<IAuditLog> {\n const context = this.getContext();\n const expiresAt = convertExpiresAtDaysToDate(this.deleteLogsAfterDays);\n\n const auditLog: IAuditLog = {\n id: mdbid(),\n tenant: this.getTenantId(),\n createdBy: this.getIdentity(),\n createdOn: new Date(),\n ...payload,\n content: JSON.stringify(payload.content),\n expiresAt\n };\n await this.checkPermissions(auditLog);\n\n const beforeCreateEvent = new AuditLogBeforeCreateEvent({\n auditLog: auditLog,\n context,\n setAuditLog(input) {\n Object.assign(auditLog, input);\n }\n });\n await this.eventPublisher.publish(beforeCreateEvent);\n\n const result = await this.storage.store({\n data: auditLog\n });\n if (result.success) {\n const afterCreateEvent = new AuditLogAfterCreateEvent({\n auditLog: auditLog,\n context\n });\n await this.eventPublisher.publish(afterCreateEvent);\n return result.data;\n }\n throw result.error;\n }\n\n public async updateAuditLog(\n original: IAuditLog,\n payload: Partial<AuditLogPayload>\n ): Promise<IAuditLog> {\n const context = this.getContext();\n const auditLog: IAuditLog = {\n ...original,\n ...payload,\n content: payload.content ? JSON.stringify(payload.content) : original.content\n };\n await this.checkPermissions(auditLog);\n\n const beforeUpdateEvent = new AuditLogBeforeUpdateEvent({\n original,\n auditLog,\n context,\n setAuditLog(input) {\n Object.assign(auditLog, input);\n }\n });\n await this.eventPublisher.publish(beforeUpdateEvent);\n\n const result = await this.storage.store({\n data: auditLog\n });\n if (result.success) {\n const afterUpdateEvent = new AuditLogAfterUpdateEvent({\n original: original,\n auditLog: auditLog,\n context\n });\n await this.eventPublisher.publish(afterUpdateEvent);\n return result.data;\n }\n throw result.error;\n }\n\n public async getAuditLog(id: string): Promise<IAuditLog | null> {\n const result = await this.storage.fetch({\n id,\n tenant: this.getTenantId()\n });\n if (result.success) {\n await this.checkPermissions(result.data);\n return result.data;\n }\n throw result.error;\n }\n\n public async listAuditLogs(params: IListAuditLogsParams): Promise<IListAuditLogsResult> {\n const result = await this.storage.list({\n ...params,\n tenant: this.getTenantId()\n } as unknown as IStorageListParams);\n if (result.success) {\n return {\n items: result.data,\n meta: {\n cursor: result.meta.after || null,\n hasMoreItems: result.meta.hasMoreItems\n }\n };\n }\n throw result.error;\n }\n\n private async checkPermissions(auditLog: Pick<IAuditLog, \"action\">): Promise<void> {\n if (!auditLog.action) {\n throw new Error(\"Audit log action is not defined. Cannot check permissions.\");\n }\n const permissions = await this.getContext().security.getPermissions(\"al.*\");\n for (const permission of permissions) {\n if (permission.name === \"*\") {\n return;\n }\n if (permission.name === \"al.*\") {\n return;\n } else if (permission.name === `al.${auditLog.action}`) {\n return;\n }\n }\n\n throw new NotAuthorizedError({\n message: \"You cannot access audit logs.\"\n });\n }\n\n private getTenantId(): string {\n return this.getContext().tenancy.getCurrentTenant().id;\n }\n\n private getIdentity(): IAuditLogCreatedBy {\n const identity = this.getContext().security.getIdentity();\n return {\n id: identity.id,\n type: identity.type,\n displayName: identity.displayName || \"unknown\"\n };\n }\n}\n\nexport const createAuditLogsContextValue = (\n params: IAuditLogsContextValueParams\n): AuditLogsContextValue => {\n return new AuditLogsContextValueImpl(params);\n};\n"],"mappings":"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","ignoreList":[]}
package/context/index.js CHANGED
@@ -1,7 +1,8 @@
1
1
  import { ContextPlugin } from "@webiny/api";
2
- import { EventPublisher } from "@webiny/api-core/features/EventPublisher";
2
+ import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js";
3
3
  import { createAuditLogsContextValue } from "./AuditLogsContextValue.js";
4
4
  import { createStorage } from "../storage/Storage.js";
5
+ import { CompressionHandler } from "@webiny/utils/exports/api.js";
5
6
  const getDeleteLogsAfterDays = days => {
6
7
  if (days && days > 0) {
7
8
  return days;
@@ -13,10 +14,11 @@ const getDeleteLogsAfterDays = days => {
13
14
  };
14
15
  export const createAuditLogsContext = params => {
15
16
  const plugin = new ContextPlugin(async context => {
17
+ const compressionHandler = context.container.resolve(CompressionHandler);
16
18
  const storage = createStorage({
17
19
  tableName: params?.tableName,
18
20
  client: params?.documentClient || context.db.driver.getClient(),
19
- compressor: context.compressor
21
+ compressionHandler
20
22
  });
21
23
  const eventPublisher = context.container.resolve(EventPublisher);
22
24
  context.auditLogs = createAuditLogsContextValue({
@@ -1 +1 @@
1
- {"version":3,"names":["ContextPlugin","EventPublisher","createAuditLogsContextValue","createStorage","getDeleteLogsAfterDays","days","createAuditLogsContext","params","plugin","context","storage","tableName","client","documentClient","db","driver","getClient","compressor","eventPublisher","container","resolve","auditLogs","getContext","deleteLogsAfterDays","name"],"sources":["index.ts"],"sourcesContent":["import { ContextPlugin } from \"@webiny/api\";\nimport { EventPublisher } from \"@webiny/api-core/features/EventPublisher\";\nimport type { DynamoDBDocument } from \"@webiny/aws-sdk/client-dynamodb/index.js\";\nimport type { AuditLogsContext } from \"~/types.js\";\nimport { createAuditLogsContextValue } from \"./AuditLogsContextValue.js\";\nimport { createStorage } from \"~/storage/Storage.js\";\n\nexport interface ISetupContextOptions {\n deleteLogsAfterDays: number | undefined;\n tableName: string | undefined;\n documentClient: DynamoDBDocument | undefined;\n}\n\nconst getDeleteLogsAfterDays = (days?: number): number => {\n if (days && days > 0) {\n return days;\n }\n /**\n * Default days to delete logs after.\n */\n return 60;\n};\n\nexport const createAuditLogsContext = (params?: ISetupContextOptions) => {\n const plugin = new ContextPlugin<AuditLogsContext>(async context => {\n const storage = createStorage({\n tableName: params?.tableName,\n client: params?.documentClient || (context.db.driver.getClient() as DynamoDBDocument),\n compressor: context.compressor\n });\n\n const eventPublisher = context.container.resolve(EventPublisher);\n\n context.auditLogs = createAuditLogsContextValue({\n getContext: () => {\n return context;\n },\n deleteLogsAfterDays: getDeleteLogsAfterDays(params?.deleteLogsAfterDays),\n storage,\n eventPublisher\n });\n });\n\n plugin.name = \"audit-logs.createContext\";\n\n return plugin;\n};\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,aAAa;AAC3C,SAASC,cAAc,QAAQ,0CAA0C;AAGzE,SAASC,2BAA2B;AACpC,SAASC,aAAa;AAQtB,MAAMC,sBAAsB,GAAIC,IAAa,IAAa;EACtD,IAAIA,IAAI,IAAIA,IAAI,GAAG,CAAC,EAAE;IAClB,OAAOA,IAAI;EACf;EACA;AACJ;AACA;EACI,OAAO,EAAE;AACb,CAAC;AAED,OAAO,MAAMC,sBAAsB,GAAIC,MAA6B,IAAK;EACrE,MAAMC,MAAM,GAAG,IAAIR,aAAa,CAAmB,MAAMS,OAAO,IAAI;IAChE,MAAMC,OAAO,GAAGP,aAAa,CAAC;MAC1BQ,SAAS,EAAEJ,MAAM,EAAEI,SAAS;MAC5BC,MAAM,EAAEL,MAAM,EAAEM,cAAc,IAAKJ,OAAO,CAACK,EAAE,CAACC,MAAM,CAACC,SAAS,CAAC,CAAsB;MACrFC,UAAU,EAAER,OAAO,CAACQ;IACxB,CAAC,CAAC;IAEF,MAAMC,cAAc,GAAGT,OAAO,CAACU,SAAS,CAACC,OAAO,CAACnB,cAAc,CAAC;IAEhEQ,OAAO,CAACY,SAAS,GAAGnB,2BAA2B,CAAC;MAC5CoB,UAAU,EAAEA,CAAA,KAAM;QACd,OAAOb,OAAO;MAClB,CAAC;MACDc,mBAAmB,EAAEnB,sBAAsB,CAACG,MAAM,EAAEgB,mBAAmB,CAAC;MACxEb,OAAO;MACPQ;IACJ,CAAC,CAAC;EACN,CAAC,CAAC;EAEFV,MAAM,CAACgB,IAAI,GAAG,0BAA0B;EAExC,OAAOhB,MAAM;AACjB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["ContextPlugin","EventPublisher","createAuditLogsContextValue","createStorage","CompressionHandler","getDeleteLogsAfterDays","days","createAuditLogsContext","params","plugin","context","compressionHandler","container","resolve","storage","tableName","client","documentClient","db","driver","getClient","eventPublisher","auditLogs","getContext","deleteLogsAfterDays","name"],"sources":["index.ts"],"sourcesContent":["import { ContextPlugin } from \"@webiny/api\";\nimport { EventPublisher } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport type { DynamoDBDocument } from \"@webiny/aws-sdk/client-dynamodb/index.js\";\nimport type { AuditLogsContext } from \"~/types.js\";\nimport { createAuditLogsContextValue } from \"./AuditLogsContextValue.js\";\nimport { createStorage } from \"~/storage/Storage.js\";\nimport { CompressionHandler } from \"@webiny/utils/exports/api.js\";\n\nexport interface ISetupContextOptions {\n deleteLogsAfterDays: number | undefined;\n tableName: string | undefined;\n documentClient: DynamoDBDocument | undefined;\n}\n\nconst getDeleteLogsAfterDays = (days?: number): number => {\n if (days && days > 0) {\n return days;\n }\n /**\n * Default days to delete logs after.\n */\n return 60;\n};\n\nexport const createAuditLogsContext = (params?: ISetupContextOptions) => {\n const plugin = new ContextPlugin<AuditLogsContext>(async context => {\n const compressionHandler = context.container.resolve(CompressionHandler);\n\n const storage = createStorage({\n tableName: params?.tableName,\n client: params?.documentClient || (context.db.driver.getClient() as DynamoDBDocument),\n compressionHandler\n });\n\n const eventPublisher = context.container.resolve(EventPublisher);\n\n context.auditLogs = createAuditLogsContextValue({\n getContext: () => {\n return context;\n },\n deleteLogsAfterDays: getDeleteLogsAfterDays(params?.deleteLogsAfterDays),\n storage,\n eventPublisher\n });\n });\n\n plugin.name = \"audit-logs.createContext\";\n\n return plugin;\n};\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,aAAa;AAC3C,SAASC,cAAc,QAAQ,mDAAmD;AAGlF,SAASC,2BAA2B;AACpC,SAASC,aAAa;AACtB,SAASC,kBAAkB,QAAQ,8BAA8B;AAQjE,MAAMC,sBAAsB,GAAIC,IAAa,IAAa;EACtD,IAAIA,IAAI,IAAIA,IAAI,GAAG,CAAC,EAAE;IAClB,OAAOA,IAAI;EACf;EACA;AACJ;AACA;EACI,OAAO,EAAE;AACb,CAAC;AAED,OAAO,MAAMC,sBAAsB,GAAIC,MAA6B,IAAK;EACrE,MAAMC,MAAM,GAAG,IAAIT,aAAa,CAAmB,MAAMU,OAAO,IAAI;IAChE,MAAMC,kBAAkB,GAAGD,OAAO,CAACE,SAAS,CAACC,OAAO,CAACT,kBAAkB,CAAC;IAExE,MAAMU,OAAO,GAAGX,aAAa,CAAC;MAC1BY,SAAS,EAAEP,MAAM,EAAEO,SAAS;MAC5BC,MAAM,EAAER,MAAM,EAAES,cAAc,IAAKP,OAAO,CAACQ,EAAE,CAACC,MAAM,CAACC,SAAS,CAAC,CAAsB;MACrFT;IACJ,CAAC,CAAC;IAEF,MAAMU,cAAc,GAAGX,OAAO,CAACE,SAAS,CAACC,OAAO,CAACZ,cAAc,CAAC;IAEhES,OAAO,CAACY,SAAS,GAAGpB,2BAA2B,CAAC;MAC5CqB,UAAU,EAAEA,CAAA,KAAM;QACd,OAAOb,OAAO;MAClB,CAAC;MACDc,mBAAmB,EAAEnB,sBAAsB,CAACG,MAAM,EAAEgB,mBAAmB,CAAC;MACxEV,OAAO;MACPO;IACJ,CAAC,CAAC;EACN,CAAC,CAAC;EAEFZ,MAAM,CAACgB,IAAI,GAAG,0BAA0B;EAExC,OAAOhB,MAAM;AACjB,CAAC","ignoreList":[]}
@@ -1,6 +1,6 @@
1
- import { DomainEvent } from "@webiny/api-core/features/EventPublisher";
1
+ import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
2
2
  import { AuditLogAfterCreatePayload } from "./abstractions.js";
3
3
  export declare class AuditLogAfterCreateEvent extends DomainEvent<AuditLogAfterCreatePayload> {
4
4
  eventType: "auditLog.afterCreate";
5
- getHandlerAbstraction(): import("@webiny/di").Abstraction<import("@webiny/api-core/features/EventPublisher").IEventHandler<DomainEvent<AuditLogAfterCreatePayload>>>;
5
+ getHandlerAbstraction(): import("@webiny/di").Abstraction<import("@webiny/api-core/features/eventPublisher/abstractions.js").IEventHandler<DomainEvent<AuditLogAfterCreatePayload>>>;
6
6
  }
@@ -1,4 +1,4 @@
1
- import { DomainEvent } from "@webiny/api-core/features/EventPublisher";
1
+ import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
2
2
  import { AuditLogAfterCreateHandler } from "./abstractions.js";
3
3
  export class AuditLogAfterCreateEvent extends DomainEvent {
4
4
  eventType = "auditLog.afterCreate";
@@ -1 +1 @@
1
- {"version":3,"names":["DomainEvent","AuditLogAfterCreateHandler","AuditLogAfterCreateEvent","eventType","getHandlerAbstraction"],"sources":["AuditLogAfterCreateEvent.ts"],"sourcesContent":["import { DomainEvent } from \"@webiny/api-core/features/EventPublisher\";\nimport { AuditLogAfterCreateHandler, AuditLogAfterCreatePayload } from \"./abstractions.js\";\n\nexport class AuditLogAfterCreateEvent extends DomainEvent<AuditLogAfterCreatePayload> {\n eventType = \"auditLog.afterCreate\" as const;\n\n getHandlerAbstraction() {\n return AuditLogAfterCreateHandler;\n }\n}\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,0CAA0C;AACtE,SAASC,0BAA0B;AAEnC,OAAO,MAAMC,wBAAwB,SAASF,WAAW,CAA6B;EAClFG,SAAS,GAAG,sBAAsB;EAElCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOH,0BAA0B;EACrC;AACJ","ignoreList":[]}
1
+ {"version":3,"names":["DomainEvent","AuditLogAfterCreateHandler","AuditLogAfterCreateEvent","eventType","getHandlerAbstraction"],"sources":["AuditLogAfterCreateEvent.ts"],"sourcesContent":["import { DomainEvent } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { AuditLogAfterCreateHandler, AuditLogAfterCreatePayload } from \"./abstractions.js\";\n\nexport class AuditLogAfterCreateEvent extends DomainEvent<AuditLogAfterCreatePayload> {\n eventType = \"auditLog.afterCreate\" as const;\n\n getHandlerAbstraction() {\n return AuditLogAfterCreateHandler;\n }\n}\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,mDAAmD;AAC/E,SAASC,0BAA0B;AAEnC,OAAO,MAAMC,wBAAwB,SAASF,WAAW,CAA6B;EAClFG,SAAS,GAAG,sBAAsB;EAElCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOH,0BAA0B;EACrC;AACJ","ignoreList":[]}
@@ -1,6 +1,6 @@
1
- import { DomainEvent } from "@webiny/api-core/features/EventPublisher";
1
+ import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
2
2
  import { AuditLogAfterUpdatePayload } from "./abstractions.js";
3
3
  export declare class AuditLogAfterUpdateEvent extends DomainEvent<AuditLogAfterUpdatePayload> {
4
4
  eventType: "auditLog.afterUpdate";
5
- getHandlerAbstraction(): import("@webiny/di").Abstraction<import("@webiny/api-core/features/EventPublisher").IEventHandler<DomainEvent<AuditLogAfterUpdatePayload>>>;
5
+ getHandlerAbstraction(): import("@webiny/di").Abstraction<import("@webiny/api-core/features/eventPublisher/abstractions.js").IEventHandler<DomainEvent<AuditLogAfterUpdatePayload>>>;
6
6
  }
@@ -1,4 +1,4 @@
1
- import { DomainEvent } from "@webiny/api-core/features/EventPublisher";
1
+ import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
2
2
  import { AuditLogAfterUpdateHandler } from "./abstractions.js";
3
3
  export class AuditLogAfterUpdateEvent extends DomainEvent {
4
4
  eventType = "auditLog.afterUpdate";
@@ -1 +1 @@
1
- {"version":3,"names":["DomainEvent","AuditLogAfterUpdateHandler","AuditLogAfterUpdateEvent","eventType","getHandlerAbstraction"],"sources":["AuditLogAfterUpdateEvent.ts"],"sourcesContent":["import { DomainEvent } from \"@webiny/api-core/features/EventPublisher\";\nimport { AuditLogAfterUpdateHandler, AuditLogAfterUpdatePayload } from \"./abstractions.js\";\n\nexport class AuditLogAfterUpdateEvent extends DomainEvent<AuditLogAfterUpdatePayload> {\n eventType = \"auditLog.afterUpdate\" as const;\n\n getHandlerAbstraction() {\n return AuditLogAfterUpdateHandler;\n }\n}\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,0CAA0C;AACtE,SAASC,0BAA0B;AAEnC,OAAO,MAAMC,wBAAwB,SAASF,WAAW,CAA6B;EAClFG,SAAS,GAAG,sBAAsB;EAElCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOH,0BAA0B;EACrC;AACJ","ignoreList":[]}
1
+ {"version":3,"names":["DomainEvent","AuditLogAfterUpdateHandler","AuditLogAfterUpdateEvent","eventType","getHandlerAbstraction"],"sources":["AuditLogAfterUpdateEvent.ts"],"sourcesContent":["import { DomainEvent } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { AuditLogAfterUpdateHandler, AuditLogAfterUpdatePayload } from \"./abstractions.js\";\n\nexport class AuditLogAfterUpdateEvent extends DomainEvent<AuditLogAfterUpdatePayload> {\n eventType = \"auditLog.afterUpdate\" as const;\n\n getHandlerAbstraction() {\n return AuditLogAfterUpdateHandler;\n }\n}\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,mDAAmD;AAC/E,SAASC,0BAA0B;AAEnC,OAAO,MAAMC,wBAAwB,SAASF,WAAW,CAA6B;EAClFG,SAAS,GAAG,sBAAsB;EAElCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOH,0BAA0B;EACrC;AACJ","ignoreList":[]}
@@ -1,6 +1,6 @@
1
- import { DomainEvent } from "@webiny/api-core/features/EventPublisher";
1
+ import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
2
2
  import { AuditLogBeforeCreatePayload } from "./abstractions.js";
3
3
  export declare class AuditLogBeforeCreateEvent extends DomainEvent<AuditLogBeforeCreatePayload> {
4
4
  eventType: "auditLog.beforeCreate";
5
- getHandlerAbstraction(): import("@webiny/di").Abstraction<import("@webiny/api-core/features/EventPublisher").IEventHandler<DomainEvent<AuditLogBeforeCreatePayload>>>;
5
+ getHandlerAbstraction(): import("@webiny/di").Abstraction<import("@webiny/api-core/features/eventPublisher/abstractions.js").IEventHandler<DomainEvent<AuditLogBeforeCreatePayload>>>;
6
6
  }
@@ -1,4 +1,4 @@
1
- import { DomainEvent } from "@webiny/api-core/features/EventPublisher";
1
+ import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
2
2
  import { AuditLogBeforeCreateHandler } from "./abstractions.js";
3
3
  export class AuditLogBeforeCreateEvent extends DomainEvent {
4
4
  eventType = "auditLog.beforeCreate";
@@ -1 +1 @@
1
- {"version":3,"names":["DomainEvent","AuditLogBeforeCreateHandler","AuditLogBeforeCreateEvent","eventType","getHandlerAbstraction"],"sources":["AuditLogBeforeCreateEvent.ts"],"sourcesContent":["import { DomainEvent } from \"@webiny/api-core/features/EventPublisher\";\nimport { AuditLogBeforeCreateHandler, AuditLogBeforeCreatePayload } from \"./abstractions.js\";\n\nexport class AuditLogBeforeCreateEvent extends DomainEvent<AuditLogBeforeCreatePayload> {\n eventType = \"auditLog.beforeCreate\" as const;\n\n getHandlerAbstraction() {\n return AuditLogBeforeCreateHandler;\n }\n}\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,0CAA0C;AACtE,SAASC,2BAA2B;AAEpC,OAAO,MAAMC,yBAAyB,SAASF,WAAW,CAA8B;EACpFG,SAAS,GAAG,uBAAuB;EAEnCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOH,2BAA2B;EACtC;AACJ","ignoreList":[]}
1
+ {"version":3,"names":["DomainEvent","AuditLogBeforeCreateHandler","AuditLogBeforeCreateEvent","eventType","getHandlerAbstraction"],"sources":["AuditLogBeforeCreateEvent.ts"],"sourcesContent":["import { DomainEvent } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { AuditLogBeforeCreateHandler, AuditLogBeforeCreatePayload } from \"./abstractions.js\";\n\nexport class AuditLogBeforeCreateEvent extends DomainEvent<AuditLogBeforeCreatePayload> {\n eventType = \"auditLog.beforeCreate\" as const;\n\n getHandlerAbstraction() {\n return AuditLogBeforeCreateHandler;\n }\n}\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,mDAAmD;AAC/E,SAASC,2BAA2B;AAEpC,OAAO,MAAMC,yBAAyB,SAASF,WAAW,CAA8B;EACpFG,SAAS,GAAG,uBAAuB;EAEnCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOH,2BAA2B;EACtC;AACJ","ignoreList":[]}
@@ -1,6 +1,6 @@
1
- import { DomainEvent } from "@webiny/api-core/features/EventPublisher";
1
+ import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
2
2
  import { AuditLogBeforeUpdatePayload } from "./abstractions.js";
3
3
  export declare class AuditLogBeforeUpdateEvent extends DomainEvent<AuditLogBeforeUpdatePayload> {
4
4
  eventType: "auditLog.beforeUpdate";
5
- getHandlerAbstraction(): import("@webiny/di").Abstraction<import("@webiny/api-core/features/EventPublisher").IEventHandler<DomainEvent<AuditLogBeforeUpdatePayload>>>;
5
+ getHandlerAbstraction(): import("@webiny/di").Abstraction<import("@webiny/api-core/features/eventPublisher/abstractions.js").IEventHandler<DomainEvent<AuditLogBeforeUpdatePayload>>>;
6
6
  }
@@ -1,4 +1,4 @@
1
- import { DomainEvent } from "@webiny/api-core/features/EventPublisher";
1
+ import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
2
2
  import { AuditLogBeforeUpdateHandler } from "./abstractions.js";
3
3
  export class AuditLogBeforeUpdateEvent extends DomainEvent {
4
4
  eventType = "auditLog.beforeUpdate";
@@ -1 +1 @@
1
- {"version":3,"names":["DomainEvent","AuditLogBeforeUpdateHandler","AuditLogBeforeUpdateEvent","eventType","getHandlerAbstraction"],"sources":["AuditLogBeforeUpdateEvent.ts"],"sourcesContent":["import { DomainEvent } from \"@webiny/api-core/features/EventPublisher\";\nimport { AuditLogBeforeUpdateHandler, AuditLogBeforeUpdatePayload } from \"./abstractions.js\";\n\nexport class AuditLogBeforeUpdateEvent extends DomainEvent<AuditLogBeforeUpdatePayload> {\n eventType = \"auditLog.beforeUpdate\" as const;\n\n getHandlerAbstraction() {\n return AuditLogBeforeUpdateHandler;\n }\n}\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,0CAA0C;AACtE,SAASC,2BAA2B;AAEpC,OAAO,MAAMC,yBAAyB,SAASF,WAAW,CAA8B;EACpFG,SAAS,GAAG,uBAAuB;EAEnCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOH,2BAA2B;EACtC;AACJ","ignoreList":[]}
1
+ {"version":3,"names":["DomainEvent","AuditLogBeforeUpdateHandler","AuditLogBeforeUpdateEvent","eventType","getHandlerAbstraction"],"sources":["AuditLogBeforeUpdateEvent.ts"],"sourcesContent":["import { DomainEvent } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { AuditLogBeforeUpdateHandler, AuditLogBeforeUpdatePayload } from \"./abstractions.js\";\n\nexport class AuditLogBeforeUpdateEvent extends DomainEvent<AuditLogBeforeUpdatePayload> {\n eventType = \"auditLog.beforeUpdate\" as const;\n\n getHandlerAbstraction() {\n return AuditLogBeforeUpdateHandler;\n }\n}\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,mDAAmD;AAC/E,SAASC,2BAA2B;AAEpC,OAAO,MAAMC,yBAAyB,SAASF,WAAW,CAA8B;EACpFG,SAAS,GAAG,uBAAuB;EAEnCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOH,2BAA2B;EACtC;AACJ","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import type { DomainEvent, IEventHandler } from "@webiny/api-core/features/EventPublisher";
1
+ import type { DomainEvent, IEventHandler } from "@webiny/api-core/features/eventPublisher/index.js";
2
2
  import type { IAuditLog } from "../storage/types.js";
3
3
  import type { AuditLogsContext } from "../types.js";
4
4
  export interface AuditLogBeforeCreatePayload {
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","AuditLogBeforeCreateHandler","AuditLogAfterCreateHandler","AuditLogBeforeUpdateHandler","AuditLogAfterUpdateHandler"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { DomainEvent, IEventHandler } from \"@webiny/api-core/features/EventPublisher\";\nimport type { IAuditLog } from \"~/storage/types.js\";\nimport type { AuditLogsContext } from \"~/types.js\";\n\n// ============================================================================\n// AuditLogBeforeCreate Event\n// ============================================================================\n\nexport interface AuditLogBeforeCreatePayload {\n auditLog: IAuditLog;\n context: AuditLogsContext;\n setAuditLog(auditLog: Partial<IAuditLog>): void;\n}\n\nexport const AuditLogBeforeCreateHandler = createAbstraction<\n IEventHandler<DomainEvent<AuditLogBeforeCreatePayload>>\n>(\"AuditLogBeforeCreateHandler\");\n\nexport namespace AuditLogBeforeCreateHandler {\n export type Interface = IEventHandler<DomainEvent<AuditLogBeforeCreatePayload>>;\n export type Event = DomainEvent<AuditLogBeforeCreatePayload>;\n}\n\n// ============================================================================\n// AuditLogAfterCreate Event\n// ============================================================================\n\nexport interface AuditLogAfterCreatePayload {\n auditLog: IAuditLog;\n context: AuditLogsContext;\n}\n\nexport const AuditLogAfterCreateHandler = createAbstraction<\n IEventHandler<DomainEvent<AuditLogAfterCreatePayload>>\n>(\"AuditLogAfterCreateHandler\");\n\nexport namespace AuditLogAfterCreateHandler {\n export type Interface = IEventHandler<DomainEvent<AuditLogAfterCreatePayload>>;\n export type Event = DomainEvent<AuditLogAfterCreatePayload>;\n}\n\n// ============================================================================\n// AuditLogBeforeUpdate Event\n// ============================================================================\n\nexport interface AuditLogBeforeUpdatePayload {\n auditLog: IAuditLog;\n original: IAuditLog;\n context: AuditLogsContext;\n setAuditLog(auditLog: Partial<IAuditLog>): void;\n}\n\nexport const AuditLogBeforeUpdateHandler = createAbstraction<\n IEventHandler<DomainEvent<AuditLogBeforeUpdatePayload>>\n>(\"AuditLogBeforeUpdateHandler\");\n\nexport namespace AuditLogBeforeUpdateHandler {\n export type Interface = IEventHandler<DomainEvent<AuditLogBeforeUpdatePayload>>;\n export type Event = DomainEvent<AuditLogBeforeUpdatePayload>;\n}\n\n// ============================================================================\n// AuditLogAfterUpdate Event\n// ============================================================================\n\nexport interface AuditLogAfterUpdatePayload {\n auditLog: IAuditLog;\n original: IAuditLog;\n context: AuditLogsContext;\n}\n\nexport const AuditLogAfterUpdateHandler = createAbstraction<\n IEventHandler<DomainEvent<AuditLogAfterUpdatePayload>>\n>(\"AuditLogAfterUpdateHandler\");\n\nexport namespace AuditLogAfterUpdateHandler {\n export type Interface = IEventHandler<DomainEvent<AuditLogAfterUpdatePayload>>;\n export type Event = DomainEvent<AuditLogAfterUpdatePayload>;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;;AAKvD;AACA;AACA;;AAQA,OAAO,MAAMC,2BAA2B,GAAGD,iBAAiB,CAE1D,6BAA6B,CAAC;;AAOhC;AACA;AACA;;AAOA,OAAO,MAAME,0BAA0B,GAAGF,iBAAiB,CAEzD,4BAA4B,CAAC;;AAO/B;AACA;AACA;;AASA,OAAO,MAAMG,2BAA2B,GAAGH,iBAAiB,CAE1D,6BAA6B,CAAC;;AAOhC;AACA;AACA;;AAQA,OAAO,MAAMI,0BAA0B,GAAGJ,iBAAiB,CAEzD,4BAA4B,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createAbstraction","AuditLogBeforeCreateHandler","AuditLogAfterCreateHandler","AuditLogBeforeUpdateHandler","AuditLogAfterUpdateHandler"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { DomainEvent, IEventHandler } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport type { IAuditLog } from \"~/storage/types.js\";\nimport type { AuditLogsContext } from \"~/types.js\";\n\n// ============================================================================\n// AuditLogBeforeCreate Event\n// ============================================================================\n\nexport interface AuditLogBeforeCreatePayload {\n auditLog: IAuditLog;\n context: AuditLogsContext;\n setAuditLog(auditLog: Partial<IAuditLog>): void;\n}\n\nexport const AuditLogBeforeCreateHandler = createAbstraction<\n IEventHandler<DomainEvent<AuditLogBeforeCreatePayload>>\n>(\"AuditLogBeforeCreateHandler\");\n\nexport namespace AuditLogBeforeCreateHandler {\n export type Interface = IEventHandler<DomainEvent<AuditLogBeforeCreatePayload>>;\n export type Event = DomainEvent<AuditLogBeforeCreatePayload>;\n}\n\n// ============================================================================\n// AuditLogAfterCreate Event\n// ============================================================================\n\nexport interface AuditLogAfterCreatePayload {\n auditLog: IAuditLog;\n context: AuditLogsContext;\n}\n\nexport const AuditLogAfterCreateHandler = createAbstraction<\n IEventHandler<DomainEvent<AuditLogAfterCreatePayload>>\n>(\"AuditLogAfterCreateHandler\");\n\nexport namespace AuditLogAfterCreateHandler {\n export type Interface = IEventHandler<DomainEvent<AuditLogAfterCreatePayload>>;\n export type Event = DomainEvent<AuditLogAfterCreatePayload>;\n}\n\n// ============================================================================\n// AuditLogBeforeUpdate Event\n// ============================================================================\n\nexport interface AuditLogBeforeUpdatePayload {\n auditLog: IAuditLog;\n original: IAuditLog;\n context: AuditLogsContext;\n setAuditLog(auditLog: Partial<IAuditLog>): void;\n}\n\nexport const AuditLogBeforeUpdateHandler = createAbstraction<\n IEventHandler<DomainEvent<AuditLogBeforeUpdatePayload>>\n>(\"AuditLogBeforeUpdateHandler\");\n\nexport namespace AuditLogBeforeUpdateHandler {\n export type Interface = IEventHandler<DomainEvent<AuditLogBeforeUpdatePayload>>;\n export type Event = DomainEvent<AuditLogBeforeUpdatePayload>;\n}\n\n// ============================================================================\n// AuditLogAfterUpdate Event\n// ============================================================================\n\nexport interface AuditLogAfterUpdatePayload {\n auditLog: IAuditLog;\n original: IAuditLog;\n context: AuditLogsContext;\n}\n\nexport const AuditLogAfterUpdateHandler = createAbstraction<\n IEventHandler<DomainEvent<AuditLogAfterUpdatePayload>>\n>(\"AuditLogAfterUpdateHandler\");\n\nexport namespace AuditLogAfterUpdateHandler {\n export type Interface = IEventHandler<DomainEvent<AuditLogAfterUpdatePayload>>;\n export type Event = DomainEvent<AuditLogAfterUpdatePayload>;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;;AAKvD;AACA;AACA;;AAQA,OAAO,MAAMC,2BAA2B,GAAGD,iBAAiB,CAE1D,6BAA6B,CAAC;;AAOhC;AACA;AACA;;AAOA,OAAO,MAAME,0BAA0B,GAAGF,iBAAiB,CAEzD,4BAA4B,CAAC;;AAO/B;AACA;AACA;;AASA,OAAO,MAAMG,2BAA2B,GAAGH,iBAAiB,CAE1D,6BAA6B,CAAC;;AAOhC;AACA;AACA;;AAQA,OAAO,MAAMI,0BAA0B,GAAGJ,iBAAiB,CAEzD,4BAA4B,CAAC","ignoreList":[]}
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["ContextPlugin","createSubscriptionHooks","createAuditLogsContext","createGraphQLSchema","AuditLogsContext","createAuditLogs","params","subscriptionsPlugin","context","wcp","canUseFeature","container","registerInstance","name","tableName","deleteLogsAfterDays","documentClient"],"sources":["index.ts"],"sourcesContent":["import { ContextPlugin } from \"@webiny/api\";\nimport { createSubscriptionHooks } from \"~/subscriptions/index.js\";\nimport { createAuditLogsContext } from \"~/context/index.js\";\nimport { createGraphQLSchema } from \"~/graphql/schema.js\";\nimport type { DynamoDBDocument } from \"@webiny/aws-sdk/client-dynamodb/index.js\";\nimport { AuditLogsContext } from \"./abstractions.js\";\n\nexport interface ICreateAuditLogsParams {\n deleteLogsAfterDays: number | undefined;\n tableName?: string;\n documentClient?: DynamoDBDocument;\n}\n\nexport const createAuditLogs = (params?: ICreateAuditLogsParams) => {\n const subscriptionsPlugin = new ContextPlugin<AuditLogsContext.Interface>(context => {\n if (!context.wcp.canUseFeature(\"auditLogs\")) {\n return;\n }\n\n context.container.registerInstance(AuditLogsContext, context);\n\n createSubscriptionHooks(context);\n });\n\n subscriptionsPlugin.name = \"auditLogs.context.subscriptions\";\n\n return [\n subscriptionsPlugin,\n createGraphQLSchema(),\n createAuditLogsContext({\n tableName: params?.tableName,\n deleteLogsAfterDays: params?.deleteLogsAfterDays,\n documentClient: params?.documentClient\n })\n ];\n};\nexport * from \"~/config.js\";\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,aAAa;AAC3C,SAASC,uBAAuB;AAChC,SAASC,sBAAsB;AAC/B,SAASC,mBAAmB;AAE5B,SAASC,gBAAgB;AAQzB,OAAO,MAAMC,eAAe,GAAIC,MAA+B,IAAK;EAChE,MAAMC,mBAAmB,GAAG,IAAIP,aAAa,CAA6BQ,OAAO,IAAI;IACjF,IAAI,CAACA,OAAO,CAACC,GAAG,CAACC,aAAa,CAAC,WAAW,CAAC,EAAE;MACzC;IACJ;IAEAF,OAAO,CAACG,SAAS,CAACC,gBAAgB,CAACR,gBAAgB,EAAEI,OAAO,CAAC;IAE7DP,uBAAuB,CAACO,OAAO,CAAC;EACpC,CAAC,CAAC;EAEFD,mBAAmB,CAACM,IAAI,GAAG,iCAAiC;EAE5D,OAAO,CACHN,mBAAmB,EACnBJ,mBAAmB,CAAC,CAAC,EACrBD,sBAAsB,CAAC;IACnBY,SAAS,EAAER,MAAM,EAAEQ,SAAS;IAC5BC,mBAAmB,EAAET,MAAM,EAAES,mBAAmB;IAChDC,cAAc,EAAEV,MAAM,EAAEU;EAC5B,CAAC,CAAC,CACL;AACL,CAAC;AACD","ignoreList":[]}
1
+ {"version":3,"names":["ContextPlugin","createSubscriptionHooks","createAuditLogsContext","createGraphQLSchema","AuditLogsContext","createAuditLogs","params","subscriptionsPlugin","context","wcp","canUseFeature","container","registerInstance","name","tableName","deleteLogsAfterDays","documentClient"],"sources":["index.ts"],"sourcesContent":["import { ContextPlugin } from \"@webiny/api\";\nimport { createSubscriptionHooks } from \"~/subscriptions/index.js\";\nimport { createAuditLogsContext } from \"~/context/index.js\";\nimport { createGraphQLSchema } from \"~/graphql/schema.js\";\nimport type { DynamoDBDocument } from \"@webiny/aws-sdk/client-dynamodb/index.js\";\nimport { AuditLogsContext } from \"./abstractions.js\";\n\nexport interface ICreateAuditLogsParams {\n deleteLogsAfterDays: number | undefined;\n tableName?: string;\n documentClient?: DynamoDBDocument;\n}\n\nexport const createAuditLogs = (params?: ICreateAuditLogsParams) => {\n const subscriptionsPlugin = new ContextPlugin<AuditLogsContext.Interface>(context => {\n if (!context.wcp.canUseFeature(\"auditLogs\")) {\n return;\n }\n\n context.container.registerInstance(AuditLogsContext, context);\n\n createSubscriptionHooks(context);\n });\n\n subscriptionsPlugin.name = \"auditLogs.context.subscriptions\";\n return [\n subscriptionsPlugin,\n createGraphQLSchema(),\n createAuditLogsContext({\n tableName: params?.tableName,\n deleteLogsAfterDays: params?.deleteLogsAfterDays,\n documentClient: params?.documentClient\n })\n ];\n};\nexport * from \"~/config.js\";\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,aAAa;AAC3C,SAASC,uBAAuB;AAChC,SAASC,sBAAsB;AAC/B,SAASC,mBAAmB;AAE5B,SAASC,gBAAgB;AAQzB,OAAO,MAAMC,eAAe,GAAIC,MAA+B,IAAK;EAChE,MAAMC,mBAAmB,GAAG,IAAIP,aAAa,CAA6BQ,OAAO,IAAI;IACjF,IAAI,CAACA,OAAO,CAACC,GAAG,CAACC,aAAa,CAAC,WAAW,CAAC,EAAE;MACzC;IACJ;IAEAF,OAAO,CAACG,SAAS,CAACC,gBAAgB,CAACR,gBAAgB,EAAEI,OAAO,CAAC;IAE7DP,uBAAuB,CAACO,OAAO,CAAC;EACpC,CAAC,CAAC;EAEFD,mBAAmB,CAACM,IAAI,GAAG,iCAAiC;EAC5D,OAAO,CACHN,mBAAmB,EACnBJ,mBAAmB,CAAC,CAAC,EACrBD,sBAAsB,CAAC;IACnBY,SAAS,EAAER,MAAM,EAAEQ,SAAS;IAC5BC,mBAAmB,EAAET,MAAM,EAAES,mBAAmB;IAChDC,cAAc,EAAEV,MAAM,EAAEU;EAC5B,CAAC,CAAC,CACL;AACL,CAAC;AACD","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/api-audit-logs",
3
- "version": "6.1.0-beta.3",
3
+ "version": "6.2.0-beta.0",
4
4
  "main": "index.js",
5
5
  "type": "module",
6
6
  "repository": {
@@ -20,33 +20,33 @@
20
20
  "directory": "dist"
21
21
  },
22
22
  "devDependencies": {
23
- "@webiny/handler-aws": "6.1.0-beta.3",
24
- "@webiny/plugins": "6.1.0-beta.3",
25
- "@webiny/project-utils": "6.1.0-beta.3",
23
+ "@webiny/handler-aws": "6.2.0-beta.0",
24
+ "@webiny/plugins": "6.2.0-beta.0",
25
+ "@webiny/project-utils": "6.2.0-beta.0",
26
26
  "graphql": "16.13.2",
27
27
  "typescript": "5.9.3",
28
- "vitest": "4.1.2"
28
+ "vitest": "4.1.4"
29
29
  },
30
30
  "dependencies": {
31
- "@webiny/api": "6.1.0-beta.3",
32
- "@webiny/api-aco": "6.1.0-beta.3",
33
- "@webiny/api-core": "6.1.0-beta.3",
34
- "@webiny/api-file-manager": "6.1.0-beta.3",
35
- "@webiny/api-headless-cms": "6.1.0-beta.3",
36
- "@webiny/api-mailer": "6.1.0-beta.3",
37
- "@webiny/api-website-builder": "6.1.0-beta.3",
38
- "@webiny/aws-sdk": "6.1.0-beta.3",
39
- "@webiny/build-tools": "6.1.0-beta.3",
40
- "@webiny/common-audit-logs": "6.1.0-beta.3",
41
- "@webiny/db-dynamodb": "6.1.0-beta.3",
42
- "@webiny/error": "6.1.0-beta.3",
43
- "@webiny/feature": "6.1.0-beta.3",
44
- "@webiny/handler": "6.1.0-beta.3",
45
- "@webiny/handler-db": "6.1.0-beta.3",
46
- "@webiny/handler-graphql": "6.1.0-beta.3",
47
- "@webiny/utils": "6.1.0-beta.3",
48
- "@webiny/wcp": "6.1.0-beta.3",
31
+ "@webiny/api": "6.2.0-beta.0",
32
+ "@webiny/api-aco": "6.2.0-beta.0",
33
+ "@webiny/api-core": "6.2.0-beta.0",
34
+ "@webiny/api-file-manager": "6.2.0-beta.0",
35
+ "@webiny/api-headless-cms": "6.2.0-beta.0",
36
+ "@webiny/api-mailer": "6.2.0-beta.0",
37
+ "@webiny/api-website-builder": "6.2.0-beta.0",
38
+ "@webiny/aws-sdk": "6.2.0-beta.0",
39
+ "@webiny/build-tools": "6.2.0-beta.0",
40
+ "@webiny/common-audit-logs": "6.2.0-beta.0",
41
+ "@webiny/db-dynamodb": "6.2.0-beta.0",
42
+ "@webiny/error": "6.2.0-beta.0",
43
+ "@webiny/feature": "6.2.0-beta.0",
44
+ "@webiny/handler": "6.2.0-beta.0",
45
+ "@webiny/handler-db": "6.2.0-beta.0",
46
+ "@webiny/handler-graphql": "6.2.0-beta.0",
47
+ "@webiny/utils": "6.2.0-beta.0",
48
+ "@webiny/wcp": "6.2.0-beta.0",
49
49
  "zod": "4.3.6"
50
50
  },
51
- "gitHead": "65e0ac1889b3392c99b8cac6cde508e1e831c715"
51
+ "gitHead": "3d3148358b6febbc857371930871743bec3b3939"
52
52
  }
@@ -1,13 +1,13 @@
1
1
  import type { IConverter } from "../storage/abstractions/Converter.js";
2
- import type { ICompressor } from "@webiny/utils/compression/index.js";
3
2
  import type { IAuditLog, IStorageItem } from "../storage/types.js";
4
3
  import type { IAccessPatternHandler } from "../storage/abstractions/AccessPatternHandler.js";
4
+ import { CompressionHandler } from "@webiny/utils/exports/api.js";
5
5
  export interface IConverterParams {
6
- compressor: ICompressor;
6
+ compressionHandler: CompressionHandler.Interface;
7
7
  patternHandler: IAccessPatternHandler;
8
8
  }
9
9
  export declare class Converter implements IConverter {
10
- private readonly compressor;
10
+ private readonly compressionHandler;
11
11
  private readonly patternHandler;
12
12
  constructor(params: IConverterParams);
13
13
  oneFromStorage(item: IStorageItem): Promise<IAuditLog>;
@@ -4,14 +4,14 @@ const convertToDateTime = value => {
4
4
  };
5
5
  export class Converter {
6
6
  constructor(params) {
7
- this.compressor = params.compressor;
7
+ this.compressionHandler = params.compressionHandler;
8
8
  this.patternHandler = params.patternHandler;
9
9
  }
10
10
  async oneFromStorage(item) {
11
11
  return {
12
12
  ...item.data,
13
13
  expiresAt: convertToDateTime(item.data.expiresAt),
14
- content: await this.compressor.decompress(JSON.parse(item.data.content)),
14
+ content: await this.compressionHandler.decompress(JSON.parse(item.data.content)),
15
15
  createdOn: new Date(item.data.createdOn)
16
16
  };
17
17
  }
@@ -41,7 +41,7 @@ export class Converter {
41
41
  data: {
42
42
  ...auditLog,
43
43
  expiresAt: auditLog.expiresAt.toISOString(),
44
- content: JSON.stringify(await this.compressor.compress(auditLog.content)),
44
+ content: JSON.stringify(await this.compressionHandler.compress(auditLog.content)),
45
45
  createdOn: auditLog.createdOn.toISOString()
46
46
  },
47
47
  expiresAt: convertExpiresAtToUnixTimestamp(auditLog.expiresAt)
@@ -1 +1 @@
1
- {"version":3,"names":["convertExpiresAtToUnixTimestamp","convertToDateTime","value","Date","Converter","constructor","params","compressor","patternHandler","oneFromStorage","item","data","expiresAt","content","decompress","JSON","parse","createdOn","listFromStorage","items","Promise","all","map","oneToStorage","auditLog","defaultPattern","getDefaultPattern","defaultKeys","createKeys","patterns","listIndexPatterns","keys","reduce","output","pattern","patternKeys","index","partitionKey","sortKey","PK","SK","TYPE","GSI_TENANT","tenant","toISOString","stringify","compress"],"sources":["Converter.ts"],"sourcesContent":["import type { IConverter } from \"~/storage/abstractions/Converter.js\";\nimport type { ICompressor } from \"@webiny/utils/compression/index.js\";\nimport type { IAuditLog, IStorageItem } from \"~/storage/types.js\";\nimport type { IAccessPatternHandler } from \"~/storage/abstractions/AccessPatternHandler.js\";\nimport { convertExpiresAtToUnixTimestamp } from \"~/utils/expiresAt.js\";\n\nconst convertToDateTime = (value: string): Date => {\n return new Date(value);\n};\n\nexport interface IConverterParams {\n compressor: ICompressor;\n patternHandler: IAccessPatternHandler;\n}\n\ntype PickOnlyGSIKeys<T> = {\n [K in keyof T]: K extends `GSI${string}` ? K : never;\n}[keyof T];\n\ntype PickedGSIKeys = Pick<IStorageItem, PickOnlyGSIKeys<IStorageItem>>;\n\nexport class Converter implements IConverter {\n private readonly compressor;\n private readonly patternHandler;\n\n public constructor(params: IConverterParams) {\n this.compressor = params.compressor;\n this.patternHandler = params.patternHandler;\n }\n\n public async oneFromStorage(item: IStorageItem): Promise<IAuditLog> {\n return {\n ...item.data,\n expiresAt: convertToDateTime(item.data.expiresAt),\n content: await this.compressor.decompress(JSON.parse(item.data.content)),\n createdOn: new Date(item.data.createdOn)\n };\n }\n\n public async listFromStorage(items: IStorageItem[]): Promise<IAuditLog[]> {\n return await Promise.all(\n items.map(async item => {\n return await this.oneFromStorage(item);\n })\n );\n }\n\n public async oneToStorage(auditLog: IAuditLog): Promise<IStorageItem> {\n const defaultPattern = this.patternHandler.getDefaultPattern();\n\n const defaultKeys = defaultPattern.createKeys(auditLog);\n\n const patterns = this.patternHandler.listIndexPatterns();\n\n const keys = patterns.reduce<PickedGSIKeys>((output, pattern) => {\n const patternKeys = pattern.createKeys(auditLog);\n return {\n ...output,\n [`${pattern.index}_PK`]: patternKeys.partitionKey,\n [`${pattern.index}_SK`]: patternKeys.sortKey\n };\n }, {} as PickedGSIKeys);\n\n return {\n PK: defaultKeys.partitionKey,\n SK: defaultKeys.sortKey as unknown as string,\n ...keys,\n TYPE: \"auditLog.log\",\n GSI_TENANT: auditLog.tenant,\n data: {\n ...auditLog,\n expiresAt: auditLog.expiresAt.toISOString(),\n content: JSON.stringify(await this.compressor.compress(auditLog.content)),\n createdOn: auditLog.createdOn.toISOString()\n },\n expiresAt: convertExpiresAtToUnixTimestamp(auditLog.expiresAt)\n };\n }\n}\n"],"mappings":"AAIA,SAASA,+BAA+B;AAExC,MAAMC,iBAAiB,GAAIC,KAAa,IAAW;EAC/C,OAAO,IAAIC,IAAI,CAACD,KAAK,CAAC;AAC1B,CAAC;AAaD,OAAO,MAAME,SAAS,CAAuB;EAIlCC,WAAWA,CAACC,MAAwB,EAAE;IACzC,IAAI,CAACC,UAAU,GAAGD,MAAM,CAACC,UAAU;IACnC,IAAI,CAACC,cAAc,GAAGF,MAAM,CAACE,cAAc;EAC/C;EAEA,MAAaC,cAAcA,CAACC,IAAkB,EAAsB;IAChE,OAAO;MACH,GAAGA,IAAI,CAACC,IAAI;MACZC,SAAS,EAAEX,iBAAiB,CAACS,IAAI,CAACC,IAAI,CAACC,SAAS,CAAC;MACjDC,OAAO,EAAE,MAAM,IAAI,CAACN,UAAU,CAACO,UAAU,CAACC,IAAI,CAACC,KAAK,CAACN,IAAI,CAACC,IAAI,CAACE,OAAO,CAAC,CAAC;MACxEI,SAAS,EAAE,IAAId,IAAI,CAACO,IAAI,CAACC,IAAI,CAACM,SAAS;IAC3C,CAAC;EACL;EAEA,MAAaC,eAAeA,CAACC,KAAqB,EAAwB;IACtE,OAAO,MAAMC,OAAO,CAACC,GAAG,CACpBF,KAAK,CAACG,GAAG,CAAC,MAAMZ,IAAI,IAAI;MACpB,OAAO,MAAM,IAAI,CAACD,cAAc,CAACC,IAAI,CAAC;IAC1C,CAAC,CACL,CAAC;EACL;EAEA,MAAaa,YAAYA,CAACC,QAAmB,EAAyB;IAClE,MAAMC,cAAc,GAAG,IAAI,CAACjB,cAAc,CAACkB,iBAAiB,CAAC,CAAC;IAE9D,MAAMC,WAAW,GAAGF,cAAc,CAACG,UAAU,CAACJ,QAAQ,CAAC;IAEvD,MAAMK,QAAQ,GAAG,IAAI,CAACrB,cAAc,CAACsB,iBAAiB,CAAC,CAAC;IAExD,MAAMC,IAAI,GAAGF,QAAQ,CAACG,MAAM,CAAgB,CAACC,MAAM,EAAEC,OAAO,KAAK;MAC7D,MAAMC,WAAW,GAAGD,OAAO,CAACN,UAAU,CAACJ,QAAQ,CAAC;MAChD,OAAO;QACH,GAAGS,MAAM;QACT,CAAC,GAAGC,OAAO,CAACE,KAAK,KAAK,GAAGD,WAAW,CAACE,YAAY;QACjD,CAAC,GAAGH,OAAO,CAACE,KAAK,KAAK,GAAGD,WAAW,CAACG;MACzC,CAAC;IACL,CAAC,EAAE,CAAC,CAAkB,CAAC;IAEvB,OAAO;MACHC,EAAE,EAAEZ,WAAW,CAACU,YAAY;MAC5BG,EAAE,EAAEb,WAAW,CAACW,OAA4B;MAC5C,GAAGP,IAAI;MACPU,IAAI,EAAE,cAAc;MACpBC,UAAU,EAAElB,QAAQ,CAACmB,MAAM;MAC3BhC,IAAI,EAAE;QACF,GAAGa,QAAQ;QACXZ,SAAS,EAAEY,QAAQ,CAACZ,SAAS,CAACgC,WAAW,CAAC,CAAC;QAC3C/B,OAAO,EAAEE,IAAI,CAAC8B,SAAS,CAAC,MAAM,IAAI,CAACtC,UAAU,CAACuC,QAAQ,CAACtB,QAAQ,CAACX,OAAO,CAAC,CAAC;QACzEI,SAAS,EAAEO,QAAQ,CAACP,SAAS,CAAC2B,WAAW,CAAC;MAC9C,CAAC;MACDhC,SAAS,EAAEZ,+BAA+B,CAACwB,QAAQ,CAACZ,SAAS;IACjE,CAAC;EACL;AACJ","ignoreList":[]}
1
+ {"version":3,"names":["convertExpiresAtToUnixTimestamp","convertToDateTime","value","Date","Converter","constructor","params","compressionHandler","patternHandler","oneFromStorage","item","data","expiresAt","content","decompress","JSON","parse","createdOn","listFromStorage","items","Promise","all","map","oneToStorage","auditLog","defaultPattern","getDefaultPattern","defaultKeys","createKeys","patterns","listIndexPatterns","keys","reduce","output","pattern","patternKeys","index","partitionKey","sortKey","PK","SK","TYPE","GSI_TENANT","tenant","toISOString","stringify","compress"],"sources":["Converter.ts"],"sourcesContent":["import type { IConverter } from \"~/storage/abstractions/Converter.js\";\nimport type { IAuditLog, IStorageItem } from \"~/storage/types.js\";\nimport type { IAccessPatternHandler } from \"~/storage/abstractions/AccessPatternHandler.js\";\nimport { convertExpiresAtToUnixTimestamp } from \"~/utils/expiresAt.js\";\nimport { CompressionHandler } from \"@webiny/utils/exports/api.js\";\n\nconst convertToDateTime = (value: string): Date => {\n return new Date(value);\n};\n\nexport interface IConverterParams {\n compressionHandler: CompressionHandler.Interface;\n patternHandler: IAccessPatternHandler;\n}\n\ntype PickOnlyGSIKeys<T> = {\n [K in keyof T]: K extends `GSI${string}` ? K : never;\n}[keyof T];\n\ntype PickedGSIKeys = Pick<IStorageItem, PickOnlyGSIKeys<IStorageItem>>;\n\nexport class Converter implements IConverter {\n private readonly compressionHandler;\n private readonly patternHandler;\n\n public constructor(params: IConverterParams) {\n this.compressionHandler = params.compressionHandler;\n this.patternHandler = params.patternHandler;\n }\n\n public async oneFromStorage(item: IStorageItem): Promise<IAuditLog> {\n return {\n ...item.data,\n expiresAt: convertToDateTime(item.data.expiresAt),\n content: await this.compressionHandler.decompress(JSON.parse(item.data.content)),\n createdOn: new Date(item.data.createdOn)\n };\n }\n\n public async listFromStorage(items: IStorageItem[]): Promise<IAuditLog[]> {\n return await Promise.all(\n items.map(async item => {\n return await this.oneFromStorage(item);\n })\n );\n }\n\n public async oneToStorage(auditLog: IAuditLog): Promise<IStorageItem> {\n const defaultPattern = this.patternHandler.getDefaultPattern();\n\n const defaultKeys = defaultPattern.createKeys(auditLog);\n\n const patterns = this.patternHandler.listIndexPatterns();\n\n const keys = patterns.reduce<PickedGSIKeys>((output, pattern) => {\n const patternKeys = pattern.createKeys(auditLog);\n return {\n ...output,\n [`${pattern.index}_PK`]: patternKeys.partitionKey,\n [`${pattern.index}_SK`]: patternKeys.sortKey\n };\n }, {} as PickedGSIKeys);\n\n return {\n PK: defaultKeys.partitionKey,\n SK: defaultKeys.sortKey as unknown as string,\n ...keys,\n TYPE: \"auditLog.log\",\n GSI_TENANT: auditLog.tenant,\n data: {\n ...auditLog,\n expiresAt: auditLog.expiresAt.toISOString(),\n content: JSON.stringify(await this.compressionHandler.compress(auditLog.content)),\n createdOn: auditLog.createdOn.toISOString()\n },\n expiresAt: convertExpiresAtToUnixTimestamp(auditLog.expiresAt)\n };\n }\n}\n"],"mappings":"AAGA,SAASA,+BAA+B;AAGxC,MAAMC,iBAAiB,GAAIC,KAAa,IAAW;EAC/C,OAAO,IAAIC,IAAI,CAACD,KAAK,CAAC;AAC1B,CAAC;AAaD,OAAO,MAAME,SAAS,CAAuB;EAIlCC,WAAWA,CAACC,MAAwB,EAAE;IACzC,IAAI,CAACC,kBAAkB,GAAGD,MAAM,CAACC,kBAAkB;IACnD,IAAI,CAACC,cAAc,GAAGF,MAAM,CAACE,cAAc;EAC/C;EAEA,MAAaC,cAAcA,CAACC,IAAkB,EAAsB;IAChE,OAAO;MACH,GAAGA,IAAI,CAACC,IAAI;MACZC,SAAS,EAAEX,iBAAiB,CAACS,IAAI,CAACC,IAAI,CAACC,SAAS,CAAC;MACjDC,OAAO,EAAE,MAAM,IAAI,CAACN,kBAAkB,CAACO,UAAU,CAACC,IAAI,CAACC,KAAK,CAACN,IAAI,CAACC,IAAI,CAACE,OAAO,CAAC,CAAC;MAChFI,SAAS,EAAE,IAAId,IAAI,CAACO,IAAI,CAACC,IAAI,CAACM,SAAS;IAC3C,CAAC;EACL;EAEA,MAAaC,eAAeA,CAACC,KAAqB,EAAwB;IACtE,OAAO,MAAMC,OAAO,CAACC,GAAG,CACpBF,KAAK,CAACG,GAAG,CAAC,MAAMZ,IAAI,IAAI;MACpB,OAAO,MAAM,IAAI,CAACD,cAAc,CAACC,IAAI,CAAC;IAC1C,CAAC,CACL,CAAC;EACL;EAEA,MAAaa,YAAYA,CAACC,QAAmB,EAAyB;IAClE,MAAMC,cAAc,GAAG,IAAI,CAACjB,cAAc,CAACkB,iBAAiB,CAAC,CAAC;IAE9D,MAAMC,WAAW,GAAGF,cAAc,CAACG,UAAU,CAACJ,QAAQ,CAAC;IAEvD,MAAMK,QAAQ,GAAG,IAAI,CAACrB,cAAc,CAACsB,iBAAiB,CAAC,CAAC;IAExD,MAAMC,IAAI,GAAGF,QAAQ,CAACG,MAAM,CAAgB,CAACC,MAAM,EAAEC,OAAO,KAAK;MAC7D,MAAMC,WAAW,GAAGD,OAAO,CAACN,UAAU,CAACJ,QAAQ,CAAC;MAChD,OAAO;QACH,GAAGS,MAAM;QACT,CAAC,GAAGC,OAAO,CAACE,KAAK,KAAK,GAAGD,WAAW,CAACE,YAAY;QACjD,CAAC,GAAGH,OAAO,CAACE,KAAK,KAAK,GAAGD,WAAW,CAACG;MACzC,CAAC;IACL,CAAC,EAAE,CAAC,CAAkB,CAAC;IAEvB,OAAO;MACHC,EAAE,EAAEZ,WAAW,CAACU,YAAY;MAC5BG,EAAE,EAAEb,WAAW,CAACW,OAA4B;MAC5C,GAAGP,IAAI;MACPU,IAAI,EAAE,cAAc;MACpBC,UAAU,EAAElB,QAAQ,CAACmB,MAAM;MAC3BhC,IAAI,EAAE;QACF,GAAGa,QAAQ;QACXZ,SAAS,EAAEY,QAAQ,CAACZ,SAAS,CAACgC,WAAW,CAAC,CAAC;QAC3C/B,OAAO,EAAEE,IAAI,CAAC8B,SAAS,CAAC,MAAM,IAAI,CAACtC,kBAAkB,CAACuC,QAAQ,CAACtB,QAAQ,CAACX,OAAO,CAAC,CAAC;QACjFI,SAAS,EAAEO,QAAQ,CAACP,SAAS,CAAC2B,WAAW,CAAC;MAC9C,CAAC;MACDhC,SAAS,EAAEZ,+BAA+B,CAACwB,QAAQ,CAACZ,SAAS;IACjE,CAAC;EACL;AACJ","ignoreList":[]}
@@ -1,8 +1,8 @@
1
1
  import type { DynamoDBDocument } from "@webiny/aws-sdk/client-dynamodb/index.js";
2
2
  import type { IStorage, IStorageFetchParams, IStorageFetchResult, IStorageListParams, IStorageListResult, IStorageStoreParams, IStorageStoreResult } from "../storage/abstractions/Storage.js";
3
- import type { ICompressor } from "@webiny/utils/compression/index.js";
3
+ import { CompressionHandler } from "@webiny/utils/exports/api.js";
4
4
  export interface IStorageParams {
5
- compressor: ICompressor;
5
+ compressionHandler: CompressionHandler.Interface;
6
6
  client: DynamoDBDocument;
7
7
  tableName: string | undefined;
8
8
  }
@@ -20,7 +20,7 @@ export class Storage {
20
20
  patterns
21
21
  });
22
22
  this.converter = new Converter({
23
- compressor: params.compressor,
23
+ compressionHandler: params.compressionHandler,
24
24
  patternHandler: this.patternHandler
25
25
  });
26
26
  }
@@ -1 +1 @@
1
- {"version":3,"names":["createEntity","Converter","createAccessPatterns","AccessPatternHandler","ListSuccessResult","Storage","constructor","params","entity","client","tableName","gsiAmount","patterns","patternHandler","converter","compressor","fetch","id","tenant","result","get","PK","SK","error","Error","success","data","oneFromStorage","ex","store","auditLog","structuredClone","item","oneToStorage","put","list","handle","create","listFromStorage","items","lastEvaluatedKey","createStorage"],"sources":["Storage.ts"],"sourcesContent":["import type { DynamoDBDocument } from \"@webiny/aws-sdk/client-dynamodb/index.js\";\nimport { createEntity } from \"~/storage/entity.js\";\nimport type {\n IStorage,\n IStorageFetchParams,\n IStorageFetchResult,\n IStorageListParams,\n IStorageListResult,\n IStorageStoreParams,\n IStorageStoreResult\n} from \"~/storage/abstractions/Storage.js\";\nimport type { ICompressor } from \"@webiny/utils/compression/index.js\";\nimport { Converter } from \"~/storage/Converter.js\";\nimport { createAccessPatterns } from \"~/storage/accessPatterns/index.js\";\nimport { AccessPatternHandler } from \"~/storage/AccessPatternHandler.js\";\nimport { ListSuccessResult } from \"~/storage/results/index.js\";\n\nexport interface IStorageParams {\n compressor: ICompressor;\n client: DynamoDBDocument;\n tableName: string | undefined;\n}\n\nexport class Storage implements IStorage {\n private readonly entity;\n private readonly converter;\n private readonly patternHandler;\n\n public constructor(params: IStorageParams) {\n const { entity } = createEntity({\n client: params.client,\n tableName: params.tableName,\n gsiAmount: 10\n });\n\n this.entity = entity;\n\n const patterns = createAccessPatterns({\n entity\n });\n this.patternHandler = new AccessPatternHandler({\n patterns\n });\n\n this.converter = new Converter({\n compressor: params.compressor,\n patternHandler: this.patternHandler\n });\n }\n\n public async fetch(params: IStorageFetchParams): Promise<IStorageFetchResult> {\n const { id, tenant } = params;\n\n try {\n const result = await this.entity.get({\n PK: `T#${tenant}#AUDIT_LOG`,\n SK: `${id}`\n });\n if (!result) {\n return {\n error: new Error(`Audit log entry \"${id}\" not found.`),\n success: false\n };\n }\n return {\n data: await this.converter.oneFromStorage(result),\n success: true\n };\n } catch (ex) {\n return {\n error: ex,\n success: false\n };\n }\n }\n\n public async store(params: IStorageStoreParams): Promise<IStorageStoreResult> {\n const auditLog = structuredClone(params.data);\n\n try {\n const item = await this.converter.oneToStorage(auditLog);\n await this.entity.put(item);\n } catch (ex) {\n return {\n error: ex,\n success: false\n };\n }\n\n return {\n success: true,\n data: auditLog\n };\n }\n\n public async list(params: IStorageListParams): Promise<IStorageListResult> {\n try {\n const result = await this.patternHandler.handle(params);\n\n return ListSuccessResult.create({\n data: await this.converter.listFromStorage(result.items),\n lastEvaluatedKey: result.lastEvaluatedKey\n });\n } catch (ex) {\n return {\n error: ex,\n success: false\n };\n }\n }\n}\n\nexport const createStorage = (params: IStorageParams): IStorage => {\n return new Storage(params);\n};\n"],"mappings":"AACA,SAASA,YAAY;AAWrB,SAASC,SAAS;AAClB,SAASC,oBAAoB;AAC7B,SAASC,oBAAoB;AAC7B,SAASC,iBAAiB;AAQ1B,OAAO,MAAMC,OAAO,CAAqB;EAK9BC,WAAWA,CAACC,MAAsB,EAAE;IACvC,MAAM;MAAEC;IAAO,CAAC,GAAGR,YAAY,CAAC;MAC5BS,MAAM,EAAEF,MAAM,CAACE,MAAM;MACrBC,SAAS,EAAEH,MAAM,CAACG,SAAS;MAC3BC,SAAS,EAAE;IACf,CAAC,CAAC;IAEF,IAAI,CAACH,MAAM,GAAGA,MAAM;IAEpB,MAAMI,QAAQ,GAAGV,oBAAoB,CAAC;MAClCM;IACJ,CAAC,CAAC;IACF,IAAI,CAACK,cAAc,GAAG,IAAIV,oBAAoB,CAAC;MAC3CS;IACJ,CAAC,CAAC;IAEF,IAAI,CAACE,SAAS,GAAG,IAAIb,SAAS,CAAC;MAC3Bc,UAAU,EAAER,MAAM,CAACQ,UAAU;MAC7BF,cAAc,EAAE,IAAI,CAACA;IACzB,CAAC,CAAC;EACN;EAEA,MAAaG,KAAKA,CAACT,MAA2B,EAAgC;IAC1E,MAAM;MAAEU,EAAE;MAAEC;IAAO,CAAC,GAAGX,MAAM;IAE7B,IAAI;MACA,MAAMY,MAAM,GAAG,MAAM,IAAI,CAACX,MAAM,CAACY,GAAG,CAAC;QACjCC,EAAE,EAAE,KAAKH,MAAM,YAAY;QAC3BI,EAAE,EAAE,GAAGL,EAAE;MACb,CAAC,CAAC;MACF,IAAI,CAACE,MAAM,EAAE;QACT,OAAO;UACHI,KAAK,EAAE,IAAIC,KAAK,CAAC,oBAAoBP,EAAE,cAAc,CAAC;UACtDQ,OAAO,EAAE;QACb,CAAC;MACL;MACA,OAAO;QACHC,IAAI,EAAE,MAAM,IAAI,CAACZ,SAAS,CAACa,cAAc,CAACR,MAAM,CAAC;QACjDM,OAAO,EAAE;MACb,CAAC;IACL,CAAC,CAAC,OAAOG,EAAE,EAAE;MACT,OAAO;QACHL,KAAK,EAAEK,EAAE;QACTH,OAAO,EAAE;MACb,CAAC;IACL;EACJ;EAEA,MAAaI,KAAKA,CAACtB,MAA2B,EAAgC;IAC1E,MAAMuB,QAAQ,GAAGC,eAAe,CAACxB,MAAM,CAACmB,IAAI,CAAC;IAE7C,IAAI;MACA,MAAMM,IAAI,GAAG,MAAM,IAAI,CAAClB,SAAS,CAACmB,YAAY,CAACH,QAAQ,CAAC;MACxD,MAAM,IAAI,CAACtB,MAAM,CAAC0B,GAAG,CAACF,IAAI,CAAC;IAC/B,CAAC,CAAC,OAAOJ,EAAE,EAAE;MACT,OAAO;QACHL,KAAK,EAAEK,EAAE;QACTH,OAAO,EAAE;MACb,CAAC;IACL;IAEA,OAAO;MACHA,OAAO,EAAE,IAAI;MACbC,IAAI,EAAEI;IACV,CAAC;EACL;EAEA,MAAaK,IAAIA,CAAC5B,MAA0B,EAA+B;IACvE,IAAI;MACA,MAAMY,MAAM,GAAG,MAAM,IAAI,CAACN,cAAc,CAACuB,MAAM,CAAC7B,MAAM,CAAC;MAEvD,OAAOH,iBAAiB,CAACiC,MAAM,CAAC;QAC5BX,IAAI,EAAE,MAAM,IAAI,CAACZ,SAAS,CAACwB,eAAe,CAACnB,MAAM,CAACoB,KAAK,CAAC;QACxDC,gBAAgB,EAAErB,MAAM,CAACqB;MAC7B,CAAC,CAAC;IACN,CAAC,CAAC,OAAOZ,EAAE,EAAE;MACT,OAAO;QACHL,KAAK,EAAEK,EAAE;QACTH,OAAO,EAAE;MACb,CAAC;IACL;EACJ;AACJ;AAEA,OAAO,MAAMgB,aAAa,GAAIlC,MAAsB,IAAe;EAC/D,OAAO,IAAIF,OAAO,CAACE,MAAM,CAAC;AAC9B,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createEntity","Converter","createAccessPatterns","AccessPatternHandler","ListSuccessResult","Storage","constructor","params","entity","client","tableName","gsiAmount","patterns","patternHandler","converter","compressionHandler","fetch","id","tenant","result","get","PK","SK","error","Error","success","data","oneFromStorage","ex","store","auditLog","structuredClone","item","oneToStorage","put","list","handle","create","listFromStorage","items","lastEvaluatedKey","createStorage"],"sources":["Storage.ts"],"sourcesContent":["import type { DynamoDBDocument } from \"@webiny/aws-sdk/client-dynamodb/index.js\";\nimport { createEntity } from \"~/storage/entity.js\";\nimport type {\n IStorage,\n IStorageFetchParams,\n IStorageFetchResult,\n IStorageListParams,\n IStorageListResult,\n IStorageStoreParams,\n IStorageStoreResult\n} from \"~/storage/abstractions/Storage.js\";\nimport { Converter } from \"~/storage/Converter.js\";\nimport { createAccessPatterns } from \"~/storage/accessPatterns/index.js\";\nimport { AccessPatternHandler } from \"~/storage/AccessPatternHandler.js\";\nimport { ListSuccessResult } from \"~/storage/results/index.js\";\nimport { CompressionHandler } from \"@webiny/utils/exports/api.js\";\n\nexport interface IStorageParams {\n compressionHandler: CompressionHandler.Interface;\n client: DynamoDBDocument;\n tableName: string | undefined;\n}\n\nexport class Storage implements IStorage {\n private readonly entity;\n private readonly converter;\n private readonly patternHandler;\n\n public constructor(params: IStorageParams) {\n const { entity } = createEntity({\n client: params.client,\n tableName: params.tableName,\n gsiAmount: 10\n });\n\n this.entity = entity;\n\n const patterns = createAccessPatterns({\n entity\n });\n this.patternHandler = new AccessPatternHandler({\n patterns\n });\n\n this.converter = new Converter({\n compressionHandler: params.compressionHandler,\n patternHandler: this.patternHandler\n });\n }\n\n public async fetch(params: IStorageFetchParams): Promise<IStorageFetchResult> {\n const { id, tenant } = params;\n\n try {\n const result = await this.entity.get({\n PK: `T#${tenant}#AUDIT_LOG`,\n SK: `${id}`\n });\n if (!result) {\n return {\n error: new Error(`Audit log entry \"${id}\" not found.`),\n success: false\n };\n }\n return {\n data: await this.converter.oneFromStorage(result),\n success: true\n };\n } catch (ex) {\n return {\n error: ex,\n success: false\n };\n }\n }\n\n public async store(params: IStorageStoreParams): Promise<IStorageStoreResult> {\n const auditLog = structuredClone(params.data);\n\n try {\n const item = await this.converter.oneToStorage(auditLog);\n await this.entity.put(item);\n } catch (ex) {\n return {\n error: ex,\n success: false\n };\n }\n\n return {\n success: true,\n data: auditLog\n };\n }\n\n public async list(params: IStorageListParams): Promise<IStorageListResult> {\n try {\n const result = await this.patternHandler.handle(params);\n\n return ListSuccessResult.create({\n data: await this.converter.listFromStorage(result.items),\n lastEvaluatedKey: result.lastEvaluatedKey\n });\n } catch (ex) {\n return {\n error: ex,\n success: false\n };\n }\n }\n}\n\nexport const createStorage = (params: IStorageParams): IStorage => {\n return new Storage(params);\n};\n"],"mappings":"AACA,SAASA,YAAY;AAUrB,SAASC,SAAS;AAClB,SAASC,oBAAoB;AAC7B,SAASC,oBAAoB;AAC7B,SAASC,iBAAiB;AAS1B,OAAO,MAAMC,OAAO,CAAqB;EAK9BC,WAAWA,CAACC,MAAsB,EAAE;IACvC,MAAM;MAAEC;IAAO,CAAC,GAAGR,YAAY,CAAC;MAC5BS,MAAM,EAAEF,MAAM,CAACE,MAAM;MACrBC,SAAS,EAAEH,MAAM,CAACG,SAAS;MAC3BC,SAAS,EAAE;IACf,CAAC,CAAC;IAEF,IAAI,CAACH,MAAM,GAAGA,MAAM;IAEpB,MAAMI,QAAQ,GAAGV,oBAAoB,CAAC;MAClCM;IACJ,CAAC,CAAC;IACF,IAAI,CAACK,cAAc,GAAG,IAAIV,oBAAoB,CAAC;MAC3CS;IACJ,CAAC,CAAC;IAEF,IAAI,CAACE,SAAS,GAAG,IAAIb,SAAS,CAAC;MAC3Bc,kBAAkB,EAAER,MAAM,CAACQ,kBAAkB;MAC7CF,cAAc,EAAE,IAAI,CAACA;IACzB,CAAC,CAAC;EACN;EAEA,MAAaG,KAAKA,CAACT,MAA2B,EAAgC;IAC1E,MAAM;MAAEU,EAAE;MAAEC;IAAO,CAAC,GAAGX,MAAM;IAE7B,IAAI;MACA,MAAMY,MAAM,GAAG,MAAM,IAAI,CAACX,MAAM,CAACY,GAAG,CAAC;QACjCC,EAAE,EAAE,KAAKH,MAAM,YAAY;QAC3BI,EAAE,EAAE,GAAGL,EAAE;MACb,CAAC,CAAC;MACF,IAAI,CAACE,MAAM,EAAE;QACT,OAAO;UACHI,KAAK,EAAE,IAAIC,KAAK,CAAC,oBAAoBP,EAAE,cAAc,CAAC;UACtDQ,OAAO,EAAE;QACb,CAAC;MACL;MACA,OAAO;QACHC,IAAI,EAAE,MAAM,IAAI,CAACZ,SAAS,CAACa,cAAc,CAACR,MAAM,CAAC;QACjDM,OAAO,EAAE;MACb,CAAC;IACL,CAAC,CAAC,OAAOG,EAAE,EAAE;MACT,OAAO;QACHL,KAAK,EAAEK,EAAE;QACTH,OAAO,EAAE;MACb,CAAC;IACL;EACJ;EAEA,MAAaI,KAAKA,CAACtB,MAA2B,EAAgC;IAC1E,MAAMuB,QAAQ,GAAGC,eAAe,CAACxB,MAAM,CAACmB,IAAI,CAAC;IAE7C,IAAI;MACA,MAAMM,IAAI,GAAG,MAAM,IAAI,CAAClB,SAAS,CAACmB,YAAY,CAACH,QAAQ,CAAC;MACxD,MAAM,IAAI,CAACtB,MAAM,CAAC0B,GAAG,CAACF,IAAI,CAAC;IAC/B,CAAC,CAAC,OAAOJ,EAAE,EAAE;MACT,OAAO;QACHL,KAAK,EAAEK,EAAE;QACTH,OAAO,EAAE;MACb,CAAC;IACL;IAEA,OAAO;MACHA,OAAO,EAAE,IAAI;MACbC,IAAI,EAAEI;IACV,CAAC;EACL;EAEA,MAAaK,IAAIA,CAAC5B,MAA0B,EAA+B;IACvE,IAAI;MACA,MAAMY,MAAM,GAAG,MAAM,IAAI,CAACN,cAAc,CAACuB,MAAM,CAAC7B,MAAM,CAAC;MAEvD,OAAOH,iBAAiB,CAACiC,MAAM,CAAC;QAC5BX,IAAI,EAAE,MAAM,IAAI,CAACZ,SAAS,CAACwB,eAAe,CAACnB,MAAM,CAACoB,KAAK,CAAC;QACxDC,gBAAgB,EAAErB,MAAM,CAACqB;MAC7B,CAAC,CAAC;IACN,CAAC,CAAC,OAAOZ,EAAE,EAAE;MACT,OAAO;QACHL,KAAK,EAAEK,EAAE;QACTH,OAAO,EAAE;MACb,CAAC;IACL;EACJ;AACJ;AAEA,OAAO,MAAMgB,aAAa,GAAIlC,MAAsB,IAAe;EAC/D,OAAO,IAAIF,OAAO,CAACE,MAAM,CAAC;AAC9B,CAAC","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { FolderAfterCreateEventHandler } from "@webiny/api-aco/features/folder/CreateFolder";
1
+ import { FolderAfterCreateEventHandler } from "@webiny/api-aco/features/folder/CreateFolder/index.js";
2
2
  import { AuditLogsContext } from "../../../abstractions.js";
3
3
  declare class AuditLogFolderAfterCreateHandlerImpl implements FolderAfterCreateEventHandler.Interface {
4
4
  private context;
@@ -6,6 +6,6 @@ declare class AuditLogFolderAfterCreateHandlerImpl implements FolderAfterCreateE
6
6
  handle(event: FolderAfterCreateEventHandler.Event): Promise<void>;
7
7
  }
8
8
  export declare const AuditLogFolderAfterCreateHandler: typeof AuditLogFolderAfterCreateHandlerImpl & {
9
- __abstraction: import("@webiny/di").Abstraction<import("@webiny/api-core/features/EventPublisher").IEventHandler<import("@webiny/api-core/features/EventPublisher").DomainEvent<import("@webiny/api-aco/features/folder/CreateFolder/abstractions").FolderAfterCreatePayload>>>;
9
+ __abstraction: import("@webiny/di").Abstraction<import("@webiny/api-core/features/eventPublisher").IEventHandler<import("@webiny/api-core/features/eventPublisher").DomainEvent<import("@webiny/api-aco/features/folder/CreateFolder/abstractions").FolderAfterCreatePayload>>>;
10
10
  };
11
11
  export {};
@@ -1,5 +1,5 @@
1
1
  import WebinyError from "@webiny/error";
2
- import { FolderAfterCreateEventHandler } from "@webiny/api-aco/features/folder/CreateFolder";
2
+ import { FolderAfterCreateEventHandler } from "@webiny/api-aco/features/folder/CreateFolder/index.js";
3
3
  import { AuditLogsContext } from "../../../abstractions.js";
4
4
  import { AUDIT } from "../../../config.js";
5
5
  import { getAuditConfig } from "../../../utils/getAuditConfig.js";
@@ -1 +1 @@
1
- {"version":3,"names":["WebinyError","FolderAfterCreateEventHandler","AuditLogsContext","AUDIT","getAuditConfig","AuditLogFolderAfterCreateHandlerImpl","constructor","context","handle","event","folder","payload","type","createAuditLog","FILE_MANAGER","FILE_FOLDER","CREATE","id","startsWith","HEADLESS_CMS","MODEL_FOLDER","error","from","message","code","AuditLogFolderAfterCreateHandler","createImplementation","implementation","dependencies"],"sources":["AuditLogFolderAfterCreateHandler.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { FolderAfterCreateEventHandler } from \"@webiny/api-aco/features/folder/CreateFolder\";\nimport { AuditLogsContext } from \"~/abstractions.js\";\nimport { AUDIT } from \"~/config.js\";\nimport { getAuditConfig } from \"~/utils/getAuditConfig.js\";\n\nclass AuditLogFolderAfterCreateHandlerImpl implements FolderAfterCreateEventHandler.Interface {\n constructor(private context: AuditLogsContext.Interface) {}\n\n async handle(event: FolderAfterCreateEventHandler.Event): Promise<void> {\n try {\n const { folder } = event.payload;\n if (folder.type === \"FmFile\") {\n const createAuditLog = getAuditConfig(AUDIT.FILE_MANAGER.FILE_FOLDER.CREATE);\n await createAuditLog(\"Folder created\", folder, folder.id, this.context);\n } else if (folder.type.startsWith(\"cms:\")) {\n const createAuditLog = getAuditConfig(AUDIT.HEADLESS_CMS.MODEL_FOLDER.CREATE);\n await createAuditLog(\"Folder created\", folder, folder.id, this.context);\n }\n } catch (error) {\n throw WebinyError.from(error, {\n message: \"Error while executing AuditLogFolderAfterCreateHandler\",\n code: \"AUDIT_LOGS_AFTER_FOLDER_CREATE_HANDLER\"\n });\n }\n }\n}\n\nexport const AuditLogFolderAfterCreateHandler = FolderAfterCreateEventHandler.createImplementation({\n implementation: AuditLogFolderAfterCreateHandlerImpl,\n dependencies: [AuditLogsContext]\n});\n"],"mappings":"AAAA,OAAOA,WAAW,MAAM,eAAe;AACvC,SAASC,6BAA6B,QAAQ,8CAA8C;AAC5F,SAASC,gBAAgB;AACzB,SAASC,KAAK;AACd,SAASC,cAAc;AAEvB,MAAMC,oCAAoC,CAAoD;EAC1FC,WAAWA,CAASC,OAAmC,EAAE;IAAA,KAArCA,OAAmC,GAAnCA,OAAmC;EAAG;EAE1D,MAAMC,MAAMA,CAACC,KAA0C,EAAiB;IACpE,IAAI;MACA,MAAM;QAAEC;MAAO,CAAC,GAAGD,KAAK,CAACE,OAAO;MAChC,IAAID,MAAM,CAACE,IAAI,KAAK,QAAQ,EAAE;QAC1B,MAAMC,cAAc,GAAGT,cAAc,CAACD,KAAK,CAACW,YAAY,CAACC,WAAW,CAACC,MAAM,CAAC;QAC5E,MAAMH,cAAc,CAAC,gBAAgB,EAAEH,MAAM,EAAEA,MAAM,CAACO,EAAE,EAAE,IAAI,CAACV,OAAO,CAAC;MAC3E,CAAC,MAAM,IAAIG,MAAM,CAACE,IAAI,CAACM,UAAU,CAAC,MAAM,CAAC,EAAE;QACvC,MAAML,cAAc,GAAGT,cAAc,CAACD,KAAK,CAACgB,YAAY,CAACC,YAAY,CAACJ,MAAM,CAAC;QAC7E,MAAMH,cAAc,CAAC,gBAAgB,EAAEH,MAAM,EAAEA,MAAM,CAACO,EAAE,EAAE,IAAI,CAACV,OAAO,CAAC;MAC3E;IACJ,CAAC,CAAC,OAAOc,KAAK,EAAE;MACZ,MAAMrB,WAAW,CAACsB,IAAI,CAACD,KAAK,EAAE;QAC1BE,OAAO,EAAE,wDAAwD;QACjEC,IAAI,EAAE;MACV,CAAC,CAAC;IACN;EACJ;AACJ;AAEA,OAAO,MAAMC,gCAAgC,GAAGxB,6BAA6B,CAACyB,oBAAoB,CAAC;EAC/FC,cAAc,EAAEtB,oCAAoC;EACpDuB,YAAY,EAAE,CAAC1B,gBAAgB;AACnC,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["WebinyError","FolderAfterCreateEventHandler","AuditLogsContext","AUDIT","getAuditConfig","AuditLogFolderAfterCreateHandlerImpl","constructor","context","handle","event","folder","payload","type","createAuditLog","FILE_MANAGER","FILE_FOLDER","CREATE","id","startsWith","HEADLESS_CMS","MODEL_FOLDER","error","from","message","code","AuditLogFolderAfterCreateHandler","createImplementation","implementation","dependencies"],"sources":["AuditLogFolderAfterCreateHandler.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { FolderAfterCreateEventHandler } from \"@webiny/api-aco/features/folder/CreateFolder/index.js\";\nimport { AuditLogsContext } from \"~/abstractions.js\";\nimport { AUDIT } from \"~/config.js\";\nimport { getAuditConfig } from \"~/utils/getAuditConfig.js\";\n\nclass AuditLogFolderAfterCreateHandlerImpl implements FolderAfterCreateEventHandler.Interface {\n constructor(private context: AuditLogsContext.Interface) {}\n\n async handle(event: FolderAfterCreateEventHandler.Event): Promise<void> {\n try {\n const { folder } = event.payload;\n if (folder.type === \"FmFile\") {\n const createAuditLog = getAuditConfig(AUDIT.FILE_MANAGER.FILE_FOLDER.CREATE);\n await createAuditLog(\"Folder created\", folder, folder.id, this.context);\n } else if (folder.type.startsWith(\"cms:\")) {\n const createAuditLog = getAuditConfig(AUDIT.HEADLESS_CMS.MODEL_FOLDER.CREATE);\n await createAuditLog(\"Folder created\", folder, folder.id, this.context);\n }\n } catch (error) {\n throw WebinyError.from(error, {\n message: \"Error while executing AuditLogFolderAfterCreateHandler\",\n code: \"AUDIT_LOGS_AFTER_FOLDER_CREATE_HANDLER\"\n });\n }\n }\n}\n\nexport const AuditLogFolderAfterCreateHandler = FolderAfterCreateEventHandler.createImplementation({\n implementation: AuditLogFolderAfterCreateHandlerImpl,\n dependencies: [AuditLogsContext]\n});\n"],"mappings":"AAAA,OAAOA,WAAW,MAAM,eAAe;AACvC,SAASC,6BAA6B,QAAQ,uDAAuD;AACrG,SAASC,gBAAgB;AACzB,SAASC,KAAK;AACd,SAASC,cAAc;AAEvB,MAAMC,oCAAoC,CAAoD;EAC1FC,WAAWA,CAASC,OAAmC,EAAE;IAAA,KAArCA,OAAmC,GAAnCA,OAAmC;EAAG;EAE1D,MAAMC,MAAMA,CAACC,KAA0C,EAAiB;IACpE,IAAI;MACA,MAAM;QAAEC;MAAO,CAAC,GAAGD,KAAK,CAACE,OAAO;MAChC,IAAID,MAAM,CAACE,IAAI,KAAK,QAAQ,EAAE;QAC1B,MAAMC,cAAc,GAAGT,cAAc,CAACD,KAAK,CAACW,YAAY,CAACC,WAAW,CAACC,MAAM,CAAC;QAC5E,MAAMH,cAAc,CAAC,gBAAgB,EAAEH,MAAM,EAAEA,MAAM,CAACO,EAAE,EAAE,IAAI,CAACV,OAAO,CAAC;MAC3E,CAAC,MAAM,IAAIG,MAAM,CAACE,IAAI,CAACM,UAAU,CAAC,MAAM,CAAC,EAAE;QACvC,MAAML,cAAc,GAAGT,cAAc,CAACD,KAAK,CAACgB,YAAY,CAACC,YAAY,CAACJ,MAAM,CAAC;QAC7E,MAAMH,cAAc,CAAC,gBAAgB,EAAEH,MAAM,EAAEA,MAAM,CAACO,EAAE,EAAE,IAAI,CAACV,OAAO,CAAC;MAC3E;IACJ,CAAC,CAAC,OAAOc,KAAK,EAAE;MACZ,MAAMrB,WAAW,CAACsB,IAAI,CAACD,KAAK,EAAE;QAC1BE,OAAO,EAAE,wDAAwD;QACjEC,IAAI,EAAE;MACV,CAAC,CAAC;IACN;EACJ;AACJ;AAEA,OAAO,MAAMC,gCAAgC,GAAGxB,6BAA6B,CAACyB,oBAAoB,CAAC;EAC/FC,cAAc,EAAEtB,oCAAoC;EACpDuB,YAAY,EAAE,CAAC1B,gBAAgB;AACnC,CAAC,CAAC","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { FolderAfterDeleteEventHandler } from "@webiny/api-aco/features/folder/DeleteFolder";
1
+ import { FolderAfterDeleteEventHandler } from "@webiny/api-aco/features/folder/DeleteFolder/index.js";
2
2
  import { AuditLogsContext } from "../../../abstractions.js";
3
3
  declare class AuditLogFolderAfterDeleteHandlerImpl implements FolderAfterDeleteEventHandler.Interface {
4
4
  private context;
@@ -6,6 +6,6 @@ declare class AuditLogFolderAfterDeleteHandlerImpl implements FolderAfterDeleteE
6
6
  handle(event: FolderAfterDeleteEventHandler.Event): Promise<void>;
7
7
  }
8
8
  export declare const AuditLogFolderAfterDeleteHandler: typeof AuditLogFolderAfterDeleteHandlerImpl & {
9
- __abstraction: import("@webiny/di").Abstraction<import("@webiny/api-core/features/EventPublisher").IEventHandler<import("@webiny/api-core/features/EventPublisher").DomainEvent<import("@webiny/api-aco/features/folder/DeleteFolder/abstractions").FolderAfterDeletePayload>>>;
9
+ __abstraction: import("@webiny/di").Abstraction<import("@webiny/api-core/features/eventPublisher").IEventHandler<import("@webiny/api-core/features/eventPublisher").DomainEvent<import("@webiny/api-aco/features/folder/DeleteFolder/abstractions").FolderAfterDeletePayload>>>;
10
10
  };
11
11
  export {};
@@ -1,5 +1,5 @@
1
1
  import WebinyError from "@webiny/error";
2
- import { FolderAfterDeleteEventHandler } from "@webiny/api-aco/features/folder/DeleteFolder";
2
+ import { FolderAfterDeleteEventHandler } from "@webiny/api-aco/features/folder/DeleteFolder/index.js";
3
3
  import { AuditLogsContext } from "../../../abstractions.js";
4
4
  import { AUDIT } from "../../../config.js";
5
5
  import { getAuditConfig } from "../../../utils/getAuditConfig.js";
@@ -1 +1 @@
1
- {"version":3,"names":["WebinyError","FolderAfterDeleteEventHandler","AuditLogsContext","AUDIT","getAuditConfig","AuditLogFolderAfterDeleteHandlerImpl","constructor","context","handle","event","folder","payload","type","createAuditLog","PAGE_BUILDER","PAGE_FOLDER","DELETE","id","FILE_MANAGER","FILE_FOLDER","startsWith","HEADLESS_CMS","MODEL_FOLDER","error","from","message","code","AuditLogFolderAfterDeleteHandler","createImplementation","implementation","dependencies"],"sources":["AuditLogFolderAfterDeleteHandler.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { FolderAfterDeleteEventHandler } from \"@webiny/api-aco/features/folder/DeleteFolder\";\nimport { AuditLogsContext } from \"~/abstractions.js\";\nimport { AUDIT } from \"~/config.js\";\nimport { getAuditConfig } from \"~/utils/getAuditConfig.js\";\n\nclass AuditLogFolderAfterDeleteHandlerImpl implements FolderAfterDeleteEventHandler.Interface {\n constructor(private context: AuditLogsContext.Interface) {}\n\n async handle(event: FolderAfterDeleteEventHandler.Event): Promise<void> {\n try {\n const { folder } = event.payload;\n if (folder.type === \"PbPage\") {\n const createAuditLog = getAuditConfig(AUDIT.PAGE_BUILDER.PAGE_FOLDER.DELETE);\n await createAuditLog(\"Folder deleted\", folder, folder.id, this.context);\n } else if (folder.type === \"FmFile\") {\n const createAuditLog = getAuditConfig(AUDIT.FILE_MANAGER.FILE_FOLDER.DELETE);\n await createAuditLog(\"Folder deleted\", folder, folder.id, this.context);\n } else if (folder.type.startsWith(\"cms:\")) {\n const createAuditLog = getAuditConfig(AUDIT.HEADLESS_CMS.MODEL_FOLDER.DELETE);\n await createAuditLog(\"Folder deleted\", folder, folder.id, this.context);\n }\n } catch (error) {\n throw WebinyError.from(error, {\n message: \"Error while executing AuditLogFolderAfterDeleteHandler\",\n code: \"AUDIT_LOGS_AFTER_FOLDER_DELETE_HANDLER\"\n });\n }\n }\n}\n\nexport const AuditLogFolderAfterDeleteHandler = FolderAfterDeleteEventHandler.createImplementation({\n implementation: AuditLogFolderAfterDeleteHandlerImpl,\n dependencies: [AuditLogsContext]\n});\n"],"mappings":"AAAA,OAAOA,WAAW,MAAM,eAAe;AACvC,SAASC,6BAA6B,QAAQ,8CAA8C;AAC5F,SAASC,gBAAgB;AACzB,SAASC,KAAK;AACd,SAASC,cAAc;AAEvB,MAAMC,oCAAoC,CAAoD;EAC1FC,WAAWA,CAASC,OAAmC,EAAE;IAAA,KAArCA,OAAmC,GAAnCA,OAAmC;EAAG;EAE1D,MAAMC,MAAMA,CAACC,KAA0C,EAAiB;IACpE,IAAI;MACA,MAAM;QAAEC;MAAO,CAAC,GAAGD,KAAK,CAACE,OAAO;MAChC,IAAID,MAAM,CAACE,IAAI,KAAK,QAAQ,EAAE;QAC1B,MAAMC,cAAc,GAAGT,cAAc,CAACD,KAAK,CAACW,YAAY,CAACC,WAAW,CAACC,MAAM,CAAC;QAC5E,MAAMH,cAAc,CAAC,gBAAgB,EAAEH,MAAM,EAAEA,MAAM,CAACO,EAAE,EAAE,IAAI,CAACV,OAAO,CAAC;MAC3E,CAAC,MAAM,IAAIG,MAAM,CAACE,IAAI,KAAK,QAAQ,EAAE;QACjC,MAAMC,cAAc,GAAGT,cAAc,CAACD,KAAK,CAACe,YAAY,CAACC,WAAW,CAACH,MAAM,CAAC;QAC5E,MAAMH,cAAc,CAAC,gBAAgB,EAAEH,MAAM,EAAEA,MAAM,CAACO,EAAE,EAAE,IAAI,CAACV,OAAO,CAAC;MAC3E,CAAC,MAAM,IAAIG,MAAM,CAACE,IAAI,CAACQ,UAAU,CAAC,MAAM,CAAC,EAAE;QACvC,MAAMP,cAAc,GAAGT,cAAc,CAACD,KAAK,CAACkB,YAAY,CAACC,YAAY,CAACN,MAAM,CAAC;QAC7E,MAAMH,cAAc,CAAC,gBAAgB,EAAEH,MAAM,EAAEA,MAAM,CAACO,EAAE,EAAE,IAAI,CAACV,OAAO,CAAC;MAC3E;IACJ,CAAC,CAAC,OAAOgB,KAAK,EAAE;MACZ,MAAMvB,WAAW,CAACwB,IAAI,CAACD,KAAK,EAAE;QAC1BE,OAAO,EAAE,wDAAwD;QACjEC,IAAI,EAAE;MACV,CAAC,CAAC;IACN;EACJ;AACJ;AAEA,OAAO,MAAMC,gCAAgC,GAAG1B,6BAA6B,CAAC2B,oBAAoB,CAAC;EAC/FC,cAAc,EAAExB,oCAAoC;EACpDyB,YAAY,EAAE,CAAC5B,gBAAgB;AACnC,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["WebinyError","FolderAfterDeleteEventHandler","AuditLogsContext","AUDIT","getAuditConfig","AuditLogFolderAfterDeleteHandlerImpl","constructor","context","handle","event","folder","payload","type","createAuditLog","PAGE_BUILDER","PAGE_FOLDER","DELETE","id","FILE_MANAGER","FILE_FOLDER","startsWith","HEADLESS_CMS","MODEL_FOLDER","error","from","message","code","AuditLogFolderAfterDeleteHandler","createImplementation","implementation","dependencies"],"sources":["AuditLogFolderAfterDeleteHandler.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { FolderAfterDeleteEventHandler } from \"@webiny/api-aco/features/folder/DeleteFolder/index.js\";\nimport { AuditLogsContext } from \"~/abstractions.js\";\nimport { AUDIT } from \"~/config.js\";\nimport { getAuditConfig } from \"~/utils/getAuditConfig.js\";\n\nclass AuditLogFolderAfterDeleteHandlerImpl implements FolderAfterDeleteEventHandler.Interface {\n constructor(private context: AuditLogsContext.Interface) {}\n\n async handle(event: FolderAfterDeleteEventHandler.Event): Promise<void> {\n try {\n const { folder } = event.payload;\n if (folder.type === \"PbPage\") {\n const createAuditLog = getAuditConfig(AUDIT.PAGE_BUILDER.PAGE_FOLDER.DELETE);\n await createAuditLog(\"Folder deleted\", folder, folder.id, this.context);\n } else if (folder.type === \"FmFile\") {\n const createAuditLog = getAuditConfig(AUDIT.FILE_MANAGER.FILE_FOLDER.DELETE);\n await createAuditLog(\"Folder deleted\", folder, folder.id, this.context);\n } else if (folder.type.startsWith(\"cms:\")) {\n const createAuditLog = getAuditConfig(AUDIT.HEADLESS_CMS.MODEL_FOLDER.DELETE);\n await createAuditLog(\"Folder deleted\", folder, folder.id, this.context);\n }\n } catch (error) {\n throw WebinyError.from(error, {\n message: \"Error while executing AuditLogFolderAfterDeleteHandler\",\n code: \"AUDIT_LOGS_AFTER_FOLDER_DELETE_HANDLER\"\n });\n }\n }\n}\n\nexport const AuditLogFolderAfterDeleteHandler = FolderAfterDeleteEventHandler.createImplementation({\n implementation: AuditLogFolderAfterDeleteHandlerImpl,\n dependencies: [AuditLogsContext]\n});\n"],"mappings":"AAAA,OAAOA,WAAW,MAAM,eAAe;AACvC,SAASC,6BAA6B,QAAQ,uDAAuD;AACrG,SAASC,gBAAgB;AACzB,SAASC,KAAK;AACd,SAASC,cAAc;AAEvB,MAAMC,oCAAoC,CAAoD;EAC1FC,WAAWA,CAASC,OAAmC,EAAE;IAAA,KAArCA,OAAmC,GAAnCA,OAAmC;EAAG;EAE1D,MAAMC,MAAMA,CAACC,KAA0C,EAAiB;IACpE,IAAI;MACA,MAAM;QAAEC;MAAO,CAAC,GAAGD,KAAK,CAACE,OAAO;MAChC,IAAID,MAAM,CAACE,IAAI,KAAK,QAAQ,EAAE;QAC1B,MAAMC,cAAc,GAAGT,cAAc,CAACD,KAAK,CAACW,YAAY,CAACC,WAAW,CAACC,MAAM,CAAC;QAC5E,MAAMH,cAAc,CAAC,gBAAgB,EAAEH,MAAM,EAAEA,MAAM,CAACO,EAAE,EAAE,IAAI,CAACV,OAAO,CAAC;MAC3E,CAAC,MAAM,IAAIG,MAAM,CAACE,IAAI,KAAK,QAAQ,EAAE;QACjC,MAAMC,cAAc,GAAGT,cAAc,CAACD,KAAK,CAACe,YAAY,CAACC,WAAW,CAACH,MAAM,CAAC;QAC5E,MAAMH,cAAc,CAAC,gBAAgB,EAAEH,MAAM,EAAEA,MAAM,CAACO,EAAE,EAAE,IAAI,CAACV,OAAO,CAAC;MAC3E,CAAC,MAAM,IAAIG,MAAM,CAACE,IAAI,CAACQ,UAAU,CAAC,MAAM,CAAC,EAAE;QACvC,MAAMP,cAAc,GAAGT,cAAc,CAACD,KAAK,CAACkB,YAAY,CAACC,YAAY,CAACN,MAAM,CAAC;QAC7E,MAAMH,cAAc,CAAC,gBAAgB,EAAEH,MAAM,EAAEA,MAAM,CAACO,EAAE,EAAE,IAAI,CAACV,OAAO,CAAC;MAC3E;IACJ,CAAC,CAAC,OAAOgB,KAAK,EAAE;MACZ,MAAMvB,WAAW,CAACwB,IAAI,CAACD,KAAK,EAAE;QAC1BE,OAAO,EAAE,wDAAwD;QACjEC,IAAI,EAAE;MACV,CAAC,CAAC;IACN;EACJ;AACJ;AAEA,OAAO,MAAMC,gCAAgC,GAAG1B,6BAA6B,CAAC2B,oBAAoB,CAAC;EAC/FC,cAAc,EAAExB,oCAAoC;EACpDyB,YAAY,EAAE,CAAC5B,gBAAgB;AACnC,CAAC,CAAC","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { FolderAfterUpdateEventHandler } from "@webiny/api-aco/features/folder/UpdateFolder";
1
+ import { FolderAfterUpdateEventHandler } from "@webiny/api-aco/features/folder/UpdateFolder/index.js";
2
2
  import { AuditLogsContext } from "../../../abstractions.js";
3
3
  declare class AuditLogFolderAfterUpdateHandlerImpl implements FolderAfterUpdateEventHandler.Interface {
4
4
  private context;
@@ -6,6 +6,6 @@ declare class AuditLogFolderAfterUpdateHandlerImpl implements FolderAfterUpdateE
6
6
  handle(event: FolderAfterUpdateEventHandler.Event): Promise<void>;
7
7
  }
8
8
  export declare const AuditLogFolderAfterUpdateHandler: typeof AuditLogFolderAfterUpdateHandlerImpl & {
9
- __abstraction: import("@webiny/di").Abstraction<import("@webiny/api-core/features/EventPublisher").IEventHandler<import("@webiny/api-core/features/EventPublisher").DomainEvent<import("@webiny/api-aco/features/folder/UpdateFolder/abstractions").FolderAfterUpdatePayload>>>;
9
+ __abstraction: import("@webiny/di").Abstraction<import("@webiny/api-core/features/eventPublisher").IEventHandler<import("@webiny/api-core/features/eventPublisher").DomainEvent<import("@webiny/api-aco/features/folder/UpdateFolder/abstractions").FolderAfterUpdatePayload>>>;
10
10
  };
11
11
  export {};
@@ -1,5 +1,5 @@
1
1
  import WebinyError from "@webiny/error";
2
- import { FolderAfterUpdateEventHandler } from "@webiny/api-aco/features/folder/UpdateFolder";
2
+ import { FolderAfterUpdateEventHandler } from "@webiny/api-aco/features/folder/UpdateFolder/index.js";
3
3
  import { AuditLogsContext } from "../../../abstractions.js";
4
4
  import { AUDIT } from "../../../config.js";
5
5
  import { getAuditConfig } from "../../../utils/getAuditConfig.js";