@webiny/api-core 6.0.0-rc.5 → 6.0.0-rc.7

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 (110) hide show
  1. package/exports/api/security/api-key.d.ts +3 -3
  2. package/exports/api/security/api-key.js +3 -3
  3. package/exports/api/security/api-key.js.map +1 -1
  4. package/exports/api/security/authentication.d.ts +1 -1
  5. package/exports/api/security/authentication.js +1 -1
  6. package/exports/api/security/authentication.js.map +1 -1
  7. package/exports/api/security/role.d.ts +3 -3
  8. package/exports/api/security/role.js +3 -3
  9. package/exports/api/security/role.js.map +1 -1
  10. package/exports/api/security/user.d.ts +3 -3
  11. package/exports/api/security/user.js +3 -3
  12. package/exports/api/security/user.js.map +1 -1
  13. package/exports/api/system.d.ts +1 -1
  14. package/exports/api/system.js +1 -1
  15. package/exports/api/system.js.map +1 -1
  16. package/exports/api/tenancy.d.ts +4 -4
  17. package/exports/api/tenancy.js +4 -4
  18. package/exports/api/tenancy.js.map +1 -1
  19. package/features/security/apiKeys/CreateApiKey/events.d.ts +4 -4
  20. package/features/security/apiKeys/CreateApiKey/events.js +4 -4
  21. package/features/security/apiKeys/CreateApiKey/events.js.map +1 -1
  22. package/features/security/apiKeys/DeleteApiKey/events.d.ts +4 -4
  23. package/features/security/apiKeys/DeleteApiKey/events.js +4 -4
  24. package/features/security/apiKeys/DeleteApiKey/events.js.map +1 -1
  25. package/features/security/apiKeys/UpdateApiKey/events.d.ts +4 -4
  26. package/features/security/apiKeys/UpdateApiKey/events.js +4 -4
  27. package/features/security/apiKeys/UpdateApiKey/events.js.map +1 -1
  28. package/features/security/authentication/AuthenticationContext/SetIdTokenCookie.d.ts +2 -2
  29. package/features/security/authentication/AuthenticationContext/SetIdTokenCookie.js +2 -2
  30. package/features/security/authentication/AuthenticationContext/SetIdTokenCookie.js.map +1 -1
  31. package/features/security/authentication/AuthenticationContext/events.d.ts +4 -4
  32. package/features/security/authentication/AuthenticationContext/events.js +4 -4
  33. package/features/security/authentication/AuthenticationContext/events.js.map +1 -1
  34. package/features/security/login/abstractions.d.ts +2 -2
  35. package/features/security/login/abstractions.js +2 -2
  36. package/features/security/login/abstractions.js.map +1 -1
  37. package/features/security/roles/CreateRole/events.d.ts +4 -4
  38. package/features/security/roles/CreateRole/events.js +4 -4
  39. package/features/security/roles/CreateRole/events.js.map +1 -1
  40. package/features/security/roles/DeleteRole/events.d.ts +4 -4
  41. package/features/security/roles/DeleteRole/events.js +4 -4
  42. package/features/security/roles/DeleteRole/events.js.map +1 -1
  43. package/features/security/roles/UpdateRole/events.d.ts +4 -4
  44. package/features/security/roles/UpdateRole/events.js +4 -4
  45. package/features/security/roles/UpdateRole/events.js.map +1 -1
  46. package/features/security/teams/CreateTeam/events.d.ts +4 -4
  47. package/features/security/teams/CreateTeam/events.js +4 -4
  48. package/features/security/teams/CreateTeam/events.js.map +1 -1
  49. package/features/security/teams/CreateTeam/index.d.ts +1 -1
  50. package/features/security/teams/CreateTeam/index.js +1 -1
  51. package/features/security/teams/CreateTeam/index.js.map +1 -1
  52. package/features/security/teams/DeleteTeam/events.d.ts +4 -4
  53. package/features/security/teams/DeleteTeam/events.js +4 -4
  54. package/features/security/teams/DeleteTeam/events.js.map +1 -1
  55. package/features/security/teams/UpdateTeam/events.d.ts +4 -4
  56. package/features/security/teams/UpdateTeam/events.js +4 -4
  57. package/features/security/teams/UpdateTeam/events.js.map +1 -1
  58. package/features/system/InstallSystem/abstractions.d.ts +2 -2
  59. package/features/system/InstallSystem/abstractions.js +1 -1
  60. package/features/system/InstallSystem/abstractions.js.map +1 -1
  61. package/features/system/InstallSystem/events.js +2 -2
  62. package/features/system/InstallSystem/events.js.map +1 -1
  63. package/features/system/InstallSystem/index.d.ts +1 -1
  64. package/features/system/InstallSystem/index.js +1 -1
  65. package/features/system/InstallSystem/index.js.map +1 -1
  66. package/features/tenancy/CreateTenant/abstractions.d.ts +4 -4
  67. package/features/tenancy/CreateTenant/abstractions.js +2 -2
  68. package/features/tenancy/CreateTenant/abstractions.js.map +1 -1
  69. package/features/tenancy/CreateTenant/events.js +3 -3
  70. package/features/tenancy/CreateTenant/events.js.map +1 -1
  71. package/features/tenancy/CreateTenant/index.d.ts +1 -1
  72. package/features/tenancy/CreateTenant/index.js +1 -1
  73. package/features/tenancy/CreateTenant/index.js.map +1 -1
  74. package/features/tenancy/DeleteTenant/abstractions.d.ts +4 -4
  75. package/features/tenancy/DeleteTenant/abstractions.js +2 -2
  76. package/features/tenancy/DeleteTenant/abstractions.js.map +1 -1
  77. package/features/tenancy/DeleteTenant/events.js +3 -3
  78. package/features/tenancy/DeleteTenant/events.js.map +1 -1
  79. package/features/tenancy/DeleteTenant/index.d.ts +1 -1
  80. package/features/tenancy/DeleteTenant/index.js +1 -1
  81. package/features/tenancy/DeleteTenant/index.js.map +1 -1
  82. package/features/tenancy/InstallTenant/abstractions.d.ts +2 -2
  83. package/features/tenancy/InstallTenant/abstractions.js +1 -1
  84. package/features/tenancy/InstallTenant/abstractions.js.map +1 -1
  85. package/features/tenancy/InstallTenant/events.js +2 -2
  86. package/features/tenancy/InstallTenant/events.js.map +1 -1
  87. package/features/tenancy/InstallTenant/index.d.ts +1 -1
  88. package/features/tenancy/InstallTenant/index.js +1 -1
  89. package/features/tenancy/InstallTenant/index.js.map +1 -1
  90. package/features/tenancy/UpdateTenant/abstractions.d.ts +4 -4
  91. package/features/tenancy/UpdateTenant/abstractions.js +2 -2
  92. package/features/tenancy/UpdateTenant/abstractions.js.map +1 -1
  93. package/features/tenancy/UpdateTenant/events.js +3 -3
  94. package/features/tenancy/UpdateTenant/events.js.map +1 -1
  95. package/features/tenancy/UpdateTenant/index.d.ts +1 -1
  96. package/features/tenancy/UpdateTenant/index.js +1 -1
  97. package/features/tenancy/UpdateTenant/index.js.map +1 -1
  98. package/features/users/CreateUser/events.d.ts +4 -4
  99. package/features/users/CreateUser/events.js +4 -4
  100. package/features/users/CreateUser/events.js.map +1 -1
  101. package/features/users/DeleteUser/events.d.ts +4 -4
  102. package/features/users/DeleteUser/events.js +4 -4
  103. package/features/users/DeleteUser/events.js.map +1 -1
  104. package/features/users/ExternalIdpUserSync/ExternalIdpUserSyncHandler.d.ts +3 -3
  105. package/features/users/ExternalIdpUserSync/ExternalIdpUserSyncHandler.js +2 -2
  106. package/features/users/ExternalIdpUserSync/ExternalIdpUserSyncHandler.js.map +1 -1
  107. package/features/users/UpdateUser/events.d.ts +4 -4
  108. package/features/users/UpdateUser/events.js +4 -4
  109. package/features/users/UpdateUser/events.js.map +1 -1
  110. package/package.json +16 -16
@@ -1 +1 @@
1
- {"version":3,"names":["DomainEvent","TenantBeforeDeleteHandler","TenantAfterDeleteHandler","TenantBeforeDeleteEvent","eventType","getHandlerAbstraction","TenantAfterDeleteEvent"],"sources":["events.ts"],"sourcesContent":["import { DomainEvent } from \"~/features/eventPublisher/index.js\";\nimport type { Tenant } from \"~/types/tenancy.js\";\nimport { TenantBeforeDeleteHandler, TenantAfterDeleteHandler } from \"./abstractions.js\";\n\nexport interface TenantBeforeDeletePayload {\n tenant: Tenant;\n}\n\nexport interface TenantAfterDeletePayload {\n tenant: Tenant;\n}\n\nexport class TenantBeforeDeleteEvent extends DomainEvent<TenantBeforeDeletePayload> {\n eventType = \"tenant.beforeDelete\" as const;\n\n getHandlerAbstraction() {\n return TenantBeforeDeleteHandler;\n }\n}\n\nexport class TenantAfterDeleteEvent extends DomainEvent<TenantAfterDeletePayload> {\n eventType = \"tenant.afterDelete\" as const;\n\n getHandlerAbstraction() {\n return TenantAfterDeleteHandler;\n }\n}\n"],"mappings":"AAAA,SAASA,WAAW;AAEpB,SAASC,yBAAyB,EAAEC,wBAAwB;AAU5D,OAAO,MAAMC,uBAAuB,SAASH,WAAW,CAA4B;EAChFI,SAAS,GAAG,qBAAqB;EAEjCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOJ,yBAAyB;EACpC;AACJ;AAEA,OAAO,MAAMK,sBAAsB,SAASN,WAAW,CAA2B;EAC9EI,SAAS,GAAG,oBAAoB;EAEhCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOH,wBAAwB;EACnC;AACJ","ignoreList":[]}
1
+ {"version":3,"names":["DomainEvent","TenantBeforeDeleteEventHandler","TenantAfterDeleteEventHandler","TenantBeforeDeleteEvent","eventType","getHandlerAbstraction","TenantAfterDeleteEvent"],"sources":["events.ts"],"sourcesContent":["import { DomainEvent } from \"~/features/eventPublisher/index.js\";\nimport type { Tenant } from \"~/types/tenancy.js\";\nimport { TenantBeforeDeleteEventHandler, TenantAfterDeleteEventHandler } from \"./abstractions.js\";\n\nexport interface TenantBeforeDeletePayload {\n tenant: Tenant;\n}\n\nexport interface TenantAfterDeletePayload {\n tenant: Tenant;\n}\n\nexport class TenantBeforeDeleteEvent extends DomainEvent<TenantBeforeDeletePayload> {\n eventType = \"tenant.beforeDelete\" as const;\n\n getHandlerAbstraction() {\n return TenantBeforeDeleteEventHandler;\n }\n}\n\nexport class TenantAfterDeleteEvent extends DomainEvent<TenantAfterDeletePayload> {\n eventType = \"tenant.afterDelete\" as const;\n\n getHandlerAbstraction() {\n return TenantAfterDeleteEventHandler;\n }\n}\n"],"mappings":"AAAA,SAASA,WAAW;AAEpB,SAASC,8BAA8B,EAAEC,6BAA6B;AAUtE,OAAO,MAAMC,uBAAuB,SAASH,WAAW,CAA4B;EAChFI,SAAS,GAAG,qBAAqB;EAEjCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOJ,8BAA8B;EACzC;AACJ;AAEA,OAAO,MAAMK,sBAAsB,SAASN,WAAW,CAA2B;EAC9EI,SAAS,GAAG,oBAAoB;EAEhCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOH,6BAA6B;EACxC;AACJ","ignoreList":[]}
@@ -1,3 +1,3 @@
1
1
  export { DeleteTenantFeature } from "./feature.js";
2
- export { DeleteTenantUseCase, DeleteTenantRepository, DeleteTenantGateway, TenantBeforeDeleteHandler, TenantAfterDeleteHandler } from "./abstractions.js";
2
+ export { DeleteTenantUseCase, DeleteTenantRepository, DeleteTenantGateway, TenantBeforeDeleteEventHandler, TenantAfterDeleteEventHandler } from "./abstractions.js";
3
3
  export { TenantBeforeDeleteEvent, TenantAfterDeleteEvent } from "./events.js";
@@ -1,5 +1,5 @@
1
1
  export { DeleteTenantFeature } from "./feature.js";
2
- export { DeleteTenantUseCase, DeleteTenantRepository, DeleteTenantGateway, TenantBeforeDeleteHandler, TenantAfterDeleteHandler } from "./abstractions.js";
2
+ export { DeleteTenantUseCase, DeleteTenantRepository, DeleteTenantGateway, TenantBeforeDeleteEventHandler, TenantAfterDeleteEventHandler } from "./abstractions.js";
3
3
  export { TenantBeforeDeleteEvent, TenantAfterDeleteEvent } from "./events.js";
4
4
 
5
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["DeleteTenantFeature","DeleteTenantUseCase","DeleteTenantRepository","DeleteTenantGateway","TenantBeforeDeleteHandler","TenantAfterDeleteHandler","TenantBeforeDeleteEvent","TenantAfterDeleteEvent"],"sources":["index.ts"],"sourcesContent":["export { DeleteTenantFeature } from \"./feature.js\";\nexport {\n DeleteTenantUseCase,\n DeleteTenantRepository,\n DeleteTenantGateway,\n TenantBeforeDeleteHandler,\n TenantAfterDeleteHandler\n} from \"./abstractions.js\";\nexport { TenantBeforeDeleteEvent, TenantAfterDeleteEvent } from \"./events.js\";\n"],"mappings":"AAAA,SAASA,mBAAmB;AAC5B,SACIC,mBAAmB,EACnBC,sBAAsB,EACtBC,mBAAmB,EACnBC,yBAAyB,EACzBC,wBAAwB;AAE5B,SAASC,uBAAuB,EAAEC,sBAAsB","ignoreList":[]}
1
+ {"version":3,"names":["DeleteTenantFeature","DeleteTenantUseCase","DeleteTenantRepository","DeleteTenantGateway","TenantBeforeDeleteEventHandler","TenantAfterDeleteEventHandler","TenantBeforeDeleteEvent","TenantAfterDeleteEvent"],"sources":["index.ts"],"sourcesContent":["export { DeleteTenantFeature } from \"./feature.js\";\nexport {\n DeleteTenantUseCase,\n DeleteTenantRepository,\n DeleteTenantGateway,\n TenantBeforeDeleteEventHandler,\n TenantAfterDeleteEventHandler\n} from \"./abstractions.js\";\nexport { TenantBeforeDeleteEvent, TenantAfterDeleteEvent } from \"./events.js\";\n"],"mappings":"AAAA,SAASA,mBAAmB;AAC5B,SACIC,mBAAmB,EACnBC,sBAAsB,EACtBC,mBAAmB,EACnBC,8BAA8B,EAC9BC,6BAA6B;AAEjC,SAASC,uBAAuB,EAAEC,sBAAsB","ignoreList":[]}
@@ -59,8 +59,8 @@ export declare namespace InstallTenantUseCase {
59
59
  /**
60
60
  * Event Handler Abstraction
61
61
  */
62
- export declare const TenantInstalledHandler: import("@webiny/di").Abstraction<IEventHandler<DomainEvent<TenantInstalledPayload>>>;
63
- export declare namespace TenantInstalledHandler {
62
+ export declare const TenantInstalledEventHandler: import("@webiny/di").Abstraction<IEventHandler<DomainEvent<TenantInstalledPayload>>>;
63
+ export declare namespace TenantInstalledEventHandler {
64
64
  type Interface = IEventHandler<DomainEvent<TenantInstalledPayload>>;
65
65
  type Event = DomainEvent<TenantInstalledPayload>;
66
66
  }
@@ -22,6 +22,6 @@ export const InstallTenantUseCase = createAbstraction("InstallTenantUseCase");
22
22
  /**
23
23
  * Event Handler Abstraction
24
24
  */
25
- export const TenantInstalledHandler = createAbstraction("TenantInstalledHandler");
25
+ export const TenantInstalledEventHandler = createAbstraction("TenantInstalledEventHandler");
26
26
 
27
27
  //# sourceMappingURL=abstractions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","AppInstaller","InstallTenantUseCase","TenantInstalledHandler"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction, Result } from \"@webiny/feature/api\";\nimport type { IEventHandler, DomainEvent } from \"~/features/eventPublisher/index.js\";\nimport type { Tenant } from \"~/types/tenancy.js\";\nimport type { TenantInstalledPayload } from \"./events.js\";\nimport { InstallTenantError, InstallationDependencyError } from \"./errors.js\";\n\nexport type { Tenant };\n\n/**\n * Errors\n */\nexport interface IInstallTenantErrors {\n base: InstallTenantError;\n dependency: InstallationDependencyError;\n}\n\n/**\n * Types\n */\nexport interface AppInstallationData {\n app: string;\n data: Record<string, any>;\n}\n\nexport interface TenantInstallationInput {\n tenant: Tenant;\n installationInput: AppInstallationData[];\n}\n\n/**\n * App Installer Abstraction\n */\nexport interface IAppInstaller<TData = Record<string, any>> {\n readonly alwaysRun?: boolean;\n readonly appName: string;\n readonly dependsOn: string[];\n\n /**\n * Perform the installation\n * If this succeeds, uninstall() MUST be able to revert it\n */\n install(tenant: Tenant, data: TData): Promise<void>;\n\n /**\n * Revert the installation\n * Called if any subsequent installer fails\n */\n uninstall(tenant: Tenant): Promise<void>;\n}\n\nexport const AppInstaller = createAbstraction<IAppInstaller>(\"AppInstaller\");\n\nexport namespace AppInstaller {\n export type Interface<T = any> = IAppInstaller<T>;\n}\n\n/**\n * Use Case Abstraction\n */\nexport interface IInstallTenantUseCase {\n execute(\n input: TenantInstallationInput\n ): Promise<Result<void, IInstallTenantErrors[keyof IInstallTenantErrors]>>;\n}\n\nexport const InstallTenantUseCase =\n createAbstraction<IInstallTenantUseCase>(\"InstallTenantUseCase\");\n\nexport namespace InstallTenantUseCase {\n export type Interface = IInstallTenantUseCase;\n export type Input = TenantInstallationInput;\n export type Errors = IInstallTenantErrors[keyof IInstallTenantErrors];\n}\n\n/**\n * Event Handler Abstraction\n */\nexport const TenantInstalledHandler =\n createAbstraction<IEventHandler<DomainEvent<TenantInstalledPayload>>>(\"TenantInstalledHandler\");\n\nexport namespace TenantInstalledHandler {\n export type Interface = IEventHandler<DomainEvent<TenantInstalledPayload>>;\n export type Event = DomainEvent<TenantInstalledPayload>;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAgB,qBAAqB;;AAQ/D;AACA;AACA;;AAMA;AACA;AACA;;AAWA;AACA;AACA;;AAmBA,OAAO,MAAMC,YAAY,GAAGD,iBAAiB,CAAgB,cAAc,CAAC;;AAM5E;AACA;AACA;;AAOA,OAAO,MAAME,oBAAoB,GAC7BF,iBAAiB,CAAwB,sBAAsB,CAAC;AAQpE;AACA;AACA;AACA,OAAO,MAAMG,sBAAsB,GAC/BH,iBAAiB,CAAqD,wBAAwB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createAbstraction","AppInstaller","InstallTenantUseCase","TenantInstalledEventHandler"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction, Result } from \"@webiny/feature/api\";\nimport type { IEventHandler, DomainEvent } from \"~/features/eventPublisher/index.js\";\nimport type { Tenant } from \"~/types/tenancy.js\";\nimport type { TenantInstalledPayload } from \"./events.js\";\nimport { InstallTenantError, InstallationDependencyError } from \"./errors.js\";\n\nexport type { Tenant };\n\n/**\n * Errors\n */\nexport interface IInstallTenantErrors {\n base: InstallTenantError;\n dependency: InstallationDependencyError;\n}\n\n/**\n * Types\n */\nexport interface AppInstallationData {\n app: string;\n data: Record<string, any>;\n}\n\nexport interface TenantInstallationInput {\n tenant: Tenant;\n installationInput: AppInstallationData[];\n}\n\n/**\n * App Installer Abstraction\n */\nexport interface IAppInstaller<TData = Record<string, any>> {\n readonly alwaysRun?: boolean;\n readonly appName: string;\n readonly dependsOn: string[];\n\n /**\n * Perform the installation\n * If this succeeds, uninstall() MUST be able to revert it\n */\n install(tenant: Tenant, data: TData): Promise<void>;\n\n /**\n * Revert the installation\n * Called if any subsequent installer fails\n */\n uninstall(tenant: Tenant): Promise<void>;\n}\n\nexport const AppInstaller = createAbstraction<IAppInstaller>(\"AppInstaller\");\n\nexport namespace AppInstaller {\n export type Interface<T = any> = IAppInstaller<T>;\n}\n\n/**\n * Use Case Abstraction\n */\nexport interface IInstallTenantUseCase {\n execute(\n input: TenantInstallationInput\n ): Promise<Result<void, IInstallTenantErrors[keyof IInstallTenantErrors]>>;\n}\n\nexport const InstallTenantUseCase =\n createAbstraction<IInstallTenantUseCase>(\"InstallTenantUseCase\");\n\nexport namespace InstallTenantUseCase {\n export type Interface = IInstallTenantUseCase;\n export type Input = TenantInstallationInput;\n export type Errors = IInstallTenantErrors[keyof IInstallTenantErrors];\n}\n\n/**\n * Event Handler Abstraction\n */\nexport const TenantInstalledEventHandler = createAbstraction<\n IEventHandler<DomainEvent<TenantInstalledPayload>>\n>(\"TenantInstalledEventHandler\");\n\nexport namespace TenantInstalledEventHandler {\n export type Interface = IEventHandler<DomainEvent<TenantInstalledPayload>>;\n export type Event = DomainEvent<TenantInstalledPayload>;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAgB,qBAAqB;;AAQ/D;AACA;AACA;;AAMA;AACA;AACA;;AAWA;AACA;AACA;;AAmBA,OAAO,MAAMC,YAAY,GAAGD,iBAAiB,CAAgB,cAAc,CAAC;;AAM5E;AACA;AACA;;AAOA,OAAO,MAAME,oBAAoB,GAC7BF,iBAAiB,CAAwB,sBAAsB,CAAC;AAQpE;AACA;AACA;AACA,OAAO,MAAMG,2BAA2B,GAAGH,iBAAiB,CAE1D,6BAA6B,CAAC","ignoreList":[]}
@@ -1,9 +1,9 @@
1
1
  import { DomainEvent } from "../../eventPublisher/index.js";
2
- import { TenantInstalledHandler } from "./abstractions.js";
2
+ import { TenantInstalledEventHandler } from "./abstractions.js";
3
3
  export class TenantInstalledEvent extends DomainEvent {
4
4
  eventType = "tenant.installed";
5
5
  getHandlerAbstraction() {
6
- return TenantInstalledHandler;
6
+ return TenantInstalledEventHandler;
7
7
  }
8
8
  }
9
9
 
@@ -1 +1 @@
1
- {"version":3,"names":["DomainEvent","TenantInstalledHandler","TenantInstalledEvent","eventType","getHandlerAbstraction"],"sources":["events.ts"],"sourcesContent":["import { DomainEvent } from \"~/features/eventPublisher/index.js\";\nimport type { Tenant } from \"~/types/tenancy.js\";\nimport { TenantInstalledHandler } from \"./abstractions.js\";\n\nexport interface TenantInstalledPayload {\n tenant: Tenant;\n installedApps: string[];\n}\n\nexport class TenantInstalledEvent extends DomainEvent<TenantInstalledPayload> {\n eventType = \"tenant.installed\" as const;\n\n getHandlerAbstraction() {\n return TenantInstalledHandler;\n }\n}\n"],"mappings":"AAAA,SAASA,WAAW;AAEpB,SAASC,sBAAsB;AAO/B,OAAO,MAAMC,oBAAoB,SAASF,WAAW,CAAyB;EAC1EG,SAAS,GAAG,kBAAkB;EAE9BC,qBAAqBA,CAAA,EAAG;IACpB,OAAOH,sBAAsB;EACjC;AACJ","ignoreList":[]}
1
+ {"version":3,"names":["DomainEvent","TenantInstalledEventHandler","TenantInstalledEvent","eventType","getHandlerAbstraction"],"sources":["events.ts"],"sourcesContent":["import { DomainEvent } from \"~/features/eventPublisher/index.js\";\nimport type { Tenant } from \"~/types/tenancy.js\";\nimport { TenantInstalledEventHandler } from \"./abstractions.js\";\n\nexport interface TenantInstalledPayload {\n tenant: Tenant;\n installedApps: string[];\n}\n\nexport class TenantInstalledEvent extends DomainEvent<TenantInstalledPayload> {\n eventType = \"tenant.installed\" as const;\n\n getHandlerAbstraction() {\n return TenantInstalledEventHandler;\n }\n}\n"],"mappings":"AAAA,SAASA,WAAW;AAEpB,SAASC,2BAA2B;AAOpC,OAAO,MAAMC,oBAAoB,SAASF,WAAW,CAAyB;EAC1EG,SAAS,GAAG,kBAAkB;EAE9BC,qBAAqBA,CAAA,EAAG;IACpB,OAAOH,2BAA2B;EACtC;AACJ","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  export { InstallTenantFeature } from "./feature.js";
2
- export { InstallTenantUseCase, AppInstaller, TenantInstalledHandler, type AppInstallationData, type TenantInstallationInput } from "./abstractions.js";
2
+ export { InstallTenantUseCase, AppInstaller, TenantInstalledEventHandler, type AppInstallationData, type TenantInstallationInput } from "./abstractions.js";
3
3
  export { DependencyResolver } from "./DependencyResolver.js";
4
4
  export { InstallTenantError, InstallationDependencyError } from "./errors.js";
5
5
  export { TenantInstalledEvent, type TenantInstalledPayload } from "./events.js";
@@ -1,5 +1,5 @@
1
1
  export { InstallTenantFeature } from "./feature.js";
2
- export { InstallTenantUseCase, AppInstaller, TenantInstalledHandler } from "./abstractions.js";
2
+ export { InstallTenantUseCase, AppInstaller, TenantInstalledEventHandler } from "./abstractions.js";
3
3
  export { DependencyResolver } from "./DependencyResolver.js";
4
4
  export { InstallTenantError, InstallationDependencyError } from "./errors.js";
5
5
  export { TenantInstalledEvent } from "./events.js";
@@ -1 +1 @@
1
- {"version":3,"names":["InstallTenantFeature","InstallTenantUseCase","AppInstaller","TenantInstalledHandler","DependencyResolver","InstallTenantError","InstallationDependencyError","TenantInstalledEvent"],"sources":["index.ts"],"sourcesContent":["export { InstallTenantFeature } from \"./feature.js\";\nexport {\n InstallTenantUseCase,\n AppInstaller,\n TenantInstalledHandler,\n type AppInstallationData,\n type TenantInstallationInput\n} from \"./abstractions.js\";\nexport { DependencyResolver } from \"./DependencyResolver.js\";\nexport { InstallTenantError, InstallationDependencyError } from \"./errors.js\";\nexport { TenantInstalledEvent, type TenantInstalledPayload } from \"./events.js\";\n"],"mappings":"AAAA,SAASA,oBAAoB;AAC7B,SACIC,oBAAoB,EACpBC,YAAY,EACZC,sBAAsB;AAI1B,SAASC,kBAAkB;AAC3B,SAASC,kBAAkB,EAAEC,2BAA2B;AACxD,SAASC,oBAAoB","ignoreList":[]}
1
+ {"version":3,"names":["InstallTenantFeature","InstallTenantUseCase","AppInstaller","TenantInstalledEventHandler","DependencyResolver","InstallTenantError","InstallationDependencyError","TenantInstalledEvent"],"sources":["index.ts"],"sourcesContent":["export { InstallTenantFeature } from \"./feature.js\";\nexport {\n InstallTenantUseCase,\n AppInstaller,\n TenantInstalledEventHandler,\n type AppInstallationData,\n type TenantInstallationInput\n} from \"./abstractions.js\";\nexport { DependencyResolver } from \"./DependencyResolver.js\";\nexport { InstallTenantError, InstallationDependencyError } from \"./errors.js\";\nexport { TenantInstalledEvent, type TenantInstalledPayload } from \"./events.js\";\n"],"mappings":"AAAA,SAASA,oBAAoB;AAC7B,SACIC,oBAAoB,EACpBC,YAAY,EACZC,2BAA2B;AAI/B,SAASC,kBAAkB;AAC3B,SAASC,kBAAkB,EAAEC,2BAA2B;AACxD,SAASC,oBAAoB","ignoreList":[]}
@@ -29,13 +29,13 @@ export declare const UpdateTenantGateway: import("@webiny/di").Abstraction<IUpda
29
29
  export declare namespace UpdateTenantGateway {
30
30
  type Interface = IUpdateTenantGateway;
31
31
  }
32
- export declare const TenantBeforeUpdateHandler: import("@webiny/di").Abstraction<IEventHandler<DomainEvent<TenantBeforeUpdatePayload>>>;
33
- export declare namespace TenantBeforeUpdateHandler {
32
+ export declare const TenantBeforeUpdateEventHandler: import("@webiny/di").Abstraction<IEventHandler<DomainEvent<TenantBeforeUpdatePayload>>>;
33
+ export declare namespace TenantBeforeUpdateEventHandler {
34
34
  type Interface = IEventHandler<DomainEvent<TenantBeforeUpdatePayload>>;
35
35
  type Event = DomainEvent<TenantBeforeUpdatePayload>;
36
36
  }
37
- export declare const TenantAfterUpdateHandler: import("@webiny/di").Abstraction<IEventHandler<DomainEvent<TenantAfterUpdatePayload>>>;
38
- export declare namespace TenantAfterUpdateHandler {
37
+ export declare const TenantAfterUpdateEventHandler: import("@webiny/di").Abstraction<IEventHandler<DomainEvent<TenantAfterUpdatePayload>>>;
38
+ export declare namespace TenantAfterUpdateEventHandler {
39
39
  type Interface = IEventHandler<DomainEvent<TenantAfterUpdatePayload>>;
40
40
  type Event = DomainEvent<TenantAfterUpdatePayload>;
41
41
  }
@@ -2,7 +2,7 @@ import { createAbstraction } from "@webiny/feature/api";
2
2
  export const UpdateTenantUseCase = createAbstraction("UpdateTenantUseCase");
3
3
  export const UpdateTenantRepository = createAbstraction("UpdateTenantRepository");
4
4
  export const UpdateTenantGateway = createAbstraction("UpdateTenantGateway");
5
- export const TenantBeforeUpdateHandler = createAbstraction("TenantBeforeUpdateHandler");
6
- export const TenantAfterUpdateHandler = createAbstraction("TenantAfterUpdateHandler");
5
+ export const TenantBeforeUpdateEventHandler = createAbstraction("TenantBeforeUpdateEventHandler");
6
+ export const TenantAfterUpdateEventHandler = createAbstraction("TenantAfterUpdateEventHandler");
7
7
 
8
8
  //# sourceMappingURL=abstractions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","UpdateTenantUseCase","UpdateTenantRepository","UpdateTenantGateway","TenantBeforeUpdateHandler","TenantAfterUpdateHandler"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction, type Result } from \"@webiny/feature/api\";\nimport type { IEventHandler, DomainEvent } from \"~/features/eventPublisher/index.js\";\nimport type { Tenant } from \"~/types/tenancy.js\";\nimport type { TenantBeforeUpdatePayload, TenantAfterUpdatePayload } from \"./events.js\";\n\nexport type UpdateTenantError = { type: \"NOT_FOUND\" } | { type: \"UNKNOWN\"; cause: Error };\n\nexport interface IUpdateTenantUseCase {\n execute(id: string, data: Partial<Tenant>): Promise<Result<Tenant, UpdateTenantError>>;\n}\n\nexport const UpdateTenantUseCase = createAbstraction<IUpdateTenantUseCase>(\"UpdateTenantUseCase\");\n\nexport namespace UpdateTenantUseCase {\n export type Interface = IUpdateTenantUseCase;\n}\n\nexport interface IUpdateTenantRepository {\n update(tenant: Tenant): Promise<Tenant>;\n}\n\nexport const UpdateTenantRepository =\n createAbstraction<IUpdateTenantRepository>(\"UpdateTenantRepository\");\n\nexport namespace UpdateTenantRepository {\n export type Interface = IUpdateTenantRepository;\n}\n\nexport interface IUpdateTenantGateway {\n updateTenant(data: Tenant): Promise<Tenant>;\n}\n\nexport const UpdateTenantGateway = createAbstraction<IUpdateTenantGateway>(\"UpdateTenantGateway\");\n\nexport namespace UpdateTenantGateway {\n export type Interface = IUpdateTenantGateway;\n}\n\nexport const TenantBeforeUpdateHandler = createAbstraction<\n IEventHandler<DomainEvent<TenantBeforeUpdatePayload>>\n>(\"TenantBeforeUpdateHandler\");\n\nexport namespace TenantBeforeUpdateHandler {\n export type Interface = IEventHandler<DomainEvent<TenantBeforeUpdatePayload>>;\n export type Event = DomainEvent<TenantBeforeUpdatePayload>;\n}\n\nexport const TenantAfterUpdateHandler = createAbstraction<\n IEventHandler<DomainEvent<TenantAfterUpdatePayload>>\n>(\"TenantAfterUpdateHandler\");\n\nexport namespace TenantAfterUpdateHandler {\n export type Interface = IEventHandler<DomainEvent<TenantAfterUpdatePayload>>;\n export type Event = DomainEvent<TenantAfterUpdatePayload>;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAqB,qBAAqB;AAWpE,OAAO,MAAMC,mBAAmB,GAAGD,iBAAiB,CAAuB,qBAAqB,CAAC;AAUjG,OAAO,MAAME,sBAAsB,GAC/BF,iBAAiB,CAA0B,wBAAwB,CAAC;AAUxE,OAAO,MAAMG,mBAAmB,GAAGH,iBAAiB,CAAuB,qBAAqB,CAAC;AAMjG,OAAO,MAAMI,yBAAyB,GAAGJ,iBAAiB,CAExD,2BAA2B,CAAC;AAO9B,OAAO,MAAMK,wBAAwB,GAAGL,iBAAiB,CAEvD,0BAA0B,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createAbstraction","UpdateTenantUseCase","UpdateTenantRepository","UpdateTenantGateway","TenantBeforeUpdateEventHandler","TenantAfterUpdateEventHandler"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction, type Result } from \"@webiny/feature/api\";\nimport type { IEventHandler, DomainEvent } from \"~/features/eventPublisher/index.js\";\nimport type { Tenant } from \"~/types/tenancy.js\";\nimport type { TenantBeforeUpdatePayload, TenantAfterUpdatePayload } from \"./events.js\";\n\nexport type UpdateTenantError = { type: \"NOT_FOUND\" } | { type: \"UNKNOWN\"; cause: Error };\n\nexport interface IUpdateTenantUseCase {\n execute(id: string, data: Partial<Tenant>): Promise<Result<Tenant, UpdateTenantError>>;\n}\n\nexport const UpdateTenantUseCase = createAbstraction<IUpdateTenantUseCase>(\"UpdateTenantUseCase\");\n\nexport namespace UpdateTenantUseCase {\n export type Interface = IUpdateTenantUseCase;\n}\n\nexport interface IUpdateTenantRepository {\n update(tenant: Tenant): Promise<Tenant>;\n}\n\nexport const UpdateTenantRepository =\n createAbstraction<IUpdateTenantRepository>(\"UpdateTenantRepository\");\n\nexport namespace UpdateTenantRepository {\n export type Interface = IUpdateTenantRepository;\n}\n\nexport interface IUpdateTenantGateway {\n updateTenant(data: Tenant): Promise<Tenant>;\n}\n\nexport const UpdateTenantGateway = createAbstraction<IUpdateTenantGateway>(\"UpdateTenantGateway\");\n\nexport namespace UpdateTenantGateway {\n export type Interface = IUpdateTenantGateway;\n}\n\nexport const TenantBeforeUpdateEventHandler = createAbstraction<\n IEventHandler<DomainEvent<TenantBeforeUpdatePayload>>\n>(\"TenantBeforeUpdateEventHandler\");\n\nexport namespace TenantBeforeUpdateEventHandler {\n export type Interface = IEventHandler<DomainEvent<TenantBeforeUpdatePayload>>;\n export type Event = DomainEvent<TenantBeforeUpdatePayload>;\n}\n\nexport const TenantAfterUpdateEventHandler = createAbstraction<\n IEventHandler<DomainEvent<TenantAfterUpdatePayload>>\n>(\"TenantAfterUpdateEventHandler\");\n\nexport namespace TenantAfterUpdateEventHandler {\n export type Interface = IEventHandler<DomainEvent<TenantAfterUpdatePayload>>;\n export type Event = DomainEvent<TenantAfterUpdatePayload>;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAqB,qBAAqB;AAWpE,OAAO,MAAMC,mBAAmB,GAAGD,iBAAiB,CAAuB,qBAAqB,CAAC;AAUjG,OAAO,MAAME,sBAAsB,GAC/BF,iBAAiB,CAA0B,wBAAwB,CAAC;AAUxE,OAAO,MAAMG,mBAAmB,GAAGH,iBAAiB,CAAuB,qBAAqB,CAAC;AAMjG,OAAO,MAAMI,8BAA8B,GAAGJ,iBAAiB,CAE7D,gCAAgC,CAAC;AAOnC,OAAO,MAAMK,6BAA6B,GAAGL,iBAAiB,CAE5D,+BAA+B,CAAC","ignoreList":[]}
@@ -1,15 +1,15 @@
1
1
  import { DomainEvent } from "../../eventPublisher/index.js";
2
- import { TenantBeforeUpdateHandler, TenantAfterUpdateHandler } from "./abstractions.js";
2
+ import { TenantBeforeUpdateEventHandler, TenantAfterUpdateEventHandler } from "./abstractions.js";
3
3
  export class TenantBeforeUpdateEvent extends DomainEvent {
4
4
  eventType = "tenant.beforeUpdate";
5
5
  getHandlerAbstraction() {
6
- return TenantBeforeUpdateHandler;
6
+ return TenantBeforeUpdateEventHandler;
7
7
  }
8
8
  }
9
9
  export class TenantAfterUpdateEvent extends DomainEvent {
10
10
  eventType = "tenant.afterUpdate";
11
11
  getHandlerAbstraction() {
12
- return TenantAfterUpdateHandler;
12
+ return TenantAfterUpdateEventHandler;
13
13
  }
14
14
  }
15
15
 
@@ -1 +1 @@
1
- {"version":3,"names":["DomainEvent","TenantBeforeUpdateHandler","TenantAfterUpdateHandler","TenantBeforeUpdateEvent","eventType","getHandlerAbstraction","TenantAfterUpdateEvent"],"sources":["events.ts"],"sourcesContent":["import { DomainEvent } from \"~/features/eventPublisher/index.js\";\nimport type { Tenant } from \"~/types/tenancy.js\";\nimport { TenantBeforeUpdateHandler, TenantAfterUpdateHandler } from \"./abstractions.js\";\n\nexport interface TenantBeforeUpdatePayload {\n tenant: Tenant;\n inputData: Record<string, any>;\n updateData: Partial<Tenant>;\n}\n\nexport interface TenantAfterUpdatePayload {\n tenant: Tenant;\n inputData: Record<string, any>;\n}\n\nexport class TenantBeforeUpdateEvent extends DomainEvent<TenantBeforeUpdatePayload> {\n eventType = \"tenant.beforeUpdate\" as const;\n\n getHandlerAbstraction() {\n return TenantBeforeUpdateHandler;\n }\n}\n\nexport class TenantAfterUpdateEvent extends DomainEvent<TenantAfterUpdatePayload> {\n eventType = \"tenant.afterUpdate\" as const;\n\n getHandlerAbstraction() {\n return TenantAfterUpdateHandler;\n }\n}\n"],"mappings":"AAAA,SAASA,WAAW;AAEpB,SAASC,yBAAyB,EAAEC,wBAAwB;AAa5D,OAAO,MAAMC,uBAAuB,SAASH,WAAW,CAA4B;EAChFI,SAAS,GAAG,qBAAqB;EAEjCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOJ,yBAAyB;EACpC;AACJ;AAEA,OAAO,MAAMK,sBAAsB,SAASN,WAAW,CAA2B;EAC9EI,SAAS,GAAG,oBAAoB;EAEhCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOH,wBAAwB;EACnC;AACJ","ignoreList":[]}
1
+ {"version":3,"names":["DomainEvent","TenantBeforeUpdateEventHandler","TenantAfterUpdateEventHandler","TenantBeforeUpdateEvent","eventType","getHandlerAbstraction","TenantAfterUpdateEvent"],"sources":["events.ts"],"sourcesContent":["import { DomainEvent } from \"~/features/eventPublisher/index.js\";\nimport type { Tenant } from \"~/types/tenancy.js\";\nimport { TenantBeforeUpdateEventHandler, TenantAfterUpdateEventHandler } from \"./abstractions.js\";\n\nexport interface TenantBeforeUpdatePayload {\n tenant: Tenant;\n inputData: Record<string, any>;\n updateData: Partial<Tenant>;\n}\n\nexport interface TenantAfterUpdatePayload {\n tenant: Tenant;\n inputData: Record<string, any>;\n}\n\nexport class TenantBeforeUpdateEvent extends DomainEvent<TenantBeforeUpdatePayload> {\n eventType = \"tenant.beforeUpdate\" as const;\n\n getHandlerAbstraction() {\n return TenantBeforeUpdateEventHandler;\n }\n}\n\nexport class TenantAfterUpdateEvent extends DomainEvent<TenantAfterUpdatePayload> {\n eventType = \"tenant.afterUpdate\" as const;\n\n getHandlerAbstraction() {\n return TenantAfterUpdateEventHandler;\n }\n}\n"],"mappings":"AAAA,SAASA,WAAW;AAEpB,SAASC,8BAA8B,EAAEC,6BAA6B;AAatE,OAAO,MAAMC,uBAAuB,SAASH,WAAW,CAA4B;EAChFI,SAAS,GAAG,qBAAqB;EAEjCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOJ,8BAA8B;EACzC;AACJ;AAEA,OAAO,MAAMK,sBAAsB,SAASN,WAAW,CAA2B;EAC9EI,SAAS,GAAG,oBAAoB;EAEhCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOH,6BAA6B;EACxC;AACJ","ignoreList":[]}
@@ -1,3 +1,3 @@
1
1
  export { UpdateTenantFeature } from "./feature.js";
2
- export { UpdateTenantUseCase, UpdateTenantRepository, UpdateTenantGateway, TenantBeforeUpdateHandler, TenantAfterUpdateHandler } from "./abstractions.js";
2
+ export { UpdateTenantUseCase, UpdateTenantRepository, UpdateTenantGateway, TenantBeforeUpdateEventHandler, TenantAfterUpdateEventHandler } from "./abstractions.js";
3
3
  export { TenantBeforeUpdateEvent, TenantAfterUpdateEvent } from "./events.js";
@@ -1,5 +1,5 @@
1
1
  export { UpdateTenantFeature } from "./feature.js";
2
- export { UpdateTenantUseCase, UpdateTenantRepository, UpdateTenantGateway, TenantBeforeUpdateHandler, TenantAfterUpdateHandler } from "./abstractions.js";
2
+ export { UpdateTenantUseCase, UpdateTenantRepository, UpdateTenantGateway, TenantBeforeUpdateEventHandler, TenantAfterUpdateEventHandler } from "./abstractions.js";
3
3
  export { TenantBeforeUpdateEvent, TenantAfterUpdateEvent } from "./events.js";
4
4
 
5
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["UpdateTenantFeature","UpdateTenantUseCase","UpdateTenantRepository","UpdateTenantGateway","TenantBeforeUpdateHandler","TenantAfterUpdateHandler","TenantBeforeUpdateEvent","TenantAfterUpdateEvent"],"sources":["index.ts"],"sourcesContent":["export { UpdateTenantFeature } from \"./feature.js\";\nexport {\n UpdateTenantUseCase,\n UpdateTenantRepository,\n UpdateTenantGateway,\n TenantBeforeUpdateHandler,\n TenantAfterUpdateHandler\n} from \"./abstractions.js\";\nexport { TenantBeforeUpdateEvent, TenantAfterUpdateEvent } from \"./events.js\";\n"],"mappings":"AAAA,SAASA,mBAAmB;AAC5B,SACIC,mBAAmB,EACnBC,sBAAsB,EACtBC,mBAAmB,EACnBC,yBAAyB,EACzBC,wBAAwB;AAE5B,SAASC,uBAAuB,EAAEC,sBAAsB","ignoreList":[]}
1
+ {"version":3,"names":["UpdateTenantFeature","UpdateTenantUseCase","UpdateTenantRepository","UpdateTenantGateway","TenantBeforeUpdateEventHandler","TenantAfterUpdateEventHandler","TenantBeforeUpdateEvent","TenantAfterUpdateEvent"],"sources":["index.ts"],"sourcesContent":["export { UpdateTenantFeature } from \"./feature.js\";\nexport {\n UpdateTenantUseCase,\n UpdateTenantRepository,\n UpdateTenantGateway,\n TenantBeforeUpdateEventHandler,\n TenantAfterUpdateEventHandler\n} from \"./abstractions.js\";\nexport { TenantBeforeUpdateEvent, TenantAfterUpdateEvent } from \"./events.js\";\n"],"mappings":"AAAA,SAASA,mBAAmB;AAC5B,SACIC,mBAAmB,EACnBC,sBAAsB,EACtBC,mBAAmB,EACnBC,8BAA8B,EAC9BC,6BAA6B;AAEjC,SAASC,uBAAuB,EAAEC,sBAAsB","ignoreList":[]}
@@ -5,8 +5,8 @@ export declare class UserBeforeCreateEvent extends DomainEvent<UserBeforeCreateP
5
5
  eventType: "user.beforeCreate";
6
6
  getHandlerAbstraction(): import("@webiny/di").Abstraction<IEventHandler<UserBeforeCreateEvent>>;
7
7
  }
8
- export declare const UserBeforeCreateHandler: import("@webiny/di").Abstraction<IEventHandler<UserBeforeCreateEvent>>;
9
- export declare namespace UserBeforeCreateHandler {
8
+ export declare const UserBeforeCreateEventHandler: import("@webiny/di").Abstraction<IEventHandler<UserBeforeCreateEvent>>;
9
+ export declare namespace UserBeforeCreateEventHandler {
10
10
  type Interface = IEventHandler<UserBeforeCreateEvent>;
11
11
  type Event = UserBeforeCreateEvent;
12
12
  }
@@ -14,8 +14,8 @@ export declare class UserAfterCreateEvent extends DomainEvent<UserAfterCreatePay
14
14
  eventType: "user.afterCreate";
15
15
  getHandlerAbstraction(): import("@webiny/di").Abstraction<IEventHandler<UserAfterCreateEvent>>;
16
16
  }
17
- export declare const UserAfterCreateHandler: import("@webiny/di").Abstraction<IEventHandler<UserAfterCreateEvent>>;
18
- export declare namespace UserAfterCreateHandler {
17
+ export declare const UserAfterCreateEventHandler: import("@webiny/di").Abstraction<IEventHandler<UserAfterCreateEvent>>;
18
+ export declare namespace UserAfterCreateEventHandler {
19
19
  type Interface = IEventHandler<UserAfterCreateEvent>;
20
20
  type Event = UserAfterCreateEvent;
21
21
  }
@@ -4,17 +4,17 @@ import { DomainEvent } from "../../eventPublisher/index.js";
4
4
  export class UserBeforeCreateEvent extends DomainEvent {
5
5
  eventType = "user.beforeCreate";
6
6
  getHandlerAbstraction() {
7
- return UserBeforeCreateHandler;
7
+ return UserBeforeCreateEventHandler;
8
8
  }
9
9
  }
10
- export const UserBeforeCreateHandler = createAbstraction("UserBeforeCreateHandler");
10
+ export const UserBeforeCreateEventHandler = createAbstraction("UserBeforeCreateEventHandler");
11
11
  // After Create Event
12
12
  export class UserAfterCreateEvent extends DomainEvent {
13
13
  eventType = "user.afterCreate";
14
14
  getHandlerAbstraction() {
15
- return UserAfterCreateHandler;
15
+ return UserAfterCreateEventHandler;
16
16
  }
17
17
  }
18
- export const UserAfterCreateHandler = createAbstraction("UserAfterCreateHandler");
18
+ export const UserAfterCreateEventHandler = createAbstraction("UserAfterCreateEventHandler");
19
19
 
20
20
  //# sourceMappingURL=events.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","DomainEvent","UserBeforeCreateEvent","eventType","getHandlerAbstraction","UserBeforeCreateHandler","UserAfterCreateEvent","UserAfterCreateHandler"],"sources":["events.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport { DomainEvent } from \"~/features/eventPublisher/index.js\";\nimport type { IEventHandler } from \"~/features/eventPublisher/index.js\";\nimport type { UserBeforeCreatePayload, UserAfterCreatePayload } from \"./abstractions.js\";\n\n// Before Create Event\nexport class UserBeforeCreateEvent extends DomainEvent<UserBeforeCreatePayload> {\n eventType = \"user.beforeCreate\" as const;\n\n getHandlerAbstraction() {\n return UserBeforeCreateHandler;\n }\n}\n\nexport const UserBeforeCreateHandler =\n createAbstraction<IEventHandler<UserBeforeCreateEvent>>(\"UserBeforeCreateHandler\");\n\nexport namespace UserBeforeCreateHandler {\n export type Interface = IEventHandler<UserBeforeCreateEvent>;\n export type Event = UserBeforeCreateEvent;\n}\n\n// After Create Event\nexport class UserAfterCreateEvent extends DomainEvent<UserAfterCreatePayload> {\n eventType = \"user.afterCreate\" as const;\n\n getHandlerAbstraction() {\n return UserAfterCreateHandler;\n }\n}\n\nexport const UserAfterCreateHandler =\n createAbstraction<IEventHandler<UserAfterCreateEvent>>(\"UserAfterCreateHandler\");\n\nexport namespace UserAfterCreateHandler {\n export type Interface = IEventHandler<UserAfterCreateEvent>;\n export type Event = UserAfterCreateEvent;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AACvD,SAASC,WAAW;AAIpB;AACA,OAAO,MAAMC,qBAAqB,SAASD,WAAW,CAA0B;EAC5EE,SAAS,GAAG,mBAAmB;EAE/BC,qBAAqBA,CAAA,EAAG;IACpB,OAAOC,uBAAuB;EAClC;AACJ;AAEA,OAAO,MAAMA,uBAAuB,GAChCL,iBAAiB,CAAuC,yBAAyB,CAAC;AAOtF;AACA,OAAO,MAAMM,oBAAoB,SAASL,WAAW,CAAyB;EAC1EE,SAAS,GAAG,kBAAkB;EAE9BC,qBAAqBA,CAAA,EAAG;IACpB,OAAOG,sBAAsB;EACjC;AACJ;AAEA,OAAO,MAAMA,sBAAsB,GAC/BP,iBAAiB,CAAsC,wBAAwB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createAbstraction","DomainEvent","UserBeforeCreateEvent","eventType","getHandlerAbstraction","UserBeforeCreateEventHandler","UserAfterCreateEvent","UserAfterCreateEventHandler"],"sources":["events.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport { DomainEvent } from \"~/features/eventPublisher/index.js\";\nimport type { IEventHandler } from \"~/features/eventPublisher/index.js\";\nimport type { UserBeforeCreatePayload, UserAfterCreatePayload } from \"./abstractions.js\";\n\n// Before Create Event\nexport class UserBeforeCreateEvent extends DomainEvent<UserBeforeCreatePayload> {\n eventType = \"user.beforeCreate\" as const;\n\n getHandlerAbstraction() {\n return UserBeforeCreateEventHandler;\n }\n}\n\nexport const UserBeforeCreateEventHandler = createAbstraction<IEventHandler<UserBeforeCreateEvent>>(\n \"UserBeforeCreateEventHandler\"\n);\n\nexport namespace UserBeforeCreateEventHandler {\n export type Interface = IEventHandler<UserBeforeCreateEvent>;\n export type Event = UserBeforeCreateEvent;\n}\n\n// After Create Event\nexport class UserAfterCreateEvent extends DomainEvent<UserAfterCreatePayload> {\n eventType = \"user.afterCreate\" as const;\n\n getHandlerAbstraction() {\n return UserAfterCreateEventHandler;\n }\n}\n\nexport const UserAfterCreateEventHandler = createAbstraction<IEventHandler<UserAfterCreateEvent>>(\n \"UserAfterCreateEventHandler\"\n);\n\nexport namespace UserAfterCreateEventHandler {\n export type Interface = IEventHandler<UserAfterCreateEvent>;\n export type Event = UserAfterCreateEvent;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AACvD,SAASC,WAAW;AAIpB;AACA,OAAO,MAAMC,qBAAqB,SAASD,WAAW,CAA0B;EAC5EE,SAAS,GAAG,mBAAmB;EAE/BC,qBAAqBA,CAAA,EAAG;IACpB,OAAOC,4BAA4B;EACvC;AACJ;AAEA,OAAO,MAAMA,4BAA4B,GAAGL,iBAAiB,CACzD,8BACJ,CAAC;AAOD;AACA,OAAO,MAAMM,oBAAoB,SAASL,WAAW,CAAyB;EAC1EE,SAAS,GAAG,kBAAkB;EAE9BC,qBAAqBA,CAAA,EAAG;IACpB,OAAOG,2BAA2B;EACtC;AACJ;AAEA,OAAO,MAAMA,2BAA2B,GAAGP,iBAAiB,CACxD,6BACJ,CAAC","ignoreList":[]}
@@ -5,8 +5,8 @@ export declare class UserBeforeDeleteEvent extends DomainEvent<UserBeforeDeleteP
5
5
  eventType: "user.beforeDelete";
6
6
  getHandlerAbstraction(): import("@webiny/di").Abstraction<IEventHandler<UserBeforeDeleteEvent>>;
7
7
  }
8
- export declare const UserBeforeDeleteHandler: import("@webiny/di").Abstraction<IEventHandler<UserBeforeDeleteEvent>>;
9
- export declare namespace UserBeforeDeleteHandler {
8
+ export declare const UserBeforeDeleteEventHandler: import("@webiny/di").Abstraction<IEventHandler<UserBeforeDeleteEvent>>;
9
+ export declare namespace UserBeforeDeleteEventHandler {
10
10
  type Interface = IEventHandler<UserBeforeDeleteEvent>;
11
11
  type Event = UserBeforeDeleteEvent;
12
12
  }
@@ -14,8 +14,8 @@ export declare class UserAfterDeleteEvent extends DomainEvent<UserAfterDeletePay
14
14
  eventType: "user.afterDelete";
15
15
  getHandlerAbstraction(): import("@webiny/di").Abstraction<IEventHandler<UserAfterDeleteEvent>>;
16
16
  }
17
- export declare const UserAfterDeleteHandler: import("@webiny/di").Abstraction<IEventHandler<UserAfterDeleteEvent>>;
18
- export declare namespace UserAfterDeleteHandler {
17
+ export declare const UserAfterDeleteEventHandler: import("@webiny/di").Abstraction<IEventHandler<UserAfterDeleteEvent>>;
18
+ export declare namespace UserAfterDeleteEventHandler {
19
19
  type Interface = IEventHandler<UserAfterDeleteEvent>;
20
20
  type Event = UserAfterDeleteEvent;
21
21
  }
@@ -4,17 +4,17 @@ import { DomainEvent } from "../../eventPublisher/index.js";
4
4
  export class UserBeforeDeleteEvent extends DomainEvent {
5
5
  eventType = "user.beforeDelete";
6
6
  getHandlerAbstraction() {
7
- return UserBeforeDeleteHandler;
7
+ return UserBeforeDeleteEventHandler;
8
8
  }
9
9
  }
10
- export const UserBeforeDeleteHandler = createAbstraction("UserBeforeDeleteHandler");
10
+ export const UserBeforeDeleteEventHandler = createAbstraction("UserBeforeDeleteEventHandler");
11
11
  // After Delete Event
12
12
  export class UserAfterDeleteEvent extends DomainEvent {
13
13
  eventType = "user.afterDelete";
14
14
  getHandlerAbstraction() {
15
- return UserAfterDeleteHandler;
15
+ return UserAfterDeleteEventHandler;
16
16
  }
17
17
  }
18
- export const UserAfterDeleteHandler = createAbstraction("UserAfterDeleteHandler");
18
+ export const UserAfterDeleteEventHandler = createAbstraction("UserAfterDeleteEventHandler");
19
19
 
20
20
  //# sourceMappingURL=events.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","DomainEvent","UserBeforeDeleteEvent","eventType","getHandlerAbstraction","UserBeforeDeleteHandler","UserAfterDeleteEvent","UserAfterDeleteHandler"],"sources":["events.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport { DomainEvent } from \"~/features/eventPublisher/index.js\";\nimport type { IEventHandler } from \"~/features/eventPublisher/index.js\";\nimport type { UserBeforeDeletePayload, UserAfterDeletePayload } from \"./abstractions.js\";\n\n// Before Delete Event\nexport class UserBeforeDeleteEvent extends DomainEvent<UserBeforeDeletePayload> {\n eventType = \"user.beforeDelete\" as const;\n\n getHandlerAbstraction() {\n return UserBeforeDeleteHandler;\n }\n}\n\nexport const UserBeforeDeleteHandler =\n createAbstraction<IEventHandler<UserBeforeDeleteEvent>>(\"UserBeforeDeleteHandler\");\n\nexport namespace UserBeforeDeleteHandler {\n export type Interface = IEventHandler<UserBeforeDeleteEvent>;\n export type Event = UserBeforeDeleteEvent;\n}\n\n// After Delete Event\nexport class UserAfterDeleteEvent extends DomainEvent<UserAfterDeletePayload> {\n eventType = \"user.afterDelete\" as const;\n\n getHandlerAbstraction() {\n return UserAfterDeleteHandler;\n }\n}\n\nexport const UserAfterDeleteHandler =\n createAbstraction<IEventHandler<UserAfterDeleteEvent>>(\"UserAfterDeleteHandler\");\n\nexport namespace UserAfterDeleteHandler {\n export type Interface = IEventHandler<UserAfterDeleteEvent>;\n export type Event = UserAfterDeleteEvent;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AACvD,SAASC,WAAW;AAIpB;AACA,OAAO,MAAMC,qBAAqB,SAASD,WAAW,CAA0B;EAC5EE,SAAS,GAAG,mBAAmB;EAE/BC,qBAAqBA,CAAA,EAAG;IACpB,OAAOC,uBAAuB;EAClC;AACJ;AAEA,OAAO,MAAMA,uBAAuB,GAChCL,iBAAiB,CAAuC,yBAAyB,CAAC;AAOtF;AACA,OAAO,MAAMM,oBAAoB,SAASL,WAAW,CAAyB;EAC1EE,SAAS,GAAG,kBAAkB;EAE9BC,qBAAqBA,CAAA,EAAG;IACpB,OAAOG,sBAAsB;EACjC;AACJ;AAEA,OAAO,MAAMA,sBAAsB,GAC/BP,iBAAiB,CAAsC,wBAAwB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createAbstraction","DomainEvent","UserBeforeDeleteEvent","eventType","getHandlerAbstraction","UserBeforeDeleteEventHandler","UserAfterDeleteEvent","UserAfterDeleteEventHandler"],"sources":["events.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport { DomainEvent } from \"~/features/eventPublisher/index.js\";\nimport type { IEventHandler } from \"~/features/eventPublisher/index.js\";\nimport type { UserBeforeDeletePayload, UserAfterDeletePayload } from \"./abstractions.js\";\n\n// Before Delete Event\nexport class UserBeforeDeleteEvent extends DomainEvent<UserBeforeDeletePayload> {\n eventType = \"user.beforeDelete\" as const;\n\n getHandlerAbstraction() {\n return UserBeforeDeleteEventHandler;\n }\n}\n\nexport const UserBeforeDeleteEventHandler = createAbstraction<IEventHandler<UserBeforeDeleteEvent>>(\n \"UserBeforeDeleteEventHandler\"\n);\n\nexport namespace UserBeforeDeleteEventHandler {\n export type Interface = IEventHandler<UserBeforeDeleteEvent>;\n export type Event = UserBeforeDeleteEvent;\n}\n\n// After Delete Event\nexport class UserAfterDeleteEvent extends DomainEvent<UserAfterDeletePayload> {\n eventType = \"user.afterDelete\" as const;\n\n getHandlerAbstraction() {\n return UserAfterDeleteEventHandler;\n }\n}\n\nexport const UserAfterDeleteEventHandler = createAbstraction<IEventHandler<UserAfterDeleteEvent>>(\n \"UserAfterDeleteEventHandler\"\n);\n\nexport namespace UserAfterDeleteEventHandler {\n export type Interface = IEventHandler<UserAfterDeleteEvent>;\n export type Event = UserAfterDeleteEvent;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AACvD,SAASC,WAAW;AAIpB;AACA,OAAO,MAAMC,qBAAqB,SAASD,WAAW,CAA0B;EAC5EE,SAAS,GAAG,mBAAmB;EAE/BC,qBAAqBA,CAAA,EAAG;IACpB,OAAOC,4BAA4B;EACvC;AACJ;AAEA,OAAO,MAAMA,4BAA4B,GAAGL,iBAAiB,CACzD,8BACJ,CAAC;AAOD;AACA,OAAO,MAAMM,oBAAoB,SAASL,WAAW,CAAyB;EAC1EE,SAAS,GAAG,kBAAkB;EAE9BC,qBAAqBA,CAAA,EAAG;IACpB,OAAOG,2BAA2B;EACtC;AACJ;AAEA,OAAO,MAAMA,2BAA2B,GAAGP,iBAAiB,CACxD,6BACJ,CAAC","ignoreList":[]}
@@ -1,11 +1,11 @@
1
- import { AfterLoginHandler } from "../../../features/security/login/index.js";
1
+ import { AfterLoginEventHandler } from "../../../features/security/login/index.js";
2
2
  import { IdentityContext } from "../../../features/security/IdentityContext/index.js";
3
3
  import { ListRolesUseCase } from "../../../features/security/roles/ListRoles/index.js";
4
4
  import { ListTeamsUseCase } from "../../../features/security/teams/ListTeams/index.js";
5
5
  import { GetUserUseCase } from "../../../features/users/GetUser/index.js";
6
6
  import { CreateUserUseCase } from "../../../features/users/CreateUser/index.js";
7
7
  import { UpdateUserUseCase } from "../../../features/users/UpdateUser/index.js";
8
- declare class ExternalIdpUserSyncHandlerImpl implements AfterLoginHandler.Interface {
8
+ declare class ExternalIdpUserSyncHandlerImpl implements AfterLoginEventHandler.Interface {
9
9
  private identityContext;
10
10
  private getUserUseCase;
11
11
  private createUserUseCase;
@@ -13,7 +13,7 @@ declare class ExternalIdpUserSyncHandlerImpl implements AfterLoginHandler.Interf
13
13
  private listRolesUseCase;
14
14
  private listTeamsUseCase;
15
15
  constructor(identityContext: IdentityContext.Interface, getUserUseCase: GetUserUseCase.Interface, createUserUseCase: CreateUserUseCase.Interface, updateUserUseCase: UpdateUserUseCase.Interface, listRolesUseCase: ListRolesUseCase.Interface, listTeamsUseCase: ListTeamsUseCase.Interface);
16
- handle(event: AfterLoginHandler.Event): Promise<void>;
16
+ handle(event: AfterLoginEventHandler.Event): Promise<void>;
17
17
  }
18
18
  export declare const ExternalIdpUserSyncHandler: import("@webiny/di").Implementation<typeof ExternalIdpUserSyncHandlerImpl>;
19
19
  export {};
@@ -1,5 +1,5 @@
1
1
  import { createImplementation } from "@webiny/feature/api";
2
- import { AfterLoginHandler } from "../../security/login/index.js";
2
+ import { AfterLoginEventHandler } from "../../security/login/index.js";
3
3
  import { IdentityContext } from "../../security/IdentityContext/index.js";
4
4
  import { ListRolesUseCase } from "../../security/roles/ListRoles/index.js";
5
5
  import { ListTeamsUseCase } from "../../security/teams/ListTeams/index.js";
@@ -81,7 +81,7 @@ class ExternalIdpUserSyncHandlerImpl {
81
81
  }
82
82
  }
83
83
  export const ExternalIdpUserSyncHandler = createImplementation({
84
- abstraction: AfterLoginHandler,
84
+ abstraction: AfterLoginEventHandler,
85
85
  implementation: ExternalIdpUserSyncHandlerImpl,
86
86
  dependencies: [IdentityContext, GetUserUseCase, CreateUserUseCase, UpdateUserUseCase, ListRolesUseCase, ListTeamsUseCase]
87
87
  });
@@ -1 +1 @@
1
- {"version":3,"names":["createImplementation","AfterLoginHandler","IdentityContext","ListRolesUseCase","ListTeamsUseCase","GetUserUseCase","CreateUserUseCase","UpdateUserUseCase","ExternalIdpUserSyncHandlerImpl","constructor","identityContext","getUserUseCase","createUserUseCase","updateUserUseCase","listRolesUseCase","listTeamsUseCase","handle","event","identity","payload","profile","external","withoutAuthorization","getUserResult","execute","id","data","displayName","email","firstName","lastName","roles","teams","roleSlugs","length","listRolesResult","where","slug_in","isOk","value","map","role","teamSlugs","listTeamsResult","team","ExternalIdpUserSyncHandler","abstraction","implementation","dependencies"],"sources":["ExternalIdpUserSyncHandler.ts"],"sourcesContent":["import { createImplementation } from \"@webiny/feature/api\";\nimport { AfterLoginHandler } from \"~/features/security/login/index.js\";\nimport { IdentityContext } from \"~/features/security/IdentityContext/index.js\";\nimport { ListRolesUseCase } from \"~/features/security/roles/ListRoles/index.js\";\nimport { ListTeamsUseCase } from \"~/features/security/teams/ListTeams/index.js\";\nimport { GetUserUseCase } from \"~/features/users/GetUser/index.js\";\nimport { CreateUserUseCase } from \"~/features/users/CreateUser/index.js\";\nimport { UpdateUserUseCase } from \"~/features/users/UpdateUser/index.js\";\n\nclass ExternalIdpUserSyncHandlerImpl implements AfterLoginHandler.Interface {\n constructor(\n private identityContext: IdentityContext.Interface,\n private getUserUseCase: GetUserUseCase.Interface,\n private createUserUseCase: CreateUserUseCase.Interface,\n private updateUserUseCase: UpdateUserUseCase.Interface,\n private listRolesUseCase: ListRolesUseCase.Interface,\n private listTeamsUseCase: ListTeamsUseCase.Interface\n ) {}\n\n async handle(event: AfterLoginHandler.Event): Promise<void> {\n const { identity } = event.payload;\n\n // We only sync external identities\n if (!identity.profile.external) {\n return;\n }\n\n await this.identityContext.withoutAuthorization(async () => {\n // Check if user exists\n const getUserResult = await this.getUserUseCase.execute({ id: identity.id });\n\n // Prepare user data\n const id = identity.id;\n\n const data = {\n displayName: identity.displayName,\n email: identity.profile.email,\n firstName: identity.profile.firstName || \"\",\n lastName: identity.profile.lastName || \"\",\n roles: [] as string[],\n teams: [] as string[],\n external: true\n };\n\n // Resolve roles\n const roleSlugs = identity.roles;\n if (roleSlugs.length > 0) {\n const listRolesResult = await this.listRolesUseCase.execute({\n where: { slug_in: roleSlugs }\n });\n if (listRolesResult.isOk()) {\n data.roles = listRolesResult.value.map(role => role.id);\n }\n }\n\n // Resolve teams\n const teamSlugs = identity.teams;\n if (teamSlugs.length > 0) {\n const listTeamsResult = await this.listTeamsUseCase.execute({\n where: { slug_in: teamSlugs }\n });\n if (listTeamsResult.isOk()) {\n data.teams = listTeamsResult.value.map(team => team.id);\n }\n }\n\n // Update or create user\n if (getUserResult.isOk()) {\n await this.updateUserUseCase.execute(identity.id, data);\n return;\n }\n\n await this.createUserUseCase.execute({ id, ...data });\n });\n }\n}\n\nexport const ExternalIdpUserSyncHandler = createImplementation({\n abstraction: AfterLoginHandler,\n implementation: ExternalIdpUserSyncHandlerImpl,\n dependencies: [\n IdentityContext,\n GetUserUseCase,\n CreateUserUseCase,\n UpdateUserUseCase,\n ListRolesUseCase,\n ListTeamsUseCase\n ]\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["createImplementation","AfterLoginEventHandler","IdentityContext","ListRolesUseCase","ListTeamsUseCase","GetUserUseCase","CreateUserUseCase","UpdateUserUseCase","ExternalIdpUserSyncHandlerImpl","constructor","identityContext","getUserUseCase","createUserUseCase","updateUserUseCase","listRolesUseCase","listTeamsUseCase","handle","event","identity","payload","profile","external","withoutAuthorization","getUserResult","execute","id","data","displayName","email","firstName","lastName","roles","teams","roleSlugs","length","listRolesResult","where","slug_in","isOk","value","map","role","teamSlugs","listTeamsResult","team","ExternalIdpUserSyncHandler","abstraction","implementation","dependencies"],"sources":["ExternalIdpUserSyncHandler.ts"],"sourcesContent":["import { createImplementation } from \"@webiny/feature/api\";\nimport { AfterLoginEventHandler } from \"~/features/security/login/index.js\";\nimport { IdentityContext } from \"~/features/security/IdentityContext/index.js\";\nimport { ListRolesUseCase } from \"~/features/security/roles/ListRoles/index.js\";\nimport { ListTeamsUseCase } from \"~/features/security/teams/ListTeams/index.js\";\nimport { GetUserUseCase } from \"~/features/users/GetUser/index.js\";\nimport { CreateUserUseCase } from \"~/features/users/CreateUser/index.js\";\nimport { UpdateUserUseCase } from \"~/features/users/UpdateUser/index.js\";\n\nclass ExternalIdpUserSyncHandlerImpl implements AfterLoginEventHandler.Interface {\n constructor(\n private identityContext: IdentityContext.Interface,\n private getUserUseCase: GetUserUseCase.Interface,\n private createUserUseCase: CreateUserUseCase.Interface,\n private updateUserUseCase: UpdateUserUseCase.Interface,\n private listRolesUseCase: ListRolesUseCase.Interface,\n private listTeamsUseCase: ListTeamsUseCase.Interface\n ) {}\n\n async handle(event: AfterLoginEventHandler.Event): Promise<void> {\n const { identity } = event.payload;\n\n // We only sync external identities\n if (!identity.profile.external) {\n return;\n }\n\n await this.identityContext.withoutAuthorization(async () => {\n // Check if user exists\n const getUserResult = await this.getUserUseCase.execute({ id: identity.id });\n\n // Prepare user data\n const id = identity.id;\n\n const data = {\n displayName: identity.displayName,\n email: identity.profile.email,\n firstName: identity.profile.firstName || \"\",\n lastName: identity.profile.lastName || \"\",\n roles: [] as string[],\n teams: [] as string[],\n external: true\n };\n\n // Resolve roles\n const roleSlugs = identity.roles;\n if (roleSlugs.length > 0) {\n const listRolesResult = await this.listRolesUseCase.execute({\n where: { slug_in: roleSlugs }\n });\n if (listRolesResult.isOk()) {\n data.roles = listRolesResult.value.map(role => role.id);\n }\n }\n\n // Resolve teams\n const teamSlugs = identity.teams;\n if (teamSlugs.length > 0) {\n const listTeamsResult = await this.listTeamsUseCase.execute({\n where: { slug_in: teamSlugs }\n });\n if (listTeamsResult.isOk()) {\n data.teams = listTeamsResult.value.map(team => team.id);\n }\n }\n\n // Update or create user\n if (getUserResult.isOk()) {\n await this.updateUserUseCase.execute(identity.id, data);\n return;\n }\n\n await this.createUserUseCase.execute({ id, ...data });\n });\n }\n}\n\nexport const ExternalIdpUserSyncHandler = createImplementation({\n abstraction: AfterLoginEventHandler,\n implementation: ExternalIdpUserSyncHandlerImpl,\n dependencies: [\n IdentityContext,\n GetUserUseCase,\n CreateUserUseCase,\n UpdateUserUseCase,\n ListRolesUseCase,\n ListTeamsUseCase\n ]\n});\n"],"mappings":"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","ignoreList":[]}
@@ -5,8 +5,8 @@ export declare class UserBeforeUpdateEvent extends DomainEvent<UserBeforeUpdateP
5
5
  eventType: "user.beforeUpdate";
6
6
  getHandlerAbstraction(): import("@webiny/di").Abstraction<IEventHandler<UserBeforeUpdateEvent>>;
7
7
  }
8
- export declare const UserBeforeUpdateHandler: import("@webiny/di").Abstraction<IEventHandler<UserBeforeUpdateEvent>>;
9
- export declare namespace UserBeforeUpdateHandler {
8
+ export declare const UserBeforeUpdateEventHandler: import("@webiny/di").Abstraction<IEventHandler<UserBeforeUpdateEvent>>;
9
+ export declare namespace UserBeforeUpdateEventHandler {
10
10
  type Interface = IEventHandler<UserBeforeUpdateEvent>;
11
11
  type Event = UserBeforeUpdateEvent;
12
12
  }
@@ -14,8 +14,8 @@ export declare class UserAfterUpdateEvent extends DomainEvent<UserAfterUpdatePay
14
14
  eventType: "user.afterUpdate";
15
15
  getHandlerAbstraction(): import("@webiny/di").Abstraction<IEventHandler<UserAfterUpdateEvent>>;
16
16
  }
17
- export declare const UserAfterUpdateHandler: import("@webiny/di").Abstraction<IEventHandler<UserAfterUpdateEvent>>;
18
- export declare namespace UserAfterUpdateHandler {
17
+ export declare const UserAfterUpdateEventHandler: import("@webiny/di").Abstraction<IEventHandler<UserAfterUpdateEvent>>;
18
+ export declare namespace UserAfterUpdateEventHandler {
19
19
  type Interface = IEventHandler<UserAfterUpdateEvent>;
20
20
  type Event = UserAfterUpdateEvent;
21
21
  }
@@ -4,17 +4,17 @@ import { DomainEvent } from "../../eventPublisher/index.js";
4
4
  export class UserBeforeUpdateEvent extends DomainEvent {
5
5
  eventType = "user.beforeUpdate";
6
6
  getHandlerAbstraction() {
7
- return UserBeforeUpdateHandler;
7
+ return UserBeforeUpdateEventHandler;
8
8
  }
9
9
  }
10
- export const UserBeforeUpdateHandler = createAbstraction("UserBeforeUpdateHandler");
10
+ export const UserBeforeUpdateEventHandler = createAbstraction("UserBeforeUpdateEventHandler");
11
11
  // After Update Event
12
12
  export class UserAfterUpdateEvent extends DomainEvent {
13
13
  eventType = "user.afterUpdate";
14
14
  getHandlerAbstraction() {
15
- return UserAfterUpdateHandler;
15
+ return UserAfterUpdateEventHandler;
16
16
  }
17
17
  }
18
- export const UserAfterUpdateHandler = createAbstraction("UserAfterUpdateHandler");
18
+ export const UserAfterUpdateEventHandler = createAbstraction("UserAfterUpdateEventHandler");
19
19
 
20
20
  //# sourceMappingURL=events.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","DomainEvent","UserBeforeUpdateEvent","eventType","getHandlerAbstraction","UserBeforeUpdateHandler","UserAfterUpdateEvent","UserAfterUpdateHandler"],"sources":["events.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport { DomainEvent } from \"~/features/eventPublisher/index.js\";\nimport type { IEventHandler } from \"~/features/eventPublisher/index.js\";\nimport type { UserBeforeUpdatePayload, UserAfterUpdatePayload } from \"./abstractions.js\";\n\n// Before Update Event\nexport class UserBeforeUpdateEvent extends DomainEvent<UserBeforeUpdatePayload> {\n eventType = \"user.beforeUpdate\" as const;\n\n getHandlerAbstraction() {\n return UserBeforeUpdateHandler;\n }\n}\n\nexport const UserBeforeUpdateHandler =\n createAbstraction<IEventHandler<UserBeforeUpdateEvent>>(\"UserBeforeUpdateHandler\");\n\nexport namespace UserBeforeUpdateHandler {\n export type Interface = IEventHandler<UserBeforeUpdateEvent>;\n export type Event = UserBeforeUpdateEvent;\n}\n\n// After Update Event\nexport class UserAfterUpdateEvent extends DomainEvent<UserAfterUpdatePayload> {\n eventType = \"user.afterUpdate\" as const;\n\n getHandlerAbstraction() {\n return UserAfterUpdateHandler;\n }\n}\n\nexport const UserAfterUpdateHandler =\n createAbstraction<IEventHandler<UserAfterUpdateEvent>>(\"UserAfterUpdateHandler\");\n\nexport namespace UserAfterUpdateHandler {\n export type Interface = IEventHandler<UserAfterUpdateEvent>;\n export type Event = UserAfterUpdateEvent;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AACvD,SAASC,WAAW;AAIpB;AACA,OAAO,MAAMC,qBAAqB,SAASD,WAAW,CAA0B;EAC5EE,SAAS,GAAG,mBAAmB;EAE/BC,qBAAqBA,CAAA,EAAG;IACpB,OAAOC,uBAAuB;EAClC;AACJ;AAEA,OAAO,MAAMA,uBAAuB,GAChCL,iBAAiB,CAAuC,yBAAyB,CAAC;AAOtF;AACA,OAAO,MAAMM,oBAAoB,SAASL,WAAW,CAAyB;EAC1EE,SAAS,GAAG,kBAAkB;EAE9BC,qBAAqBA,CAAA,EAAG;IACpB,OAAOG,sBAAsB;EACjC;AACJ;AAEA,OAAO,MAAMA,sBAAsB,GAC/BP,iBAAiB,CAAsC,wBAAwB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createAbstraction","DomainEvent","UserBeforeUpdateEvent","eventType","getHandlerAbstraction","UserBeforeUpdateEventHandler","UserAfterUpdateEvent","UserAfterUpdateEventHandler"],"sources":["events.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport { DomainEvent } from \"~/features/eventPublisher/index.js\";\nimport type { IEventHandler } from \"~/features/eventPublisher/index.js\";\nimport type { UserBeforeUpdatePayload, UserAfterUpdatePayload } from \"./abstractions.js\";\n\n// Before Update Event\nexport class UserBeforeUpdateEvent extends DomainEvent<UserBeforeUpdatePayload> {\n eventType = \"user.beforeUpdate\" as const;\n\n getHandlerAbstraction() {\n return UserBeforeUpdateEventHandler;\n }\n}\n\nexport const UserBeforeUpdateEventHandler = createAbstraction<IEventHandler<UserBeforeUpdateEvent>>(\n \"UserBeforeUpdateEventHandler\"\n);\n\nexport namespace UserBeforeUpdateEventHandler {\n export type Interface = IEventHandler<UserBeforeUpdateEvent>;\n export type Event = UserBeforeUpdateEvent;\n}\n\n// After Update Event\nexport class UserAfterUpdateEvent extends DomainEvent<UserAfterUpdatePayload> {\n eventType = \"user.afterUpdate\" as const;\n\n getHandlerAbstraction() {\n return UserAfterUpdateEventHandler;\n }\n}\n\nexport const UserAfterUpdateEventHandler = createAbstraction<IEventHandler<UserAfterUpdateEvent>>(\n \"UserAfterUpdateEventHandler\"\n);\n\nexport namespace UserAfterUpdateEventHandler {\n export type Interface = IEventHandler<UserAfterUpdateEvent>;\n export type Event = UserAfterUpdateEvent;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AACvD,SAASC,WAAW;AAIpB;AACA,OAAO,MAAMC,qBAAqB,SAASD,WAAW,CAA0B;EAC5EE,SAAS,GAAG,mBAAmB;EAE/BC,qBAAqBA,CAAA,EAAG;IACpB,OAAOC,4BAA4B;EACvC;AACJ;AAEA,OAAO,MAAMA,4BAA4B,GAAGL,iBAAiB,CACzD,8BACJ,CAAC;AAOD;AACA,OAAO,MAAMM,oBAAoB,SAASL,WAAW,CAAyB;EAC1EE,SAAS,GAAG,kBAAkB;EAE9BC,qBAAqBA,CAAA,EAAG;IACpB,OAAOG,2BAA2B;EACtC;AACJ;AAEA,OAAO,MAAMA,2BAA2B,GAAGP,iBAAiB,CACxD,6BACJ,CAAC","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/api-core",
3
- "version": "6.0.0-rc.5",
3
+ "version": "6.0.0-rc.7",
4
4
  "type": "module",
5
5
  "main": "index.js",
6
6
  "repository": {
@@ -57,17 +57,17 @@
57
57
  },
58
58
  "license": "MIT",
59
59
  "dependencies": {
60
- "@webiny/api": "6.0.0-rc.5",
60
+ "@webiny/api": "6.0.0-rc.7",
61
61
  "@webiny/di": "0.2.3",
62
- "@webiny/error": "6.0.0-rc.5",
63
- "@webiny/feature": "6.0.0-rc.5",
64
- "@webiny/feature-flags": "6.0.0-rc.5",
65
- "@webiny/handler": "6.0.0-rc.5",
66
- "@webiny/handler-db": "6.0.0-rc.5",
67
- "@webiny/handler-graphql": "6.0.0-rc.5",
68
- "@webiny/plugins": "6.0.0-rc.5",
69
- "@webiny/utils": "6.0.0-rc.5",
70
- "@webiny/wcp": "6.0.0-rc.5",
62
+ "@webiny/error": "6.0.0-rc.7",
63
+ "@webiny/feature": "6.0.0-rc.7",
64
+ "@webiny/feature-flags": "6.0.0-rc.7",
65
+ "@webiny/handler": "6.0.0-rc.7",
66
+ "@webiny/handler-db": "6.0.0-rc.7",
67
+ "@webiny/handler-graphql": "6.0.0-rc.7",
68
+ "@webiny/plugins": "6.0.0-rc.7",
69
+ "@webiny/utils": "6.0.0-rc.7",
70
+ "@webiny/wcp": "6.0.0-rc.7",
71
71
  "dataloader": "2.2.3",
72
72
  "jose": "5.10.0",
73
73
  "jsonwebtoken": "9.0.3",
@@ -80,10 +80,10 @@
80
80
  "devDependencies": {
81
81
  "@types/jsonwebtoken": "9.0.10",
82
82
  "@types/md5": "2.3.6",
83
- "@webiny/build-tools": "6.0.0-rc.5",
84
- "@webiny/db-dynamodb": "6.0.0-rc.5",
85
- "@webiny/handler-aws": "6.0.0-rc.5",
86
- "@webiny/project-utils": "6.0.0-rc.5",
83
+ "@webiny/build-tools": "6.0.0-rc.7",
84
+ "@webiny/db-dynamodb": "6.0.0-rc.7",
85
+ "@webiny/handler-aws": "6.0.0-rc.7",
86
+ "@webiny/project-utils": "6.0.0-rc.7",
87
87
  "jest-dynalite": "3.6.1",
88
88
  "rimraf": "6.1.3",
89
89
  "typescript": "5.9.3",
@@ -93,5 +93,5 @@
93
93
  "access": "public",
94
94
  "directory": "dist"
95
95
  },
96
- "gitHead": "8f9b60f1193682a21e037e6f771b19f1dfd65045"
96
+ "gitHead": "9c6892640a45679ff521e25cd6587dff57393a2e"
97
97
  }