@webiny/tenant-manager 0.0.0-unstable.0d717d18dd
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/LICENSE +36 -0
- package/README.md +11 -0
- package/TenantManager.d.ts +2 -0
- package/TenantManager.js +11 -0
- package/TenantManager.js.map +1 -0
- package/admin/CurrentTenant/CurrentTenant.d.ts +10 -0
- package/admin/CurrentTenant/CurrentTenant.js +25 -0
- package/admin/CurrentTenant/CurrentTenant.js.map +1 -0
- package/admin/CurrentTenant/CurrentTenantGateway.d.ts +12 -0
- package/admin/CurrentTenant/CurrentTenantGateway.js +43 -0
- package/admin/CurrentTenant/CurrentTenantGateway.js.map +1 -0
- package/admin/CurrentTenant/CurrentTenantPresenter.d.ts +12 -0
- package/admin/CurrentTenant/CurrentTenantPresenter.js +33 -0
- package/admin/CurrentTenant/CurrentTenantPresenter.js.map +1 -0
- package/admin/CurrentTenant/CurrentTenantRepository.d.ts +15 -0
- package/admin/CurrentTenant/CurrentTenantRepository.js +38 -0
- package/admin/CurrentTenant/CurrentTenantRepository.js.map +1 -0
- package/admin/CurrentTenant/abstractions.d.ts +31 -0
- package/admin/CurrentTenant/abstractions.js +7 -0
- package/admin/CurrentTenant/abstractions.js.map +1 -0
- package/admin/CurrentTenant/feature.d.ts +3 -0
- package/admin/CurrentTenant/feature.js +21 -0
- package/admin/CurrentTenant/feature.js.map +1 -0
- package/admin/CurrentTenant/useCurrentTenant.d.ts +4 -0
- package/admin/CurrentTenant/useCurrentTenant.js +18 -0
- package/admin/CurrentTenant/useCurrentTenant.js.map +1 -0
- package/admin/CurrentTenantProvider.d.ts +2 -0
- package/admin/CurrentTenantProvider.js +9 -0
- package/admin/CurrentTenantProvider.js.map +1 -0
- package/admin/DisableTenant/DisableTenantGateway.d.ts +11 -0
- package/admin/DisableTenant/DisableTenantGateway.js +42 -0
- package/admin/DisableTenant/DisableTenantGateway.js.map +1 -0
- package/admin/DisableTenant/DisableTenantRepository.d.ts +12 -0
- package/admin/DisableTenant/DisableTenantRepository.js +33 -0
- package/admin/DisableTenant/DisableTenantRepository.js.map +1 -0
- package/admin/DisableTenant/DisableTenantUseCase.d.ts +10 -0
- package/admin/DisableTenant/DisableTenantUseCase.js +18 -0
- package/admin/DisableTenant/DisableTenantUseCase.js.map +1 -0
- package/admin/DisableTenant/abstractions.d.ts +21 -0
- package/admin/DisableTenant/abstractions.js +7 -0
- package/admin/DisableTenant/abstractions.js.map +1 -0
- package/admin/DisableTenant/feature.d.ts +3 -0
- package/admin/DisableTenant/feature.js +21 -0
- package/admin/DisableTenant/feature.js.map +1 -0
- package/admin/DisableTenant/index.d.ts +2 -0
- package/admin/DisableTenant/index.js +2 -0
- package/admin/DisableTenant/useDisableTenant.d.ts +4 -0
- package/admin/DisableTenant/useDisableTenant.js +18 -0
- package/admin/DisableTenant/useDisableTenant.js.map +1 -0
- package/admin/EnableTenant/EnableTenantGateway.d.ts +11 -0
- package/admin/EnableTenant/EnableTenantGateway.js +42 -0
- package/admin/EnableTenant/EnableTenantGateway.js.map +1 -0
- package/admin/EnableTenant/EnableTenantRepository.d.ts +12 -0
- package/admin/EnableTenant/EnableTenantRepository.js +33 -0
- package/admin/EnableTenant/EnableTenantRepository.js.map +1 -0
- package/admin/EnableTenant/EnableTenantUseCase.d.ts +10 -0
- package/admin/EnableTenant/EnableTenantUseCase.js +18 -0
- package/admin/EnableTenant/EnableTenantUseCase.js.map +1 -0
- package/admin/EnableTenant/abstractions.d.ts +21 -0
- package/admin/EnableTenant/abstractions.js +7 -0
- package/admin/EnableTenant/abstractions.js.map +1 -0
- package/admin/EnableTenant/feature.d.ts +3 -0
- package/admin/EnableTenant/feature.js +21 -0
- package/admin/EnableTenant/feature.js.map +1 -0
- package/admin/EnableTenant/index.d.ts +2 -0
- package/admin/EnableTenant/index.js +2 -0
- package/admin/EnableTenant/useEnableTenant.d.ts +4 -0
- package/admin/EnableTenant/useEnableTenant.js +24 -0
- package/admin/EnableTenant/useEnableTenant.js.map +1 -0
- package/admin/Extension.d.ts +2 -0
- package/admin/Extension.js +49 -0
- package/admin/Extension.js.map +1 -0
- package/admin/InstallTenant/InstallTenantGateway.d.ts +11 -0
- package/admin/InstallTenant/InstallTenantGateway.js +42 -0
- package/admin/InstallTenant/InstallTenantGateway.js.map +1 -0
- package/admin/InstallTenant/InstallTenantRepository.d.ts +12 -0
- package/admin/InstallTenant/InstallTenantRepository.js +34 -0
- package/admin/InstallTenant/InstallTenantRepository.js.map +1 -0
- package/admin/InstallTenant/InstallTenantUseCase.d.ts +10 -0
- package/admin/InstallTenant/InstallTenantUseCase.js +18 -0
- package/admin/InstallTenant/InstallTenantUseCase.js.map +1 -0
- package/admin/InstallTenant/abstractions.d.ts +21 -0
- package/admin/InstallTenant/abstractions.js +7 -0
- package/admin/InstallTenant/abstractions.js.map +1 -0
- package/admin/InstallTenant/feature.d.ts +3 -0
- package/admin/InstallTenant/feature.js +21 -0
- package/admin/InstallTenant/feature.js.map +1 -0
- package/admin/InstallTenant/index.d.ts +2 -0
- package/admin/InstallTenant/index.js +2 -0
- package/admin/InstallTenant/useInstallTenant.d.ts +4 -0
- package/admin/InstallTenant/useInstallTenant.js +24 -0
- package/admin/InstallTenant/useInstallTenant.js.map +1 -0
- package/admin/IsRootTenant.d.ts +13 -0
- package/admin/IsRootTenant.js +19 -0
- package/admin/IsRootTenant.js.map +1 -0
- package/admin/SecurityPermission.d.ts +2 -0
- package/admin/SecurityPermission.js +15 -0
- package/admin/SecurityPermission.js.map +1 -0
- package/admin/TenantEntryList/DisableTenant/useDisableTenantDialog.d.ts +8 -0
- package/admin/TenantEntryList/DisableTenant/useDisableTenantDialog.js +41 -0
- package/admin/TenantEntryList/DisableTenant/useDisableTenantDialog.js.map +1 -0
- package/admin/TenantEntryList/EnableTenant/EnableTenant.d.ts +7 -0
- package/admin/TenantEntryList/EnableTenant/EnableTenant.js +15 -0
- package/admin/TenantEntryList/EnableTenant/EnableTenant.js.map +1 -0
- package/admin/TenantEntryList/EnableTenant/useEnableTenant.d.ts +5 -0
- package/admin/TenantEntryList/EnableTenant/useEnableTenant.js +31 -0
- package/admin/TenantEntryList/EnableTenant/useEnableTenant.js.map +1 -0
- package/admin/TenantEntryList/FolderNameCell.d.ts +7 -0
- package/admin/TenantEntryList/FolderNameCell.js +24 -0
- package/admin/TenantEntryList/FolderNameCell.js.map +1 -0
- package/admin/TenantEntryList/InstallTenantButton/InstallTenant.d.ts +7 -0
- package/admin/TenantEntryList/InstallTenantButton/InstallTenant.js +15 -0
- package/admin/TenantEntryList/InstallTenantButton/InstallTenant.js.map +1 -0
- package/admin/TenantEntryList/InstallTenantButton/useInstallTenant.d.ts +5 -0
- package/admin/TenantEntryList/InstallTenantButton/useInstallTenant.js +31 -0
- package/admin/TenantEntryList/InstallTenantButton/useInstallTenant.js.map +1 -0
- package/admin/TenantEntryList/ManageTenant.d.ts +7 -0
- package/admin/TenantEntryList/ManageTenant.js +19 -0
- package/admin/TenantEntryList/ManageTenant.js.map +1 -0
- package/admin/TenantEntryList/TenantCell.d.ts +2 -0
- package/admin/TenantEntryList/TenantCell.js +24 -0
- package/admin/TenantEntryList/TenantCell.js.map +1 -0
- package/admin/TenantEntryList/TenantNameCell.d.ts +2 -0
- package/admin/TenantEntryList/TenantNameCell.js +51 -0
- package/admin/TenantEntryList/TenantNameCell.js.map +1 -0
- package/admin/TenantEntryList.d.ts +2 -0
- package/admin/TenantEntryList.js +59 -0
- package/admin/TenantEntryList.js.map +1 -0
- package/admin/TenantSelector.d.ts +2 -0
- package/admin/TenantSelector.js +35 -0
- package/admin/TenantSelector.js.map +1 -0
- package/admin/domain/permissionsSchema.d.ts +4 -0
- package/admin/domain/permissionsSchema.js +8 -0
- package/admin/domain/permissionsSchema.js.map +1 -0
- package/admin/features/permissions/abstractions.d.ts +17 -0
- package/admin/features/permissions/abstractions.js +6 -0
- package/admin/features/permissions/abstractions.js.map +1 -0
- package/admin/features/permissions/feature.d.ts +14 -0
- package/admin/features/permissions/feature.js +7 -0
- package/admin/features/permissions/feature.js.map +1 -0
- package/admin/types.d.ts +7 -0
- package/admin/types.js +0 -0
- package/api/Extension.d.ts +4 -0
- package/api/Extension.js +39 -0
- package/api/Extension.js.map +1 -0
- package/api/domain/TenantId.d.ts +3 -0
- package/api/domain/TenantId.js +10 -0
- package/api/domain/TenantId.js.map +1 -0
- package/api/domain/TenantModel.d.ts +11 -0
- package/api/domain/TenantModel.js +68 -0
- package/api/domain/TenantModel.js.map +1 -0
- package/api/domain/TenantModelExtension.d.ts +11 -0
- package/api/domain/TenantModelExtension.js +5 -0
- package/api/domain/TenantModelExtension.js.map +1 -0
- package/api/domain/errors.d.ts +33 -0
- package/api/domain/errors.js +58 -0
- package/api/domain/errors.js.map +1 -0
- package/api/features/AddCmsPermissions/AddCmsPermissions.d.ts +8 -0
- package/api/features/AddCmsPermissions/AddCmsPermissions.js +48 -0
- package/api/features/AddCmsPermissions/AddCmsPermissions.js.map +1 -0
- package/api/features/AddCmsPermissions/feature.d.ts +4 -0
- package/api/features/AddCmsPermissions/feature.js +11 -0
- package/api/features/AddCmsPermissions/feature.js.map +1 -0
- package/api/features/CreateAndInstallTenant/CreateAndInstallTenantUseCase.d.ts +24 -0
- package/api/features/CreateAndInstallTenant/CreateAndInstallTenantUseCase.js +81 -0
- package/api/features/CreateAndInstallTenant/CreateAndInstallTenantUseCase.js.map +1 -0
- package/api/features/CreateAndInstallTenant/abstractions.d.ts +26 -0
- package/api/features/CreateAndInstallTenant/abstractions.js +5 -0
- package/api/features/CreateAndInstallTenant/abstractions.js.map +1 -0
- package/api/features/CreateAndInstallTenant/feature.d.ts +4 -0
- package/api/features/CreateAndInstallTenant/feature.js +11 -0
- package/api/features/CreateAndInstallTenant/feature.js.map +1 -0
- package/api/features/CreateTenant/CreateTenantRepository.d.ts +15 -0
- package/api/features/CreateTenant/CreateTenantRepository.js +43 -0
- package/api/features/CreateTenant/CreateTenantRepository.js.map +1 -0
- package/api/features/CreateTenant/CreateTenantUseCase.d.ts +14 -0
- package/api/features/CreateTenant/CreateTenantUseCase.js +40 -0
- package/api/features/CreateTenant/CreateTenantUseCase.js.map +1 -0
- package/api/features/CreateTenant/abstractions.d.ts +41 -0
- package/api/features/CreateTenant/abstractions.js +6 -0
- package/api/features/CreateTenant/abstractions.js.map +1 -0
- package/api/features/CreateTenant/feature.d.ts +4 -0
- package/api/features/CreateTenant/feature.js +13 -0
- package/api/features/CreateTenant/feature.js.map +1 -0
- package/api/features/DeleteTenantOnEntryDelete/DeleteTenantOnEntryDeleteHandler.d.ts +11 -0
- package/api/features/DeleteTenantOnEntryDelete/DeleteTenantOnEntryDeleteHandler.js +27 -0
- package/api/features/DeleteTenantOnEntryDelete/DeleteTenantOnEntryDeleteHandler.js.map +1 -0
- package/api/features/DeleteTenantOnEntryDelete/feature.d.ts +4 -0
- package/api/features/DeleteTenantOnEntryDelete/feature.js +11 -0
- package/api/features/DeleteTenantOnEntryDelete/feature.js.map +1 -0
- package/api/features/DisableTenant/DisableTenantUseCase.d.ts +20 -0
- package/api/features/DisableTenant/DisableTenantUseCase.js +53 -0
- package/api/features/DisableTenant/DisableTenantUseCase.js.map +1 -0
- package/api/features/DisableTenant/abstractions.d.ts +19 -0
- package/api/features/DisableTenant/abstractions.js +5 -0
- package/api/features/DisableTenant/abstractions.js.map +1 -0
- package/api/features/DisableTenant/events.d.ts +27 -0
- package/api/features/DisableTenant/events.js +23 -0
- package/api/features/DisableTenant/events.js.map +1 -0
- package/api/features/DisableTenant/feature.d.ts +4 -0
- package/api/features/DisableTenant/feature.js +11 -0
- package/api/features/DisableTenant/feature.js.map +1 -0
- package/api/features/EnableTenant/EnableTenantUseCase.d.ts +20 -0
- package/api/features/EnableTenant/EnableTenantUseCase.js +55 -0
- package/api/features/EnableTenant/EnableTenantUseCase.js.map +1 -0
- package/api/features/EnableTenant/abstractions.d.ts +19 -0
- package/api/features/EnableTenant/abstractions.js +5 -0
- package/api/features/EnableTenant/abstractions.js.map +1 -0
- package/api/features/EnableTenant/events.d.ts +27 -0
- package/api/features/EnableTenant/events.js +23 -0
- package/api/features/EnableTenant/events.js.map +1 -0
- package/api/features/EnableTenant/feature.d.ts +4 -0
- package/api/features/EnableTenant/feature.js +11 -0
- package/api/features/EnableTenant/feature.js.map +1 -0
- package/api/features/GetCurrentTenant/GetCurrentTenantUseCase.d.ts +17 -0
- package/api/features/GetCurrentTenant/GetCurrentTenantUseCase.js +32 -0
- package/api/features/GetCurrentTenant/GetCurrentTenantUseCase.js.map +1 -0
- package/api/features/GetCurrentTenant/abstractions.d.ts +24 -0
- package/api/features/GetCurrentTenant/abstractions.js +5 -0
- package/api/features/GetCurrentTenant/abstractions.js.map +1 -0
- package/api/features/GetCurrentTenant/feature.d.ts +4 -0
- package/api/features/GetCurrentTenant/feature.js +11 -0
- package/api/features/GetCurrentTenant/feature.js.map +1 -0
- package/api/features/GetTenantById/GetTenantByIdRepository.d.ts +17 -0
- package/api/features/GetTenantById/GetTenantByIdRepository.js +44 -0
- package/api/features/GetTenantById/GetTenantByIdRepository.js.map +1 -0
- package/api/features/GetTenantById/GetTenantByIdUseCase.d.ts +12 -0
- package/api/features/GetTenantById/GetTenantByIdUseCase.js +23 -0
- package/api/features/GetTenantById/GetTenantByIdUseCase.js.map +1 -0
- package/api/features/GetTenantById/abstractions.d.ts +38 -0
- package/api/features/GetTenantById/abstractions.js +6 -0
- package/api/features/GetTenantById/abstractions.js.map +1 -0
- package/api/features/GetTenantById/feature.d.ts +4 -0
- package/api/features/GetTenantById/feature.js +13 -0
- package/api/features/GetTenantById/feature.js.map +1 -0
- package/api/features/UpdateTenant/UpdateTenantRepository.d.ts +17 -0
- package/api/features/UpdateTenant/UpdateTenantRepository.js +51 -0
- package/api/features/UpdateTenant/UpdateTenantRepository.js.map +1 -0
- package/api/features/UpdateTenant/UpdateTenantUseCase.d.ts +12 -0
- package/api/features/UpdateTenant/UpdateTenantUseCase.js +21 -0
- package/api/features/UpdateTenant/UpdateTenantUseCase.js.map +1 -0
- package/api/features/UpdateTenant/abstractions.d.ts +39 -0
- package/api/features/UpdateTenant/abstractions.js +6 -0
- package/api/features/UpdateTenant/abstractions.js.map +1 -0
- package/api/features/UpdateTenant/feature.d.ts +4 -0
- package/api/features/UpdateTenant/feature.js +13 -0
- package/api/features/UpdateTenant/feature.js.map +1 -0
- package/api/graphql/CreateTenantSchema.d.ts +16 -0
- package/api/graphql/CreateTenantSchema.js +83 -0
- package/api/graphql/CreateTenantSchema.js.map +1 -0
- package/api/graphql/DisableTenantSchema.d.ts +8 -0
- package/api/graphql/DisableTenantSchema.js +31 -0
- package/api/graphql/DisableTenantSchema.js.map +1 -0
- package/api/graphql/EnableTenantSchema.d.ts +8 -0
- package/api/graphql/EnableTenantSchema.js +31 -0
- package/api/graphql/EnableTenantSchema.js.map +1 -0
- package/api/graphql/GetCurrentTenantSchema.d.ts +8 -0
- package/api/graphql/GetCurrentTenantSchema.js +49 -0
- package/api/graphql/GetCurrentTenantSchema.js.map +1 -0
- package/api/graphql/InstallTenantSchema.d.ts +8 -0
- package/api/graphql/InstallTenantSchema.js +43 -0
- package/api/graphql/InstallTenantSchema.js.map +1 -0
- package/exports/admin/tenancy.d.ts +7 -0
- package/exports/admin/tenancy.js +4 -0
- package/exports/api/tenant-manager.d.ts +9 -0
- package/exports/api/tenant-manager.js +8 -0
- package/index.d.ts +1 -0
- package/index.js +1 -0
- package/package.json +46 -0
- package/shared/Tenant.d.ts +21 -0
- package/shared/Tenant.js +27 -0
- package/shared/Tenant.js.map +1 -0
- package/shared/constants.d.ts +1 -0
- package/shared/constants.js +4 -0
- package/shared/constants.js.map +1 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/admin";
|
|
2
|
+
import { DisableTenantUseCase } from "./abstractions.js";
|
|
3
|
+
import { DisableTenantUseCase as external_DisableTenantUseCase_js_DisableTenantUseCase } from "./DisableTenantUseCase.js";
|
|
4
|
+
import { DisableTenantRepository } from "./DisableTenantRepository.js";
|
|
5
|
+
import { DisableTenantGateway } from "./DisableTenantGateway.js";
|
|
6
|
+
const DisableTenantFeature = createFeature({
|
|
7
|
+
name: "DisableTenant",
|
|
8
|
+
register (container) {
|
|
9
|
+
container.register(external_DisableTenantUseCase_js_DisableTenantUseCase);
|
|
10
|
+
container.register(DisableTenantRepository).inSingletonScope();
|
|
11
|
+
container.register(DisableTenantGateway).inSingletonScope();
|
|
12
|
+
},
|
|
13
|
+
resolve (container) {
|
|
14
|
+
return {
|
|
15
|
+
useCase: container.resolve(DisableTenantUseCase)
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
export { DisableTenantFeature };
|
|
20
|
+
|
|
21
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin/DisableTenant/feature.js","sources":["../../../src/admin/DisableTenant/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/admin\";\nimport { DisableTenantUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { DisableTenantUseCase } from \"./DisableTenantUseCase.js\";\nimport { DisableTenantRepository } from \"./DisableTenantRepository.js\";\nimport { DisableTenantGateway } from \"./DisableTenantGateway.js\";\n\nexport const DisableTenantFeature = createFeature({\n name: \"DisableTenant\",\n register(container) {\n container.register(DisableTenantUseCase);\n container.register(DisableTenantRepository).inSingletonScope();\n container.register(DisableTenantGateway).inSingletonScope();\n },\n resolve(container) {\n return {\n useCase: container.resolve(UseCaseAbstraction)\n };\n }\n});\n"],"names":["DisableTenantFeature","createFeature","container","DisableTenantUseCase","DisableTenantRepository","DisableTenantGateway","UseCaseAbstraction"],"mappings":";;;;;AAMO,MAAMA,uBAAuBC,cAAc;IAC9C,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;QACnBD,UAAU,QAAQ,CAACE,yBAAyB,gBAAgB;QAC5DF,UAAU,QAAQ,CAACG,sBAAsB,gBAAgB;IAC7D;IACA,SAAQH,SAAS;QACb,OAAO;YACH,SAASA,UAAU,OAAO,CAACI;QAC/B;IACJ;AACJ"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { useCallback } from "react";
|
|
2
|
+
import { useFeature } from "@webiny/app-admin";
|
|
3
|
+
import { DisableTenantFeature } from "./feature.js";
|
|
4
|
+
const useDisableTenant = (tenant)=>{
|
|
5
|
+
const { useCase } = useFeature(DisableTenantFeature);
|
|
6
|
+
const disableTenant = useCallback(async ()=>{
|
|
7
|
+
await useCase.execute(tenant.entryId);
|
|
8
|
+
}, [
|
|
9
|
+
useCase,
|
|
10
|
+
tenant
|
|
11
|
+
]);
|
|
12
|
+
return {
|
|
13
|
+
disableTenant
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
export { useDisableTenant };
|
|
17
|
+
|
|
18
|
+
//# sourceMappingURL=useDisableTenant.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin/DisableTenant/useDisableTenant.js","sources":["../../../src/admin/DisableTenant/useDisableTenant.ts"],"sourcesContent":["import { useCallback } from \"react\";\nimport { useFeature } from \"@webiny/app-admin\";\nimport { DisableTenantFeature } from \"./feature.js\";\nimport type { TenantEntry } from \"~/admin/types.js\";\n\nexport const useDisableTenant = (tenant: TenantEntry) => {\n const { useCase } = useFeature(DisableTenantFeature);\n\n const disableTenant = useCallback(async () => {\n await useCase.execute(tenant.entryId);\n }, [useCase, tenant]);\n\n return { disableTenant };\n};\n"],"names":["useDisableTenant","tenant","useCase","useFeature","DisableTenantFeature","disableTenant","useCallback"],"mappings":";;;AAKO,MAAMA,mBAAmB,CAACC;IAC7B,MAAM,EAAEC,OAAO,EAAE,GAAGC,WAAWC;IAE/B,MAAMC,gBAAgBC,YAAY;QAC9B,MAAMJ,QAAQ,OAAO,CAACD,OAAO,OAAO;IACxC,GAAG;QAACC;QAASD;KAAO;IAEpB,OAAO;QAAEI;IAAc;AAC3B"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { MainGraphQLClient } from "@webiny/app/features/mainGraphQLClient/index.js";
|
|
2
|
+
import { EnableTenantGateway as GatewayAbstraction } from "./abstractions.js";
|
|
3
|
+
declare class EnableTenantGraphQLGateway implements GatewayAbstraction.Interface {
|
|
4
|
+
private client;
|
|
5
|
+
constructor(client: MainGraphQLClient.Interface);
|
|
6
|
+
enableTenant(tenantId: string): Promise<boolean>;
|
|
7
|
+
}
|
|
8
|
+
export declare const EnableTenantGateway: typeof EnableTenantGraphQLGateway & {
|
|
9
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IEnableTenantGateway>;
|
|
10
|
+
};
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { MainGraphQLClient } from "@webiny/app/features/mainGraphQLClient/index.js";
|
|
2
|
+
import { EnableTenantGateway } from "./abstractions.js";
|
|
3
|
+
const ENABLE_TENANT = `
|
|
4
|
+
mutation EnableTenant($tenantId: ID!) {
|
|
5
|
+
tenantManager {
|
|
6
|
+
enableTenant(tenantId: $tenantId) {
|
|
7
|
+
data
|
|
8
|
+
error {
|
|
9
|
+
code
|
|
10
|
+
message
|
|
11
|
+
data
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
`;
|
|
17
|
+
class EnableTenantGraphQLGateway {
|
|
18
|
+
constructor(client){
|
|
19
|
+
this.client = client;
|
|
20
|
+
}
|
|
21
|
+
async enableTenant(tenantId) {
|
|
22
|
+
const response = await this.client.execute({
|
|
23
|
+
query: ENABLE_TENANT,
|
|
24
|
+
variables: {
|
|
25
|
+
tenantId
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
const envelope = response.tenantManager.enableTenant;
|
|
29
|
+
if (envelope.error) throw new Error(envelope.error.message);
|
|
30
|
+
if (!envelope.data) throw new Error("Unable to enable tenant");
|
|
31
|
+
return envelope.data;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
const EnableTenantGateway_EnableTenantGateway = EnableTenantGateway.createImplementation({
|
|
35
|
+
implementation: EnableTenantGraphQLGateway,
|
|
36
|
+
dependencies: [
|
|
37
|
+
MainGraphQLClient
|
|
38
|
+
]
|
|
39
|
+
});
|
|
40
|
+
export { EnableTenantGateway_EnableTenantGateway as EnableTenantGateway };
|
|
41
|
+
|
|
42
|
+
//# sourceMappingURL=EnableTenantGateway.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin/EnableTenant/EnableTenantGateway.js","sources":["../../../src/admin/EnableTenant/EnableTenantGateway.ts"],"sourcesContent":["import { MainGraphQLClient } from \"@webiny/app/features/mainGraphQLClient/index.js\";\nimport { EnableTenantGateway as GatewayAbstraction } from \"./abstractions.js\";\n\nconst ENABLE_TENANT = /* GraphQL */ `\n mutation EnableTenant($tenantId: ID!) {\n tenantManager {\n enableTenant(tenantId: $tenantId) {\n data\n error {\n code\n message\n data\n }\n }\n }\n }\n`;\n\ntype EnableTenantResponse = {\n tenantManager: {\n enableTenant:\n | {\n data: boolean;\n error: null;\n }\n | {\n data: null;\n error: {\n code: string;\n message: string;\n data: Record<string, any>;\n };\n };\n };\n};\n\nclass EnableTenantGraphQLGateway implements GatewayAbstraction.Interface {\n constructor(private client: MainGraphQLClient.Interface) {}\n\n async enableTenant(tenantId: string): Promise<boolean> {\n const response = await this.client.execute<EnableTenantResponse>({\n query: ENABLE_TENANT,\n variables: { tenantId }\n });\n\n const envelope = response.tenantManager.enableTenant;\n if (envelope.error) {\n throw new Error(envelope.error.message);\n }\n\n if (!envelope.data) {\n throw new Error(\"Unable to enable tenant\");\n }\n\n return envelope.data;\n }\n}\n\nexport const EnableTenantGateway = GatewayAbstraction.createImplementation({\n implementation: EnableTenantGraphQLGateway,\n dependencies: [MainGraphQLClient]\n});\n"],"names":["ENABLE_TENANT","EnableTenantGraphQLGateway","client","tenantId","response","envelope","Error","EnableTenantGateway","GatewayAbstraction","MainGraphQLClient"],"mappings":";;AAGA,MAAMA,gBAA8B,CAAC;;;;;;;;;;;;;AAarC,CAAC;AAoBD,MAAMC;IACF,YAAoBC,MAAmC,CAAE;aAArCA,MAAM,GAANA;IAAsC;IAE1D,MAAM,aAAaC,QAAgB,EAAoB;QACnD,MAAMC,WAAW,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAuB;YAC7D,OAAOJ;YACP,WAAW;gBAAEG;YAAS;QAC1B;QAEA,MAAME,WAAWD,SAAS,aAAa,CAAC,YAAY;QACpD,IAAIC,SAAS,KAAK,EACd,MAAM,IAAIC,MAAMD,SAAS,KAAK,CAAC,OAAO;QAG1C,IAAI,CAACA,SAAS,IAAI,EACd,MAAM,IAAIC,MAAM;QAGpB,OAAOD,SAAS,IAAI;IACxB;AACJ;AAEO,MAAME,0CAAsBC,oBAAAA,oBAAuC,CAAC;IACvE,gBAAgBP;IAChB,cAAc;QAACQ;KAAkB;AACrC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { EnableTenantRepository as RepositoryAbstraction, EnableTenantGateway } from "./abstractions.js";
|
|
2
|
+
import { ContentEntriesCacheProvider } from "@webiny/app-headless-cms/features/contentEntry/abstractions.js";
|
|
3
|
+
declare class EnableTenantRepositoryImpl implements RepositoryAbstraction.Interface {
|
|
4
|
+
private gateway;
|
|
5
|
+
private cacheProvider;
|
|
6
|
+
constructor(gateway: EnableTenantGateway.Interface, cacheProvider: ContentEntriesCacheProvider.Interface);
|
|
7
|
+
execute(tenantId: string): Promise<void>;
|
|
8
|
+
}
|
|
9
|
+
export declare const EnableTenantRepository: typeof EnableTenantRepositoryImpl & {
|
|
10
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IEnableTenantRepository>;
|
|
11
|
+
};
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { EnableTenantGateway, EnableTenantRepository } from "./abstractions.js";
|
|
2
|
+
import { ContentEntriesCacheProvider } from "@webiny/app-headless-cms/features/contentEntry/abstractions.js";
|
|
3
|
+
import { TENANT_MODEL_ID } from "../../shared/constants.js";
|
|
4
|
+
class EnableTenantRepositoryImpl {
|
|
5
|
+
constructor(gateway, cacheProvider){
|
|
6
|
+
this.gateway = gateway;
|
|
7
|
+
this.cacheProvider = cacheProvider;
|
|
8
|
+
}
|
|
9
|
+
async execute(tenantId) {
|
|
10
|
+
await this.gateway.enableTenant(tenantId);
|
|
11
|
+
const cache = this.cacheProvider.get(TENANT_MODEL_ID);
|
|
12
|
+
cache.updateItems((item)=>{
|
|
13
|
+
if (item.entryId === tenantId) return {
|
|
14
|
+
...item,
|
|
15
|
+
values: {
|
|
16
|
+
...item.values,
|
|
17
|
+
status: "enabled"
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
return item;
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
const EnableTenantRepository_EnableTenantRepository = EnableTenantRepository.createImplementation({
|
|
25
|
+
implementation: EnableTenantRepositoryImpl,
|
|
26
|
+
dependencies: [
|
|
27
|
+
EnableTenantGateway,
|
|
28
|
+
ContentEntriesCacheProvider
|
|
29
|
+
]
|
|
30
|
+
});
|
|
31
|
+
export { EnableTenantRepository_EnableTenantRepository as EnableTenantRepository };
|
|
32
|
+
|
|
33
|
+
//# sourceMappingURL=EnableTenantRepository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin/EnableTenant/EnableTenantRepository.js","sources":["../../../src/admin/EnableTenant/EnableTenantRepository.ts"],"sourcesContent":["import {\n EnableTenantRepository as RepositoryAbstraction,\n EnableTenantGateway\n} from \"./abstractions.js\";\nimport { ContentEntriesCacheProvider } from \"@webiny/app-headless-cms/features/contentEntry/abstractions.js\";\nimport { TENANT_MODEL_ID } from \"~/shared/constants.js\";\n\nclass EnableTenantRepositoryImpl implements RepositoryAbstraction.Interface {\n constructor(\n private gateway: EnableTenantGateway.Interface,\n private cacheProvider: ContentEntriesCacheProvider.Interface\n ) {}\n\n async execute(tenantId: string): Promise<void> {\n await this.gateway.enableTenant(tenantId);\n\n const cache = this.cacheProvider.get(TENANT_MODEL_ID);\n cache.updateItems(item => {\n if (item.entryId === tenantId) {\n return { ...item, values: { ...item.values, status: \"enabled\" } };\n }\n return item;\n });\n }\n}\n\nexport const EnableTenantRepository = RepositoryAbstraction.createImplementation({\n implementation: EnableTenantRepositoryImpl,\n dependencies: [EnableTenantGateway, ContentEntriesCacheProvider]\n});\n"],"names":["EnableTenantRepositoryImpl","gateway","cacheProvider","tenantId","cache","TENANT_MODEL_ID","item","EnableTenantRepository","RepositoryAbstraction","EnableTenantGateway","ContentEntriesCacheProvider"],"mappings":";;;AAOA,MAAMA;IACF,YACYC,OAAsC,EACtCC,aAAoD,CAC9D;aAFUD,OAAO,GAAPA;aACAC,aAAa,GAAbA;IACT;IAEH,MAAM,QAAQC,QAAgB,EAAiB;QAC3C,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAACA;QAEhC,MAAMC,QAAQ,IAAI,CAAC,aAAa,CAAC,GAAG,CAACC;QACrCD,MAAM,WAAW,CAACE,CAAAA;YACd,IAAIA,KAAK,OAAO,KAAKH,UACjB,OAAO;gBAAE,GAAGG,IAAI;gBAAE,QAAQ;oBAAE,GAAGA,KAAK,MAAM;oBAAE,QAAQ;gBAAU;YAAE;YAEpE,OAAOA;QACX;IACJ;AACJ;AAEO,MAAMC,gDAAyBC,uBAAAA,oBAA0C,CAAC;IAC7E,gBAAgBR;IAChB,cAAc;QAACS;QAAqBC;KAA4B;AACpE"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { EnableTenantUseCase as UseCaseAbstraction, EnableTenantRepository } from "./abstractions.js";
|
|
2
|
+
declare class EnableTenantUseCaseImpl implements UseCaseAbstraction.Interface {
|
|
3
|
+
private repository;
|
|
4
|
+
constructor(repository: EnableTenantRepository.Interface);
|
|
5
|
+
execute(tenantId: string): Promise<void>;
|
|
6
|
+
}
|
|
7
|
+
export declare const EnableTenantUseCase: typeof EnableTenantUseCaseImpl & {
|
|
8
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IEnableTenantUseCase>;
|
|
9
|
+
};
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { EnableTenantRepository, EnableTenantUseCase } from "./abstractions.js";
|
|
2
|
+
class EnableTenantUseCaseImpl {
|
|
3
|
+
constructor(repository){
|
|
4
|
+
this.repository = repository;
|
|
5
|
+
}
|
|
6
|
+
async execute(tenantId) {
|
|
7
|
+
return this.repository.execute(tenantId);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
const EnableTenantUseCase_EnableTenantUseCase = EnableTenantUseCase.createImplementation({
|
|
11
|
+
implementation: EnableTenantUseCaseImpl,
|
|
12
|
+
dependencies: [
|
|
13
|
+
EnableTenantRepository
|
|
14
|
+
]
|
|
15
|
+
});
|
|
16
|
+
export { EnableTenantUseCase_EnableTenantUseCase as EnableTenantUseCase };
|
|
17
|
+
|
|
18
|
+
//# sourceMappingURL=EnableTenantUseCase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin/EnableTenant/EnableTenantUseCase.js","sources":["../../../src/admin/EnableTenant/EnableTenantUseCase.ts"],"sourcesContent":["import {\n EnableTenantUseCase as UseCaseAbstraction,\n EnableTenantRepository\n} from \"./abstractions.js\";\n\nclass EnableTenantUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(private repository: EnableTenantRepository.Interface) {}\n\n async execute(tenantId: string): Promise<void> {\n return this.repository.execute(tenantId);\n }\n}\n\nexport const EnableTenantUseCase = UseCaseAbstraction.createImplementation({\n implementation: EnableTenantUseCaseImpl,\n dependencies: [EnableTenantRepository]\n});\n"],"names":["EnableTenantUseCaseImpl","repository","tenantId","EnableTenantUseCase","UseCaseAbstraction","EnableTenantRepository"],"mappings":";AAKA,MAAMA;IACF,YAAoBC,UAA4C,CAAE;aAA9CA,UAAU,GAAVA;IAA+C;IAEnE,MAAM,QAAQC,QAAgB,EAAiB;QAC3C,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAACA;IACnC;AACJ;AAEO,MAAMC,0CAAsBC,oBAAAA,oBAAuC,CAAC;IACvE,gBAAgBJ;IAChB,cAAc;QAACK;KAAuB;AAC1C"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export interface IEnableTenantUseCase {
|
|
2
|
+
execute(tenantId: string): Promise<void>;
|
|
3
|
+
}
|
|
4
|
+
export declare const EnableTenantUseCase: import("@webiny/di").Abstraction<IEnableTenantUseCase>;
|
|
5
|
+
export declare namespace EnableTenantUseCase {
|
|
6
|
+
type Interface = IEnableTenantUseCase;
|
|
7
|
+
}
|
|
8
|
+
export interface IEnableTenantRepository {
|
|
9
|
+
execute(tenantId: string): Promise<void>;
|
|
10
|
+
}
|
|
11
|
+
export declare const EnableTenantRepository: import("@webiny/di").Abstraction<IEnableTenantRepository>;
|
|
12
|
+
export declare namespace EnableTenantRepository {
|
|
13
|
+
type Interface = IEnableTenantRepository;
|
|
14
|
+
}
|
|
15
|
+
export interface IEnableTenantGateway {
|
|
16
|
+
enableTenant(tenantId: string): Promise<boolean>;
|
|
17
|
+
}
|
|
18
|
+
export declare const EnableTenantGateway: import("@webiny/di").Abstraction<IEnableTenantGateway>;
|
|
19
|
+
export declare namespace EnableTenantGateway {
|
|
20
|
+
type Interface = IEnableTenantGateway;
|
|
21
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { createAbstraction } from "@webiny/feature/admin";
|
|
2
|
+
const EnableTenantUseCase = createAbstraction("EnableTenantUseCase");
|
|
3
|
+
const EnableTenantRepository = createAbstraction("EnableTenantRepository");
|
|
4
|
+
const EnableTenantGateway = createAbstraction("EnableTenantGateway");
|
|
5
|
+
export { EnableTenantGateway, EnableTenantRepository, EnableTenantUseCase };
|
|
6
|
+
|
|
7
|
+
//# sourceMappingURL=abstractions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin/EnableTenant/abstractions.js","sources":["../../../src/admin/EnableTenant/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/admin\";\n\n// UseCase abstraction - only execute method\nexport interface IEnableTenantUseCase {\n execute(tenantId: string): Promise<void>;\n}\n\nexport const EnableTenantUseCase = createAbstraction<IEnableTenantUseCase>(\"EnableTenantUseCase\");\n\nexport namespace EnableTenantUseCase {\n export type Interface = IEnableTenantUseCase;\n}\n\n// Repository abstraction - delegates to gateway\nexport interface IEnableTenantRepository {\n execute(tenantId: string): Promise<void>;\n}\n\nexport const EnableTenantRepository =\n createAbstraction<IEnableTenantRepository>(\"EnableTenantRepository\");\n\nexport namespace EnableTenantRepository {\n export type Interface = IEnableTenantRepository;\n}\n\n// Gateway abstraction - GraphQL call\nexport interface IEnableTenantGateway {\n enableTenant(tenantId: string): Promise<boolean>;\n}\n\nexport const EnableTenantGateway = createAbstraction<IEnableTenantGateway>(\"EnableTenantGateway\");\n\nexport namespace EnableTenantGateway {\n export type Interface = IEnableTenantGateway;\n}\n"],"names":["EnableTenantUseCase","createAbstraction","EnableTenantRepository","EnableTenantGateway"],"mappings":";AAOO,MAAMA,sBAAsBC,kBAAwC;AAWpE,MAAMC,yBACTD,kBAA2C;AAWxC,MAAME,sBAAsBF,kBAAwC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/admin";
|
|
2
|
+
import { EnableTenantUseCase } from "./abstractions.js";
|
|
3
|
+
import { EnableTenantUseCase as external_EnableTenantUseCase_js_EnableTenantUseCase } from "./EnableTenantUseCase.js";
|
|
4
|
+
import { EnableTenantRepository } from "./EnableTenantRepository.js";
|
|
5
|
+
import { EnableTenantGateway } from "./EnableTenantGateway.js";
|
|
6
|
+
const EnableTenantFeature = createFeature({
|
|
7
|
+
name: "EnableTenant",
|
|
8
|
+
register (container) {
|
|
9
|
+
container.register(external_EnableTenantUseCase_js_EnableTenantUseCase);
|
|
10
|
+
container.register(EnableTenantRepository).inSingletonScope();
|
|
11
|
+
container.register(EnableTenantGateway).inSingletonScope();
|
|
12
|
+
},
|
|
13
|
+
resolve (container) {
|
|
14
|
+
return {
|
|
15
|
+
useCase: container.resolve(EnableTenantUseCase)
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
export { EnableTenantFeature };
|
|
20
|
+
|
|
21
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin/EnableTenant/feature.js","sources":["../../../src/admin/EnableTenant/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/admin\";\nimport { EnableTenantUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { EnableTenantUseCase } from \"./EnableTenantUseCase.js\";\nimport { EnableTenantRepository } from \"./EnableTenantRepository.js\";\nimport { EnableTenantGateway } from \"./EnableTenantGateway.js\";\n\nexport const EnableTenantFeature = createFeature({\n name: \"EnableTenant\",\n register(container) {\n container.register(EnableTenantUseCase);\n container.register(EnableTenantRepository).inSingletonScope();\n container.register(EnableTenantGateway).inSingletonScope();\n },\n resolve(container) {\n return {\n useCase: container.resolve(UseCaseAbstraction)\n };\n }\n});\n"],"names":["EnableTenantFeature","createFeature","container","EnableTenantUseCase","EnableTenantRepository","EnableTenantGateway","UseCaseAbstraction"],"mappings":";;;;;AAMO,MAAMA,sBAAsBC,cAAc;IAC7C,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;QACnBD,UAAU,QAAQ,CAACE,wBAAwB,gBAAgB;QAC3DF,UAAU,QAAQ,CAACG,qBAAqB,gBAAgB;IAC5D;IACA,SAAQH,SAAS;QACb,OAAO;YACH,SAASA,UAAU,OAAO,CAACI;QAC/B;IACJ;AACJ"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { useCallback, useState } from "react";
|
|
2
|
+
import { useFeature } from "@webiny/app-admin";
|
|
3
|
+
import { EnableTenantFeature } from "./feature.js";
|
|
4
|
+
const useEnableTenant = ()=>{
|
|
5
|
+
const { useCase } = useFeature(EnableTenantFeature);
|
|
6
|
+
const [loading, setLoading] = useState(false);
|
|
7
|
+
const enableTenant = useCallback(async (tenantId)=>{
|
|
8
|
+
setLoading(true);
|
|
9
|
+
try {
|
|
10
|
+
await useCase.execute(tenantId);
|
|
11
|
+
} finally{
|
|
12
|
+
setLoading(false);
|
|
13
|
+
}
|
|
14
|
+
}, [
|
|
15
|
+
useCase
|
|
16
|
+
]);
|
|
17
|
+
return {
|
|
18
|
+
enableTenant,
|
|
19
|
+
loading
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
export { useEnableTenant };
|
|
23
|
+
|
|
24
|
+
//# sourceMappingURL=useEnableTenant.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin/EnableTenant/useEnableTenant.js","sources":["../../../src/admin/EnableTenant/useEnableTenant.ts"],"sourcesContent":["import { useState, useCallback } from \"react\";\nimport { useFeature } from \"@webiny/app-admin\";\nimport { EnableTenantFeature } from \"./feature.js\";\n\nexport const useEnableTenant = () => {\n const { useCase } = useFeature(EnableTenantFeature);\n const [loading, setLoading] = useState(false);\n\n const enableTenant = useCallback(\n async (tenantId: string) => {\n setLoading(true);\n\n try {\n await useCase.execute(tenantId);\n } finally {\n setLoading(false);\n }\n },\n [useCase]\n );\n\n return { enableTenant, loading };\n};\n"],"names":["useEnableTenant","useCase","useFeature","EnableTenantFeature","loading","setLoading","useState","enableTenant","useCallback","tenantId"],"mappings":";;;AAIO,MAAMA,kBAAkB;IAC3B,MAAM,EAAEC,OAAO,EAAE,GAAGC,WAAWC;IAC/B,MAAM,CAACC,SAASC,WAAW,GAAGC,SAAS;IAEvC,MAAMC,eAAeC,YACjB,OAAOC;QACHJ,WAAW;QAEX,IAAI;YACA,MAAMJ,QAAQ,OAAO,CAACQ;QAC1B,SAAU;YACNJ,WAAW;QACf;IACJ,GACA;QAACJ;KAAQ;IAGb,OAAO;QAAEM;QAAcH;IAAQ;AACnC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import react from "react";
|
|
2
|
+
import { AdminConfig, HasPermission, RegisterFeature, useRouter } from "@webiny/app-admin";
|
|
3
|
+
import { Routes } from "@webiny/app-headless-cms";
|
|
4
|
+
import { ReactComponent } from "@webiny/icons/business.svg";
|
|
5
|
+
import { TenantEntryList } from "./TenantEntryList.js";
|
|
6
|
+
import { CurrentTenantProvider } from "./CurrentTenantProvider.js";
|
|
7
|
+
import { CurrentTenantFeature } from "./CurrentTenant/feature.js";
|
|
8
|
+
import { DisableTenantFeature } from "./DisableTenant/index.js";
|
|
9
|
+
import { EnableTenantFeature } from "./EnableTenant/index.js";
|
|
10
|
+
import { TenantSelector } from "./TenantSelector.js";
|
|
11
|
+
import { IsRootTenant } from "./IsRootTenant.js";
|
|
12
|
+
import { TENANT_MODEL_ID } from "../shared/constants.js";
|
|
13
|
+
import { SecurityPermission } from "./SecurityPermission.js";
|
|
14
|
+
import { TmPermissionsFeature } from "./features/permissions/feature.js";
|
|
15
|
+
import { InstallTenantFeature } from "./InstallTenant/index.js";
|
|
16
|
+
const { Menu: Menu } = AdminConfig;
|
|
17
|
+
const Extension = ()=>{
|
|
18
|
+
const { getLink } = useRouter();
|
|
19
|
+
const link = getLink(Routes.ContentEntries.List, {
|
|
20
|
+
modelId: TENANT_MODEL_ID
|
|
21
|
+
});
|
|
22
|
+
const icon = /*#__PURE__*/ react.createElement(Menu.Link.Icon, {
|
|
23
|
+
element: /*#__PURE__*/ react.createElement(ReactComponent, null),
|
|
24
|
+
label: "Tenant"
|
|
25
|
+
});
|
|
26
|
+
return /*#__PURE__*/ react.createElement(react.Fragment, null, /*#__PURE__*/ react.createElement(RegisterFeature, {
|
|
27
|
+
feature: CurrentTenantFeature
|
|
28
|
+
}), /*#__PURE__*/ react.createElement(RegisterFeature, {
|
|
29
|
+
feature: TmPermissionsFeature
|
|
30
|
+
}), /*#__PURE__*/ react.createElement(RegisterFeature, {
|
|
31
|
+
feature: InstallTenantFeature
|
|
32
|
+
}), /*#__PURE__*/ react.createElement(CurrentTenantProvider, null), /*#__PURE__*/ react.createElement(TenantSelector, null), /*#__PURE__*/ react.createElement(TenantEntryList, null), /*#__PURE__*/ react.createElement(SecurityPermission, null), /*#__PURE__*/ react.createElement(AdminConfig, null, /*#__PURE__*/ react.createElement(IsRootTenant, null, /*#__PURE__*/ react.createElement(RegisterFeature, {
|
|
33
|
+
feature: DisableTenantFeature
|
|
34
|
+
}), /*#__PURE__*/ react.createElement(RegisterFeature, {
|
|
35
|
+
feature: EnableTenantFeature
|
|
36
|
+
}), /*#__PURE__*/ react.createElement(HasPermission, {
|
|
37
|
+
name: "tm.tenant"
|
|
38
|
+
}, /*#__PURE__*/ react.createElement(Menu, {
|
|
39
|
+
name: "tenantManager",
|
|
40
|
+
element: /*#__PURE__*/ react.createElement(Menu.Link, {
|
|
41
|
+
text: "Tenant Manager",
|
|
42
|
+
icon: icon,
|
|
43
|
+
to: link
|
|
44
|
+
})
|
|
45
|
+
})))));
|
|
46
|
+
};
|
|
47
|
+
export { Extension };
|
|
48
|
+
|
|
49
|
+
//# sourceMappingURL=Extension.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin/Extension.js","sources":["../../src/admin/Extension.tsx"],"sourcesContent":["import React from \"react\";\nimport { AdminConfig, HasPermission, RegisterFeature } from \"@webiny/app-admin\";\nimport { useRouter } from \"@webiny/app-admin\";\nimport { Routes } from \"@webiny/app-headless-cms\";\nimport { ReactComponent as TenantIcon } from \"@webiny/icons/business.svg\";\n\nimport { TenantEntryList } from \"./TenantEntryList.js\";\nimport { CurrentTenantProvider } from \"./CurrentTenantProvider.js\";\nimport { CurrentTenantFeature } from \"./CurrentTenant/feature.js\";\nimport { DisableTenantFeature } from \"./DisableTenant/index.js\";\nimport { EnableTenantFeature } from \"./EnableTenant/index.js\";\nimport { TenantSelector } from \"./TenantSelector.js\";\nimport { IsRootTenant } from \"./IsRootTenant.js\";\nimport { TENANT_MODEL_ID } from \"~/shared/constants.js\";\nimport { SecurityPermission } from \"./SecurityPermission.js\";\nimport { TmPermissionsFeature } from \"./features/permissions/feature.js\";\nimport { InstallTenantFeature } from \"./InstallTenant/index.js\";\n\nconst { Menu } = AdminConfig;\n\nexport const Extension = () => {\n const { getLink } = useRouter();\n\n const link = getLink(Routes.ContentEntries.List, { modelId: TENANT_MODEL_ID });\n\n const icon = <Menu.Link.Icon element={<TenantIcon />} label={\"Tenant\"} />;\n\n return (\n <>\n <RegisterFeature feature={CurrentTenantFeature} />\n <RegisterFeature feature={TmPermissionsFeature} />\n <RegisterFeature feature={InstallTenantFeature} />\n <CurrentTenantProvider />\n <TenantSelector />\n <TenantEntryList />\n <SecurityPermission />\n <AdminConfig>\n <IsRootTenant>\n <RegisterFeature feature={DisableTenantFeature} />\n <RegisterFeature feature={EnableTenantFeature} />\n <HasPermission name={\"tm.tenant\"}>\n <Menu\n name=\"tenantManager\"\n element={<Menu.Link text=\"Tenant Manager\" icon={icon} to={link} />}\n />\n </HasPermission>\n </IsRootTenant>\n </AdminConfig>\n </>\n );\n};\n"],"names":["Menu","AdminConfig","Extension","getLink","useRouter","link","Routes","TENANT_MODEL_ID","icon","TenantIcon","RegisterFeature","CurrentTenantFeature","TmPermissionsFeature","InstallTenantFeature","CurrentTenantProvider","TenantSelector","TenantEntryList","SecurityPermission","IsRootTenant","DisableTenantFeature","EnableTenantFeature","HasPermission"],"mappings":";;;;;;;;;;;;;;;AAkBA,MAAM,EAAEA,MAAAA,IAAI,EAAE,GAAGC;AAEV,MAAMC,YAAY;IACrB,MAAM,EAAEC,OAAO,EAAE,GAAGC;IAEpB,MAAMC,OAAOF,QAAQG,OAAO,cAAc,CAAC,IAAI,EAAE;QAAE,SAASC;IAAgB;IAE5E,MAAMC,OAAO,WAAPA,GAAO,oBAACR,KAAK,IAAI,CAAC,IAAI;QAAC,uBAAS,oBAACS,gBAAUA;QAAK,OAAO;;IAE7D,OAAO,WAAP,GACI,wDACI,oBAACC,iBAAeA;QAAC,SAASC;sBAC1B,oBAACD,iBAAeA;QAAC,SAASE;sBAC1B,oBAACF,iBAAeA;QAAC,SAASG;sBAC1B,oBAACC,uBAAqBA,OAAAA,WAAAA,GACtB,oBAACC,gBAAcA,OAAAA,WAAAA,GACf,oBAACC,iBAAeA,OAAAA,WAAAA,GAChB,oBAACC,oBAAkBA,OAAAA,WAAAA,GACnB,oBAAChB,aAAWA,MAAAA,WAAAA,GACR,oBAACiB,cAAYA,MAAAA,WAAAA,GACT,oBAACR,iBAAeA;QAAC,SAASS;sBAC1B,oBAACT,iBAAeA;QAAC,SAASU;sBAC1B,oBAACC,eAAaA;QAAC,MAAM;qBACjB,oBAACrB,MAAIA;QACD,MAAK;QACL,uBAAS,oBAACA,KAAK,IAAI;YAAC,MAAK;YAAiB,MAAMQ;YAAM,IAAIH;;;AAOtF"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { MainGraphQLClient } from "@webiny/app/features/mainGraphQLClient/index.js";
|
|
2
|
+
import { InstallTenantGateway as GatewayAbstraction } from "./abstractions.js";
|
|
3
|
+
declare class InstallTenantGraphQLGateway implements GatewayAbstraction.Interface {
|
|
4
|
+
private client;
|
|
5
|
+
constructor(client: MainGraphQLClient.Interface);
|
|
6
|
+
installTenant(tenantId: string): Promise<boolean>;
|
|
7
|
+
}
|
|
8
|
+
export declare const InstallTenantGateway: typeof InstallTenantGraphQLGateway & {
|
|
9
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IInstallTenantGateway>;
|
|
10
|
+
};
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { MainGraphQLClient } from "@webiny/app/features/mainGraphQLClient/index.js";
|
|
2
|
+
import { InstallTenantGateway } from "./abstractions.js";
|
|
3
|
+
const INSTALL_TENANT = `
|
|
4
|
+
mutation InstallTenant($tenantId: ID!) {
|
|
5
|
+
tenantManager {
|
|
6
|
+
installTenant(tenantId: $tenantId) {
|
|
7
|
+
data
|
|
8
|
+
error {
|
|
9
|
+
code
|
|
10
|
+
message
|
|
11
|
+
data
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
`;
|
|
17
|
+
class InstallTenantGraphQLGateway {
|
|
18
|
+
constructor(client){
|
|
19
|
+
this.client = client;
|
|
20
|
+
}
|
|
21
|
+
async installTenant(tenantId) {
|
|
22
|
+
const response = await this.client.execute({
|
|
23
|
+
query: INSTALL_TENANT,
|
|
24
|
+
variables: {
|
|
25
|
+
tenantId
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
const envelope = response.tenantManager.installTenant;
|
|
29
|
+
if (envelope.error) throw new Error(envelope.error.message);
|
|
30
|
+
if (!envelope.data) throw new Error("Unable to install tenant");
|
|
31
|
+
return envelope.data;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
const InstallTenantGateway_InstallTenantGateway = InstallTenantGateway.createImplementation({
|
|
35
|
+
implementation: InstallTenantGraphQLGateway,
|
|
36
|
+
dependencies: [
|
|
37
|
+
MainGraphQLClient
|
|
38
|
+
]
|
|
39
|
+
});
|
|
40
|
+
export { InstallTenantGateway_InstallTenantGateway as InstallTenantGateway };
|
|
41
|
+
|
|
42
|
+
//# sourceMappingURL=InstallTenantGateway.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin/InstallTenant/InstallTenantGateway.js","sources":["../../../src/admin/InstallTenant/InstallTenantGateway.ts"],"sourcesContent":["import { MainGraphQLClient } from \"@webiny/app/features/mainGraphQLClient/index.js\";\nimport { InstallTenantGateway as GatewayAbstraction } from \"./abstractions.js\";\n\nconst INSTALL_TENANT = /* GraphQL */ `\n mutation InstallTenant($tenantId: ID!) {\n tenantManager {\n installTenant(tenantId: $tenantId) {\n data\n error {\n code\n message\n data\n }\n }\n }\n }\n`;\n\ntype InstallTenantResponse = {\n tenantManager: {\n installTenant:\n | {\n data: boolean;\n error: null;\n }\n | {\n data: null;\n error: {\n code: string;\n message: string;\n data: Record<string, any>;\n };\n };\n };\n};\n\nclass InstallTenantGraphQLGateway implements GatewayAbstraction.Interface {\n constructor(private client: MainGraphQLClient.Interface) {}\n\n async installTenant(tenantId: string): Promise<boolean> {\n const response = await this.client.execute<InstallTenantResponse>({\n query: INSTALL_TENANT,\n variables: { tenantId }\n });\n\n const envelope = response.tenantManager.installTenant;\n if (envelope.error) {\n throw new Error(envelope.error.message);\n }\n\n if (!envelope.data) {\n throw new Error(\"Unable to install tenant\");\n }\n\n return envelope.data;\n }\n}\n\nexport const InstallTenantGateway = GatewayAbstraction.createImplementation({\n implementation: InstallTenantGraphQLGateway,\n dependencies: [MainGraphQLClient]\n});\n"],"names":["INSTALL_TENANT","InstallTenantGraphQLGateway","client","tenantId","response","envelope","Error","InstallTenantGateway","GatewayAbstraction","MainGraphQLClient"],"mappings":";;AAGA,MAAMA,iBAA+B,CAAC;;;;;;;;;;;;;AAatC,CAAC;AAoBD,MAAMC;IACF,YAAoBC,MAAmC,CAAE;aAArCA,MAAM,GAANA;IAAsC;IAE1D,MAAM,cAAcC,QAAgB,EAAoB;QACpD,MAAMC,WAAW,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAwB;YAC9D,OAAOJ;YACP,WAAW;gBAAEG;YAAS;QAC1B;QAEA,MAAME,WAAWD,SAAS,aAAa,CAAC,aAAa;QACrD,IAAIC,SAAS,KAAK,EACd,MAAM,IAAIC,MAAMD,SAAS,KAAK,CAAC,OAAO;QAG1C,IAAI,CAACA,SAAS,IAAI,EACd,MAAM,IAAIC,MAAM;QAGpB,OAAOD,SAAS,IAAI;IACxB;AACJ;AAEO,MAAME,4CAAuBC,qBAAAA,oBAAuC,CAAC;IACxE,gBAAgBP;IAChB,cAAc;QAACQ;KAAkB;AACrC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { InstallTenantRepository as RepositoryAbstraction, InstallTenantGateway } from "./abstractions.js";
|
|
2
|
+
import { ContentEntriesCacheProvider } from "@webiny/app-headless-cms/features/contentEntry/abstractions.js";
|
|
3
|
+
declare class InstallTenantRepositoryImpl implements RepositoryAbstraction.Interface {
|
|
4
|
+
private gateway;
|
|
5
|
+
private cacheProvider;
|
|
6
|
+
constructor(gateway: InstallTenantGateway.Interface, cacheProvider: ContentEntriesCacheProvider.Interface);
|
|
7
|
+
execute(tenantId: string): Promise<void>;
|
|
8
|
+
}
|
|
9
|
+
export declare const InstallTenantRepository: typeof InstallTenantRepositoryImpl & {
|
|
10
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IInstallTenantRepository>;
|
|
11
|
+
};
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { InstallTenantGateway, InstallTenantRepository } from "./abstractions.js";
|
|
2
|
+
import { ContentEntriesCacheProvider } from "@webiny/app-headless-cms/features/contentEntry/abstractions.js";
|
|
3
|
+
import { TENANT_MODEL_ID } from "../../shared/constants.js";
|
|
4
|
+
class InstallTenantRepositoryImpl {
|
|
5
|
+
constructor(gateway, cacheProvider){
|
|
6
|
+
this.gateway = gateway;
|
|
7
|
+
this.cacheProvider = cacheProvider;
|
|
8
|
+
}
|
|
9
|
+
async execute(tenantId) {
|
|
10
|
+
await this.gateway.installTenant(tenantId);
|
|
11
|
+
const cache = this.cacheProvider.get(TENANT_MODEL_ID);
|
|
12
|
+
cache.updateItems((item)=>{
|
|
13
|
+
if (item.entryId === tenantId) return {
|
|
14
|
+
...item,
|
|
15
|
+
values: {
|
|
16
|
+
...item.values,
|
|
17
|
+
status: "enabled",
|
|
18
|
+
isInstalled: true
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
return item;
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
const InstallTenantRepository_InstallTenantRepository = InstallTenantRepository.createImplementation({
|
|
26
|
+
implementation: InstallTenantRepositoryImpl,
|
|
27
|
+
dependencies: [
|
|
28
|
+
InstallTenantGateway,
|
|
29
|
+
ContentEntriesCacheProvider
|
|
30
|
+
]
|
|
31
|
+
});
|
|
32
|
+
export { InstallTenantRepository_InstallTenantRepository as InstallTenantRepository };
|
|
33
|
+
|
|
34
|
+
//# sourceMappingURL=InstallTenantRepository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin/InstallTenant/InstallTenantRepository.js","sources":["../../../src/admin/InstallTenant/InstallTenantRepository.ts"],"sourcesContent":["import {\n InstallTenantRepository as RepositoryAbstraction,\n InstallTenantGateway\n} from \"./abstractions.js\";\nimport { ContentEntriesCacheProvider } from \"@webiny/app-headless-cms/features/contentEntry/abstractions.js\";\nimport { TENANT_MODEL_ID } from \"~/shared/constants.js\";\n\nclass InstallTenantRepositoryImpl implements RepositoryAbstraction.Interface {\n constructor(\n private gateway: InstallTenantGateway.Interface,\n private cacheProvider: ContentEntriesCacheProvider.Interface\n ) {}\n\n async execute(tenantId: string): Promise<void> {\n await this.gateway.installTenant(tenantId);\n\n const cache = this.cacheProvider.get(TENANT_MODEL_ID);\n cache.updateItems(item => {\n if (item.entryId === tenantId) {\n return {\n ...item,\n values: { ...item.values, status: \"enabled\", isInstalled: true }\n };\n }\n return item;\n });\n }\n}\n\nexport const InstallTenantRepository = RepositoryAbstraction.createImplementation({\n implementation: InstallTenantRepositoryImpl,\n dependencies: [InstallTenantGateway, ContentEntriesCacheProvider]\n});\n"],"names":["InstallTenantRepositoryImpl","gateway","cacheProvider","tenantId","cache","TENANT_MODEL_ID","item","InstallTenantRepository","RepositoryAbstraction","InstallTenantGateway","ContentEntriesCacheProvider"],"mappings":";;;AAOA,MAAMA;IACF,YACYC,OAAuC,EACvCC,aAAoD,CAC9D;aAFUD,OAAO,GAAPA;aACAC,aAAa,GAAbA;IACT;IAEH,MAAM,QAAQC,QAAgB,EAAiB;QAC3C,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAACA;QAEjC,MAAMC,QAAQ,IAAI,CAAC,aAAa,CAAC,GAAG,CAACC;QACrCD,MAAM,WAAW,CAACE,CAAAA;YACd,IAAIA,KAAK,OAAO,KAAKH,UACjB,OAAO;gBACH,GAAGG,IAAI;gBACP,QAAQ;oBAAE,GAAGA,KAAK,MAAM;oBAAE,QAAQ;oBAAW,aAAa;gBAAK;YACnE;YAEJ,OAAOA;QACX;IACJ;AACJ;AAEO,MAAMC,kDAA0BC,wBAAAA,oBAA0C,CAAC;IAC9E,gBAAgBR;IAChB,cAAc;QAACS;QAAsBC;KAA4B;AACrE"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { InstallTenantUseCase as UseCaseAbstraction, InstallTenantRepository } from "./abstractions.js";
|
|
2
|
+
declare class InstallTenantUseCaseImpl implements UseCaseAbstraction.Interface {
|
|
3
|
+
private repository;
|
|
4
|
+
constructor(repository: InstallTenantRepository.Interface);
|
|
5
|
+
execute(tenantId: string): Promise<void>;
|
|
6
|
+
}
|
|
7
|
+
export declare const InstallTenantUseCase: typeof InstallTenantUseCaseImpl & {
|
|
8
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IInstallTenantUseCase>;
|
|
9
|
+
};
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { InstallTenantRepository, InstallTenantUseCase } from "./abstractions.js";
|
|
2
|
+
class InstallTenantUseCaseImpl {
|
|
3
|
+
constructor(repository){
|
|
4
|
+
this.repository = repository;
|
|
5
|
+
}
|
|
6
|
+
async execute(tenantId) {
|
|
7
|
+
return this.repository.execute(tenantId);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
const InstallTenantUseCase_InstallTenantUseCase = InstallTenantUseCase.createImplementation({
|
|
11
|
+
implementation: InstallTenantUseCaseImpl,
|
|
12
|
+
dependencies: [
|
|
13
|
+
InstallTenantRepository
|
|
14
|
+
]
|
|
15
|
+
});
|
|
16
|
+
export { InstallTenantUseCase_InstallTenantUseCase as InstallTenantUseCase };
|
|
17
|
+
|
|
18
|
+
//# sourceMappingURL=InstallTenantUseCase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin/InstallTenant/InstallTenantUseCase.js","sources":["../../../src/admin/InstallTenant/InstallTenantUseCase.ts"],"sourcesContent":["import {\n InstallTenantUseCase as UseCaseAbstraction,\n InstallTenantRepository\n} from \"./abstractions.js\";\n\nclass InstallTenantUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(private repository: InstallTenantRepository.Interface) {}\n\n async execute(tenantId: string): Promise<void> {\n return this.repository.execute(tenantId);\n }\n}\n\nexport const InstallTenantUseCase = UseCaseAbstraction.createImplementation({\n implementation: InstallTenantUseCaseImpl,\n dependencies: [InstallTenantRepository]\n});\n"],"names":["InstallTenantUseCaseImpl","repository","tenantId","InstallTenantUseCase","UseCaseAbstraction","InstallTenantRepository"],"mappings":";AAKA,MAAMA;IACF,YAAoBC,UAA6C,CAAE;aAA/CA,UAAU,GAAVA;IAAgD;IAEpE,MAAM,QAAQC,QAAgB,EAAiB;QAC3C,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAACA;IACnC;AACJ;AAEO,MAAMC,4CAAuBC,qBAAAA,oBAAuC,CAAC;IACxE,gBAAgBJ;IAChB,cAAc;QAACK;KAAwB;AAC3C"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export interface IInstallTenantUseCase {
|
|
2
|
+
execute(tenantId: string): Promise<void>;
|
|
3
|
+
}
|
|
4
|
+
export declare const InstallTenantUseCase: import("@webiny/di").Abstraction<IInstallTenantUseCase>;
|
|
5
|
+
export declare namespace InstallTenantUseCase {
|
|
6
|
+
type Interface = IInstallTenantUseCase;
|
|
7
|
+
}
|
|
8
|
+
export interface IInstallTenantRepository {
|
|
9
|
+
execute(tenantId: string): Promise<void>;
|
|
10
|
+
}
|
|
11
|
+
export declare const InstallTenantRepository: import("@webiny/di").Abstraction<IInstallTenantRepository>;
|
|
12
|
+
export declare namespace InstallTenantRepository {
|
|
13
|
+
type Interface = IInstallTenantRepository;
|
|
14
|
+
}
|
|
15
|
+
export interface IInstallTenantGateway {
|
|
16
|
+
installTenant(tenantId: string): Promise<boolean>;
|
|
17
|
+
}
|
|
18
|
+
export declare const InstallTenantGateway: import("@webiny/di").Abstraction<IInstallTenantGateway>;
|
|
19
|
+
export declare namespace InstallTenantGateway {
|
|
20
|
+
type Interface = IInstallTenantGateway;
|
|
21
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { createAbstraction } from "@webiny/feature/admin";
|
|
2
|
+
const InstallTenantUseCase = createAbstraction("InstallTenantUseCase");
|
|
3
|
+
const InstallTenantRepository = createAbstraction("InstallTenantRepository");
|
|
4
|
+
const InstallTenantGateway = createAbstraction("InstallTenantGateway");
|
|
5
|
+
export { InstallTenantGateway, InstallTenantRepository, InstallTenantUseCase };
|
|
6
|
+
|
|
7
|
+
//# sourceMappingURL=abstractions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin/InstallTenant/abstractions.js","sources":["../../../src/admin/InstallTenant/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/admin\";\n\nexport interface IInstallTenantUseCase {\n execute(tenantId: string): Promise<void>;\n}\n\nexport const InstallTenantUseCase =\n createAbstraction<IInstallTenantUseCase>(\"InstallTenantUseCase\");\n\nexport namespace InstallTenantUseCase {\n export type Interface = IInstallTenantUseCase;\n}\n\nexport interface IInstallTenantRepository {\n execute(tenantId: string): Promise<void>;\n}\n\nexport const InstallTenantRepository =\n createAbstraction<IInstallTenantRepository>(\"InstallTenantRepository\");\n\nexport namespace InstallTenantRepository {\n export type Interface = IInstallTenantRepository;\n}\n\nexport interface IInstallTenantGateway {\n installTenant(tenantId: string): Promise<boolean>;\n}\n\nexport const InstallTenantGateway =\n createAbstraction<IInstallTenantGateway>(\"InstallTenantGateway\");\n\nexport namespace InstallTenantGateway {\n export type Interface = IInstallTenantGateway;\n}\n"],"names":["InstallTenantUseCase","createAbstraction","InstallTenantRepository","InstallTenantGateway"],"mappings":";AAMO,MAAMA,uBACTC,kBAAyC;AAUtC,MAAMC,0BACTD,kBAA4C;AAUzC,MAAME,uBACTF,kBAAyC"}
|