@webiny/api-core 6.0.0-rc.4 → 6.0.0-rc.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/exports/api/security/api-key.d.ts +3 -3
- package/exports/api/security/api-key.js +3 -3
- package/exports/api/security/api-key.js.map +1 -1
- package/exports/api/security/authentication.d.ts +1 -1
- package/exports/api/security/authentication.js +1 -1
- package/exports/api/security/authentication.js.map +1 -1
- package/exports/api/security/role.d.ts +3 -3
- package/exports/api/security/role.js +3 -3
- package/exports/api/security/role.js.map +1 -1
- package/exports/api/security/user.d.ts +3 -3
- package/exports/api/security/user.js +3 -3
- package/exports/api/security/user.js.map +1 -1
- package/exports/api/system.d.ts +1 -1
- package/exports/api/system.js +1 -1
- package/exports/api/system.js.map +1 -1
- package/exports/api/tenancy.d.ts +4 -4
- package/exports/api/tenancy.js +4 -4
- package/exports/api/tenancy.js.map +1 -1
- package/features/security/apiKeys/CreateApiKey/events.d.ts +4 -4
- package/features/security/apiKeys/CreateApiKey/events.js +4 -4
- package/features/security/apiKeys/CreateApiKey/events.js.map +1 -1
- package/features/security/apiKeys/DeleteApiKey/events.d.ts +4 -4
- package/features/security/apiKeys/DeleteApiKey/events.js +4 -4
- package/features/security/apiKeys/DeleteApiKey/events.js.map +1 -1
- package/features/security/apiKeys/UpdateApiKey/events.d.ts +4 -4
- package/features/security/apiKeys/UpdateApiKey/events.js +4 -4
- package/features/security/apiKeys/UpdateApiKey/events.js.map +1 -1
- package/features/security/authentication/AuthenticationContext/SetIdTokenCookie.d.ts +2 -2
- package/features/security/authentication/AuthenticationContext/SetIdTokenCookie.js +2 -2
- package/features/security/authentication/AuthenticationContext/SetIdTokenCookie.js.map +1 -1
- package/features/security/authentication/AuthenticationContext/events.d.ts +4 -4
- package/features/security/authentication/AuthenticationContext/events.js +4 -4
- package/features/security/authentication/AuthenticationContext/events.js.map +1 -1
- package/features/security/login/abstractions.d.ts +2 -2
- package/features/security/login/abstractions.js +2 -2
- package/features/security/login/abstractions.js.map +1 -1
- package/features/security/roles/CreateRole/events.d.ts +4 -4
- package/features/security/roles/CreateRole/events.js +4 -4
- package/features/security/roles/CreateRole/events.js.map +1 -1
- package/features/security/roles/DeleteRole/events.d.ts +4 -4
- package/features/security/roles/DeleteRole/events.js +4 -4
- package/features/security/roles/DeleteRole/events.js.map +1 -1
- package/features/security/roles/UpdateRole/events.d.ts +4 -4
- package/features/security/roles/UpdateRole/events.js +4 -4
- package/features/security/roles/UpdateRole/events.js.map +1 -1
- package/features/security/teams/CreateTeam/events.d.ts +4 -4
- package/features/security/teams/CreateTeam/events.js +4 -4
- package/features/security/teams/CreateTeam/events.js.map +1 -1
- package/features/security/teams/CreateTeam/index.d.ts +1 -1
- package/features/security/teams/CreateTeam/index.js +1 -1
- package/features/security/teams/CreateTeam/index.js.map +1 -1
- package/features/security/teams/DeleteTeam/events.d.ts +4 -4
- package/features/security/teams/DeleteTeam/events.js +4 -4
- package/features/security/teams/DeleteTeam/events.js.map +1 -1
- package/features/security/teams/UpdateTeam/events.d.ts +4 -4
- package/features/security/teams/UpdateTeam/events.js +4 -4
- package/features/security/teams/UpdateTeam/events.js.map +1 -1
- package/features/system/InstallSystem/abstractions.d.ts +2 -2
- package/features/system/InstallSystem/abstractions.js +1 -1
- package/features/system/InstallSystem/abstractions.js.map +1 -1
- package/features/system/InstallSystem/events.js +2 -2
- package/features/system/InstallSystem/events.js.map +1 -1
- package/features/system/InstallSystem/index.d.ts +1 -1
- package/features/system/InstallSystem/index.js +1 -1
- package/features/system/InstallSystem/index.js.map +1 -1
- package/features/tenancy/CreateTenant/abstractions.d.ts +4 -4
- package/features/tenancy/CreateTenant/abstractions.js +2 -2
- package/features/tenancy/CreateTenant/abstractions.js.map +1 -1
- package/features/tenancy/CreateTenant/events.js +3 -3
- package/features/tenancy/CreateTenant/events.js.map +1 -1
- package/features/tenancy/CreateTenant/index.d.ts +1 -1
- package/features/tenancy/CreateTenant/index.js +1 -1
- package/features/tenancy/CreateTenant/index.js.map +1 -1
- package/features/tenancy/DeleteTenant/abstractions.d.ts +4 -4
- package/features/tenancy/DeleteTenant/abstractions.js +2 -2
- package/features/tenancy/DeleteTenant/abstractions.js.map +1 -1
- package/features/tenancy/DeleteTenant/events.js +3 -3
- package/features/tenancy/DeleteTenant/events.js.map +1 -1
- package/features/tenancy/DeleteTenant/index.d.ts +1 -1
- package/features/tenancy/DeleteTenant/index.js +1 -1
- package/features/tenancy/DeleteTenant/index.js.map +1 -1
- package/features/tenancy/InstallTenant/abstractions.d.ts +2 -2
- package/features/tenancy/InstallTenant/abstractions.js +1 -1
- package/features/tenancy/InstallTenant/abstractions.js.map +1 -1
- package/features/tenancy/InstallTenant/events.js +2 -2
- package/features/tenancy/InstallTenant/events.js.map +1 -1
- package/features/tenancy/InstallTenant/index.d.ts +1 -1
- package/features/tenancy/InstallTenant/index.js +1 -1
- package/features/tenancy/InstallTenant/index.js.map +1 -1
- package/features/tenancy/UpdateTenant/abstractions.d.ts +4 -4
- package/features/tenancy/UpdateTenant/abstractions.js +2 -2
- package/features/tenancy/UpdateTenant/abstractions.js.map +1 -1
- package/features/tenancy/UpdateTenant/events.js +3 -3
- package/features/tenancy/UpdateTenant/events.js.map +1 -1
- package/features/tenancy/UpdateTenant/index.d.ts +1 -1
- package/features/tenancy/UpdateTenant/index.js +1 -1
- package/features/tenancy/UpdateTenant/index.js.map +1 -1
- package/features/users/CreateUser/events.d.ts +4 -4
- package/features/users/CreateUser/events.js +4 -4
- package/features/users/CreateUser/events.js.map +1 -1
- package/features/users/DeleteUser/events.d.ts +4 -4
- package/features/users/DeleteUser/events.js +4 -4
- package/features/users/DeleteUser/events.js.map +1 -1
- package/features/users/ExternalIdpUserSync/ExternalIdpUserSyncHandler.d.ts +3 -3
- package/features/users/ExternalIdpUserSync/ExternalIdpUserSyncHandler.js +2 -2
- package/features/users/ExternalIdpUserSync/ExternalIdpUserSyncHandler.js.map +1 -1
- package/features/users/UpdateUser/events.d.ts +4 -4
- package/features/users/UpdateUser/events.js +4 -4
- package/features/users/UpdateUser/events.js.map +1 -1
- package/package.json +16 -16
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DomainEvent","
|
|
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,
|
|
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,
|
|
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","
|
|
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
|
|
63
|
-
export declare namespace
|
|
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
|
|
25
|
+
export const TenantInstalledEventHandler = createAbstraction("TenantInstalledEventHandler");
|
|
26
26
|
|
|
27
27
|
//# sourceMappingURL=abstractions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createAbstraction","AppInstaller","InstallTenantUseCase","
|
|
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 {
|
|
2
|
+
import { TenantInstalledEventHandler } from "./abstractions.js";
|
|
3
3
|
export class TenantInstalledEvent extends DomainEvent {
|
|
4
4
|
eventType = "tenant.installed";
|
|
5
5
|
getHandlerAbstraction() {
|
|
6
|
-
return
|
|
6
|
+
return TenantInstalledEventHandler;
|
|
7
7
|
}
|
|
8
8
|
}
|
|
9
9
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DomainEvent","
|
|
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,
|
|
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,
|
|
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","
|
|
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
|
|
33
|
-
export declare namespace
|
|
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
|
|
38
|
-
export declare namespace
|
|
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
|
|
6
|
-
export const
|
|
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","
|
|
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 {
|
|
2
|
+
import { TenantBeforeUpdateEventHandler, TenantAfterUpdateEventHandler } from "./abstractions.js";
|
|
3
3
|
export class TenantBeforeUpdateEvent extends DomainEvent {
|
|
4
4
|
eventType = "tenant.beforeUpdate";
|
|
5
5
|
getHandlerAbstraction() {
|
|
6
|
-
return
|
|
6
|
+
return TenantBeforeUpdateEventHandler;
|
|
7
7
|
}
|
|
8
8
|
}
|
|
9
9
|
export class TenantAfterUpdateEvent extends DomainEvent {
|
|
10
10
|
eventType = "tenant.afterUpdate";
|
|
11
11
|
getHandlerAbstraction() {
|
|
12
|
-
return
|
|
12
|
+
return TenantAfterUpdateEventHandler;
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
15
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DomainEvent","
|
|
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,
|
|
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,
|
|
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","
|
|
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
|
|
9
|
-
export declare namespace
|
|
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
|
|
18
|
-
export declare namespace
|
|
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
|
|
7
|
+
return UserBeforeCreateEventHandler;
|
|
8
8
|
}
|
|
9
9
|
}
|
|
10
|
-
export const
|
|
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
|
|
15
|
+
return UserAfterCreateEventHandler;
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
|
-
export const
|
|
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","
|
|
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
|
|
9
|
-
export declare namespace
|
|
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
|
|
18
|
-
export declare namespace
|
|
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
|
|
7
|
+
return UserBeforeDeleteEventHandler;
|
|
8
8
|
}
|
|
9
9
|
}
|
|
10
|
-
export const
|
|
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
|
|
15
|
+
return UserAfterDeleteEventHandler;
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
|
-
export const
|
|
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","
|
|
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 {
|
|
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
|
|
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:
|
|
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 {
|
|
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:
|
|
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","
|
|
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":"AAAA,SAASA,oBAAoB,QAAQ,qBAAqB;AAC1D,SAASC,sBAAsB;AAC/B,SAASC,eAAe;AACxB,SAASC,gBAAgB;AACzB,SAASC,gBAAgB;AACzB,SAASC,cAAc;AACvB,SAASC,iBAAiB;AAC1B,SAASC,iBAAiB;AAE1B,MAAMC,8BAA8B,CAA6C;EAC7EC,WAAWA,CACCC,eAA0C,EAC1CC,cAAwC,EACxCC,iBAA8C,EAC9CC,iBAA8C,EAC9CC,gBAA4C,EAC5CC,gBAA4C,EACtD;IAAA,KANUL,eAA0C,GAA1CA,eAA0C;IAAA,KAC1CC,cAAwC,GAAxCA,cAAwC;IAAA,KACxCC,iBAA8C,GAA9CA,iBAA8C;IAAA,KAC9CC,iBAA8C,GAA9CA,iBAA8C;IAAA,KAC9CC,gBAA4C,GAA5CA,gBAA4C;IAAA,KAC5CC,gBAA4C,GAA5CA,gBAA4C;EACrD;EAEH,MAAMC,MAAMA,CAACC,KAAmC,EAAiB;IAC7D,MAAM;MAAEC;IAAS,CAAC,GAAGD,KAAK,CAACE,OAAO;;IAElC;IACA,IAAI,CAACD,QAAQ,CAACE,OAAO,CAACC,QAAQ,EAAE;MAC5B;IACJ;IAEA,MAAM,IAAI,CAACX,eAAe,CAACY,oBAAoB,CAAC,YAAY;MACxD;MACA,MAAMC,aAAa,GAAG,MAAM,IAAI,CAACZ,cAAc,CAACa,OAAO,CAAC;QAAEC,EAAE,EAAEP,QAAQ,CAACO;MAAG,CAAC,CAAC;;MAE5E;MACA,MAAMA,EAAE,GAAGP,QAAQ,CAACO,EAAE;MAEtB,MAAMC,IAAI,GAAG;QACTC,WAAW,EAAET,QAAQ,CAACS,WAAW;QACjCC,KAAK,EAAEV,QAAQ,CAACE,OAAO,CAACQ,KAAK;QAC7BC,SAAS,EAAEX,QAAQ,CAACE,OAAO,CAACS,SAAS,IAAI,EAAE;QAC3CC,QAAQ,EAAEZ,QAAQ,CAACE,OAAO,CAACU,QAAQ,IAAI,EAAE;QACzCC,KAAK,EAAE,EAAc;QACrBC,KAAK,EAAE,EAAc;QACrBX,QAAQ,EAAE;MACd,CAAC;;MAED;MACA,MAAMY,SAAS,GAAGf,QAAQ,CAACa,KAAK;MAChC,IAAIE,SAAS,CAACC,MAAM,GAAG,CAAC,EAAE;QACtB,MAAMC,eAAe,GAAG,MAAM,IAAI,CAACrB,gBAAgB,CAACU,OAAO,CAAC;UACxDY,KAAK,EAAE;YAAEC,OAAO,EAAEJ;UAAU;QAChC,CAAC,CAAC;QACF,IAAIE,eAAe,CAACG,IAAI,CAAC,CAAC,EAAE;UACxBZ,IAAI,CAACK,KAAK,GAAGI,eAAe,CAACI,KAAK,CAACC,GAAG,CAACC,IAAI,IAAIA,IAAI,CAAChB,EAAE,CAAC;QAC3D;MACJ;;MAEA;MACA,MAAMiB,SAAS,GAAGxB,QAAQ,CAACc,KAAK;MAChC,IAAIU,SAAS,CAACR,MAAM,GAAG,CAAC,EAAE;QACtB,MAAMS,eAAe,GAAG,MAAM,IAAI,CAAC5B,gBAAgB,CAACS,OAAO,CAAC;UACxDY,KAAK,EAAE;YAAEC,OAAO,EAAEK;UAAU;QAChC,CAAC,CAAC;QACF,IAAIC,eAAe,CAACL,IAAI,CAAC,CAAC,EAAE;UACxBZ,IAAI,CAACM,KAAK,GAAGW,eAAe,CAACJ,KAAK,CAACC,GAAG,CAACI,IAAI,IAAIA,IAAI,CAACnB,EAAE,CAAC;QAC3D;MACJ;;MAEA;MACA,IAAIF,aAAa,CAACe,IAAI,CAAC,CAAC,EAAE;QACtB,MAAM,IAAI,CAACzB,iBAAiB,CAACW,OAAO,CAACN,QAAQ,CAACO,EAAE,EAAEC,IAAI,CAAC;QACvD;MACJ;MAEA,MAAM,IAAI,CAACd,iBAAiB,CAACY,OAAO,CAAC;QAAEC,EAAE;QAAE,GAAGC;MAAK,CAAC,CAAC;IACzD,CAAC,CAAC;EACN;AACJ;AAEA,OAAO,MAAMmB,0BAA0B,GAAG7C,oBAAoB,CAAC;EAC3D8C,WAAW,EAAE7C,sBAAsB;EACnC8C,cAAc,EAAEvC,8BAA8B;EAC9CwC,YAAY,EAAE,CACV9C,eAAe,EACfG,cAAc,EACdC,iBAAiB,EACjBC,iBAAiB,EACjBJ,gBAAgB,EAChBC,gBAAgB;AAExB,CAAC,CAAC","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
|
|
9
|
-
export declare namespace
|
|
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
|
|
18
|
-
export declare namespace
|
|
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
|
|
7
|
+
return UserBeforeUpdateEventHandler;
|
|
8
8
|
}
|
|
9
9
|
}
|
|
10
|
-
export const
|
|
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
|
|
15
|
+
return UserAfterUpdateEventHandler;
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
|
-
export const
|
|
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","
|
|
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.
|
|
3
|
+
"version": "6.0.0-rc.6",
|
|
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.
|
|
60
|
+
"@webiny/api": "6.0.0-rc.6",
|
|
61
61
|
"@webiny/di": "0.2.3",
|
|
62
|
-
"@webiny/error": "6.0.0-rc.
|
|
63
|
-
"@webiny/feature": "6.0.0-rc.
|
|
64
|
-
"@webiny/feature-flags": "6.0.0-rc.
|
|
65
|
-
"@webiny/handler": "6.0.0-rc.
|
|
66
|
-
"@webiny/handler-db": "6.0.0-rc.
|
|
67
|
-
"@webiny/handler-graphql": "6.0.0-rc.
|
|
68
|
-
"@webiny/plugins": "6.0.0-rc.
|
|
69
|
-
"@webiny/utils": "6.0.0-rc.
|
|
70
|
-
"@webiny/wcp": "6.0.0-rc.
|
|
62
|
+
"@webiny/error": "6.0.0-rc.6",
|
|
63
|
+
"@webiny/feature": "6.0.0-rc.6",
|
|
64
|
+
"@webiny/feature-flags": "6.0.0-rc.6",
|
|
65
|
+
"@webiny/handler": "6.0.0-rc.6",
|
|
66
|
+
"@webiny/handler-db": "6.0.0-rc.6",
|
|
67
|
+
"@webiny/handler-graphql": "6.0.0-rc.6",
|
|
68
|
+
"@webiny/plugins": "6.0.0-rc.6",
|
|
69
|
+
"@webiny/utils": "6.0.0-rc.6",
|
|
70
|
+
"@webiny/wcp": "6.0.0-rc.6",
|
|
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.
|
|
84
|
-
"@webiny/db-dynamodb": "6.0.0-rc.
|
|
85
|
-
"@webiny/handler-aws": "6.0.0-rc.
|
|
86
|
-
"@webiny/project-utils": "6.0.0-rc.
|
|
83
|
+
"@webiny/build-tools": "6.0.0-rc.6",
|
|
84
|
+
"@webiny/db-dynamodb": "6.0.0-rc.6",
|
|
85
|
+
"@webiny/handler-aws": "6.0.0-rc.6",
|
|
86
|
+
"@webiny/project-utils": "6.0.0-rc.6",
|
|
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": "
|
|
96
|
+
"gitHead": "a2a076532809feabf674a6873464f09071d86c72"
|
|
97
97
|
}
|