@webiny/tenant-manager 6.3.0-beta.4 → 6.4.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/TenantManager.js +8 -9
- package/TenantManager.js.map +1 -1
- package/admin/CurrentTenant/CurrentTenant.js +15 -24
- package/admin/CurrentTenant/CurrentTenant.js.map +1 -1
- package/admin/CurrentTenant/CurrentTenantGateway.js +18 -19
- package/admin/CurrentTenant/CurrentTenantGateway.js.map +1 -1
- package/admin/CurrentTenant/CurrentTenantPresenter.js +26 -23
- package/admin/CurrentTenant/CurrentTenantPresenter.js.map +1 -1
- package/admin/CurrentTenant/CurrentTenantRepository.js +30 -29
- package/admin/CurrentTenant/CurrentTenantRepository.js.map +1 -1
- package/admin/CurrentTenant/abstractions.js +4 -12
- package/admin/CurrentTenant/abstractions.js.map +1 -1
- package/admin/CurrentTenant/feature.js +15 -14
- package/admin/CurrentTenant/feature.js.map +1 -1
- package/admin/CurrentTenant/useCurrentTenant.js +11 -16
- package/admin/CurrentTenant/useCurrentTenant.js.map +1 -1
- package/admin/CurrentTenantProvider.js +5 -8
- package/admin/CurrentTenantProvider.js.map +1 -1
- package/admin/DisableTenant/DisableTenantGateway.js +21 -22
- package/admin/DisableTenant/DisableTenantGateway.js.map +1 -1
- package/admin/DisableTenant/DisableTenantRepository.js +13 -10
- package/admin/DisableTenant/DisableTenantRepository.js.map +1 -1
- package/admin/DisableTenant/DisableTenantUseCase.js +13 -10
- package/admin/DisableTenant/DisableTenantUseCase.js.map +1 -1
- package/admin/DisableTenant/abstractions.js +4 -12
- package/admin/DisableTenant/abstractions.js.map +1 -1
- package/admin/DisableTenant/feature.js +15 -14
- package/admin/DisableTenant/feature.js.map +1 -1
- package/admin/DisableTenant/index.js +0 -2
- package/admin/DisableTenant/useDisableTenant.js +20 -20
- package/admin/DisableTenant/useDisableTenant.js.map +1 -1
- package/admin/EnableTenant/EnableTenantGateway.js +21 -22
- package/admin/EnableTenant/EnableTenantGateway.js.map +1 -1
- package/admin/EnableTenant/EnableTenantRepository.js +13 -10
- package/admin/EnableTenant/EnableTenantRepository.js.map +1 -1
- package/admin/EnableTenant/EnableTenantUseCase.js +13 -10
- package/admin/EnableTenant/EnableTenantUseCase.js.map +1 -1
- package/admin/EnableTenant/abstractions.js +4 -12
- package/admin/EnableTenant/abstractions.js.map +1 -1
- package/admin/EnableTenant/feature.js +15 -14
- package/admin/EnableTenant/feature.js.map +1 -1
- package/admin/EnableTenant/index.js +0 -2
- package/admin/EnableTenant/useEnableTenant.js +19 -18
- package/admin/EnableTenant/useEnableTenant.js.map +1 -1
- package/admin/Extension.js +32 -36
- package/admin/Extension.js.map +1 -1
- package/admin/IsRootTenant.js +14 -32
- package/admin/IsRootTenant.js.map +1 -1
- package/admin/SecurityPermission.js +11 -14
- package/admin/SecurityPermission.js.map +1 -1
- package/admin/TenantEntryList/DisableTenant/useDisableTenantDialog.js +36 -37
- package/admin/TenantEntryList/DisableTenant/useDisableTenantDialog.js.map +1 -1
- package/admin/TenantEntryList/EnableTenant/EnableTenant.js +10 -14
- package/admin/TenantEntryList/EnableTenant/EnableTenant.js.map +1 -1
- package/admin/TenantEntryList/EnableTenant/useEnableTenant.js +34 -33
- package/admin/TenantEntryList/EnableTenant/useEnableTenant.js.map +1 -1
- package/admin/TenantEntryList/FolderNameCell.js +19 -24
- package/admin/TenantEntryList/FolderNameCell.js.map +1 -1
- package/admin/TenantEntryList/InstallTenantButton/InstallTenant.js +10 -14
- package/admin/TenantEntryList/InstallTenantButton/InstallTenant.js.map +1 -1
- package/admin/TenantEntryList/InstallTenantButton/installTenant.gql.js +3 -2
- package/admin/TenantEntryList/InstallTenantButton/installTenant.gql.js.map +1 -1
- package/admin/TenantEntryList/InstallTenantButton/useInstallTenant.js +34 -38
- package/admin/TenantEntryList/InstallTenantButton/useInstallTenant.js.map +1 -1
- package/admin/TenantEntryList/ManageTenant.js +15 -16
- package/admin/TenantEntryList/ManageTenant.js.map +1 -1
- package/admin/TenantEntryList/TenantCell.js +15 -30
- package/admin/TenantEntryList/TenantCell.js.map +1 -1
- package/admin/TenantEntryList/TenantNameCell.js +35 -45
- package/admin/TenantEntryList/TenantNameCell.js.map +1 -1
- package/admin/TenantEntryList.js +43 -60
- package/admin/TenantEntryList.js.map +1 -1
- package/admin/TenantSelector.js +31 -35
- package/admin/TenantSelector.js.map +1 -1
- package/admin/domain/permissionsSchema.js +4 -3
- package/admin/domain/permissionsSchema.js.map +1 -1
- package/admin/features/permissions/abstractions.js +2 -1
- package/admin/features/permissions/abstractions.js.map +1 -1
- package/admin/features/permissions/feature.js +2 -1
- package/admin/features/permissions/feature.js.map +1 -1
- package/admin/types.js +0 -3
- package/api/Extension.js +20 -23
- package/api/Extension.js.map +1 -1
- package/api/domain/TenantId.js +5 -7
- package/api/domain/TenantId.js.map +1 -1
- package/api/domain/TenantModel.js +59 -37
- package/api/domain/TenantModel.js.map +1 -1
- package/api/domain/TenantModelExtension.js +2 -2
- package/api/domain/TenantModelExtension.js.map +1 -1
- package/api/domain/errors.js +49 -54
- package/api/domain/errors.js.map +1 -1
- package/api/features/AddCmsPermissions/AddCmsPermissions.js +40 -31
- package/api/features/AddCmsPermissions/AddCmsPermissions.js.map +1 -1
- package/api/features/AddCmsPermissions/feature.js +6 -5
- package/api/features/AddCmsPermissions/feature.js.map +1 -1
- package/api/features/CreateAndInstallTenant/CreateAndInstallTenantUseCase.js +67 -85
- package/api/features/CreateAndInstallTenant/CreateAndInstallTenantUseCase.js.map +1 -1
- package/api/features/CreateAndInstallTenant/abstractions.js +2 -6
- package/api/features/CreateAndInstallTenant/abstractions.js.map +1 -1
- package/api/features/CreateAndInstallTenant/feature.js +6 -6
- package/api/features/CreateAndInstallTenant/feature.js.map +1 -1
- package/api/features/CreateTenant/CreateTenantRepository.js +33 -38
- package/api/features/CreateTenant/CreateTenantRepository.js.map +1 -1
- package/api/features/CreateTenant/CreateTenantUseCase.js +29 -32
- package/api/features/CreateTenant/CreateTenantUseCase.js.map +1 -1
- package/api/features/CreateTenant/abstractions.js +3 -8
- package/api/features/CreateTenant/abstractions.js.map +1 -1
- package/api/features/CreateTenant/feature.js +7 -9
- package/api/features/CreateTenant/feature.js.map +1 -1
- package/api/features/DeleteTenantOnEntryDelete/DeleteTenantOnEntryDeleteHandler.js +17 -27
- package/api/features/DeleteTenantOnEntryDelete/DeleteTenantOnEntryDeleteHandler.js.map +1 -1
- package/api/features/DeleteTenantOnEntryDelete/feature.js +6 -6
- package/api/features/DeleteTenantOnEntryDelete/feature.js.map +1 -1
- package/api/features/DisableTenant/DisableTenantUseCase.js +41 -53
- package/api/features/DisableTenant/DisableTenantUseCase.js.map +1 -1
- package/api/features/DisableTenant/abstractions.js +2 -1
- package/api/features/DisableTenant/abstractions.js.map +1 -1
- package/api/features/DisableTenant/events.js +17 -12
- package/api/features/DisableTenant/events.js.map +1 -1
- package/api/features/DisableTenant/feature.js +6 -6
- package/api/features/DisableTenant/feature.js.map +1 -1
- package/api/features/EnableTenant/EnableTenantUseCase.js +43 -55
- package/api/features/EnableTenant/EnableTenantUseCase.js.map +1 -1
- package/api/features/EnableTenant/abstractions.js +2 -1
- package/api/features/EnableTenant/abstractions.js.map +1 -1
- package/api/features/EnableTenant/events.js +17 -12
- package/api/features/EnableTenant/events.js.map +1 -1
- package/api/features/EnableTenant/feature.js +6 -6
- package/api/features/EnableTenant/feature.js.map +1 -1
- package/api/features/GetCurrentTenant/GetCurrentTenantUseCase.js +21 -24
- package/api/features/GetCurrentTenant/GetCurrentTenantUseCase.js.map +1 -1
- package/api/features/GetCurrentTenant/abstractions.js +2 -7
- package/api/features/GetCurrentTenant/abstractions.js.map +1 -1
- package/api/features/GetCurrentTenant/feature.js +6 -6
- package/api/features/GetCurrentTenant/feature.js.map +1 -1
- package/api/features/GetTenantById/GetTenantByIdRepository.js +31 -36
- package/api/features/GetTenantById/GetTenantByIdRepository.js.map +1 -1
- package/api/features/GetTenantById/GetTenantByIdUseCase.js +15 -19
- package/api/features/GetTenantById/GetTenantByIdUseCase.js.map +1 -1
- package/api/features/GetTenantById/abstractions.js +3 -12
- package/api/features/GetTenantById/abstractions.js.map +1 -1
- package/api/features/GetTenantById/feature.js +7 -9
- package/api/features/GetTenantById/feature.js.map +1 -1
- package/api/features/UpdateTenant/UpdateTenantRepository.js +40 -47
- package/api/features/UpdateTenant/UpdateTenantRepository.js.map +1 -1
- package/api/features/UpdateTenant/UpdateTenantUseCase.js +15 -15
- package/api/features/UpdateTenant/UpdateTenantUseCase.js.map +1 -1
- package/api/features/UpdateTenant/abstractions.js +3 -12
- package/api/features/UpdateTenant/abstractions.js.map +1 -1
- package/api/features/UpdateTenant/feature.js +7 -9
- package/api/features/UpdateTenant/feature.js.map +1 -1
- package/api/graphql/CreateTenantSchema.js +53 -55
- package/api/graphql/CreateTenantSchema.js.map +1 -1
- package/api/graphql/DisableTenantSchema.js +20 -24
- package/api/graphql/DisableTenantSchema.js.map +1 -1
- package/api/graphql/EnableTenantSchema.js +20 -24
- package/api/graphql/EnableTenantSchema.js.map +1 -1
- package/api/graphql/GetCurrentTenantSchema.js +24 -28
- package/api/graphql/GetCurrentTenantSchema.js.map +1 -1
- package/api/graphql/InstallTenantSchema.js +26 -33
- package/api/graphql/InstallTenantSchema.js.map +1 -1
- package/exports/admin/tenancy.js +1 -5
- package/exports/api/tenant-manager.js +0 -2
- package/index.js +0 -2
- package/package.json +16 -16
- package/shared/Tenant.js +23 -22
- package/shared/Tenant.js.map +1 -1
- package/shared/constants.js +2 -1
- package/shared/constants.js.map +1 -1
- package/admin/DisableTenant/index.js.map +0 -1
- package/admin/EnableTenant/index.js.map +0 -1
- package/admin/types.js.map +0 -1
- package/exports/admin/tenancy.js.map +0 -1
- package/exports/api/tenant-manager.js.map +0 -1
- package/index.js.map +0 -1
|
@@ -1,15 +1,18 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DisableTenantRepository, DisableTenantUseCase } from "./abstractions.js";
|
|
2
2
|
class DisableTenantUseCaseImpl {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
3
|
+
constructor(repository){
|
|
4
|
+
this.repository = repository;
|
|
5
|
+
}
|
|
6
|
+
async execute(tenantId) {
|
|
7
|
+
return this.repository.execute(tenantId);
|
|
8
|
+
}
|
|
9
9
|
}
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
const DisableTenantUseCase_DisableTenantUseCase = DisableTenantUseCase.createImplementation({
|
|
11
|
+
implementation: DisableTenantUseCaseImpl,
|
|
12
|
+
dependencies: [
|
|
13
|
+
DisableTenantRepository
|
|
14
|
+
]
|
|
13
15
|
});
|
|
16
|
+
export { DisableTenantUseCase_DisableTenantUseCase as DisableTenantUseCase };
|
|
14
17
|
|
|
15
18
|
//# sourceMappingURL=DisableTenantUseCase.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"admin/DisableTenant/DisableTenantUseCase.js","sources":["../../../src/admin/DisableTenant/DisableTenantUseCase.ts"],"sourcesContent":["import {\n DisableTenantUseCase as UseCaseAbstraction,\n DisableTenantRepository\n} from \"./abstractions.js\";\n\nclass DisableTenantUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(private repository: DisableTenantRepository.Interface) {}\n\n async execute(tenantId: string): Promise<void> {\n return this.repository.execute(tenantId);\n }\n}\n\nexport const DisableTenantUseCase = UseCaseAbstraction.createImplementation({\n implementation: DisableTenantUseCaseImpl,\n dependencies: [DisableTenantRepository]\n});\n"],"names":["DisableTenantUseCaseImpl","repository","tenantId","DisableTenantUseCase","UseCaseAbstraction","DisableTenantRepository"],"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"}
|
|
@@ -1,15 +1,7 @@
|
|
|
1
1
|
import { createAbstraction } from "@webiny/feature/admin";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
export
|
|
6
|
-
|
|
7
|
-
// Repository abstraction - delegates to gateway
|
|
8
|
-
|
|
9
|
-
export const DisableTenantRepository = createAbstraction("DisableTenantRepository");
|
|
10
|
-
|
|
11
|
-
// Gateway abstraction - GraphQL call
|
|
12
|
-
|
|
13
|
-
export const DisableTenantGateway = createAbstraction("DisableTenantGateway");
|
|
2
|
+
const DisableTenantUseCase = createAbstraction("DisableTenantUseCase");
|
|
3
|
+
const DisableTenantRepository = createAbstraction("DisableTenantRepository");
|
|
4
|
+
const DisableTenantGateway = createAbstraction("DisableTenantGateway");
|
|
5
|
+
export { DisableTenantGateway, DisableTenantRepository, DisableTenantUseCase };
|
|
14
6
|
|
|
15
7
|
//# sourceMappingURL=abstractions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"admin/DisableTenant/abstractions.js","sources":["../../../src/admin/DisableTenant/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/admin\";\n\n// UseCase abstraction - only execute method\nexport interface IDisableTenantUseCase {\n execute(tenantId: string): Promise<void>;\n}\n\nexport const DisableTenantUseCase =\n createAbstraction<IDisableTenantUseCase>(\"DisableTenantUseCase\");\n\nexport namespace DisableTenantUseCase {\n export type Interface = IDisableTenantUseCase;\n}\n\n// Repository abstraction - delegates to gateway\nexport interface IDisableTenantRepository {\n execute(tenantId: string): Promise<void>;\n}\n\nexport const DisableTenantRepository =\n createAbstraction<IDisableTenantRepository>(\"DisableTenantRepository\");\n\nexport namespace DisableTenantRepository {\n export type Interface = IDisableTenantRepository;\n}\n\n// Gateway abstraction - GraphQL call\nexport interface IDisableTenantGateway {\n disableTenant(tenantId: string): Promise<boolean>;\n}\n\nexport const DisableTenantGateway =\n createAbstraction<IDisableTenantGateway>(\"DisableTenantGateway\");\n\nexport namespace DisableTenantGateway {\n export type Interface = IDisableTenantGateway;\n}\n"],"names":["DisableTenantUseCase","createAbstraction","DisableTenantRepository","DisableTenantGateway"],"mappings":";AAOO,MAAMA,uBACTC,kBAAyC;AAWtC,MAAMC,0BACTD,kBAA4C;AAWzC,MAAME,uBACTF,kBAAyC"}
|
|
@@ -1,20 +1,21 @@
|
|
|
1
1
|
import { createFeature } from "@webiny/feature/admin";
|
|
2
|
-
import { DisableTenantUseCase
|
|
3
|
-
import { DisableTenantUseCase } from "./DisableTenantUseCase.js";
|
|
2
|
+
import { DisableTenantUseCase } from "./abstractions.js";
|
|
3
|
+
import { DisableTenantUseCase as external_DisableTenantUseCase_js_DisableTenantUseCase } from "./DisableTenantUseCase.js";
|
|
4
4
|
import { DisableTenantRepository } from "./DisableTenantRepository.js";
|
|
5
5
|
import { DisableTenantGateway } from "./DisableTenantGateway.js";
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
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
18
|
});
|
|
19
|
+
export { DisableTenantFeature };
|
|
19
20
|
|
|
20
21
|
//# sourceMappingURL=feature.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
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"}
|
|
@@ -2,26 +2,26 @@ import { useCallback } from "react";
|
|
|
2
2
|
import { useFeature } from "@webiny/app-admin";
|
|
3
3
|
import { DisableTenantFeature } from "./feature.js";
|
|
4
4
|
import { useRecords } from "@webiny/app-aco";
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
};
|
|
5
|
+
const useDisableTenant = (tenant)=>{
|
|
6
|
+
const { useCase } = useFeature(DisableTenantFeature);
|
|
7
|
+
const { updateRecordInCache } = useRecords();
|
|
8
|
+
const disableTenant = useCallback(async ()=>{
|
|
9
|
+
await useCase.execute(tenant.entryId);
|
|
10
|
+
updateRecordInCache({
|
|
11
|
+
...tenant,
|
|
12
|
+
values: {
|
|
13
|
+
...tenant.values,
|
|
14
|
+
status: "disabled"
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
}, [
|
|
18
|
+
useCase,
|
|
19
|
+
tenant
|
|
20
|
+
]);
|
|
21
|
+
return {
|
|
22
|
+
disableTenant
|
|
23
|
+
};
|
|
25
24
|
};
|
|
25
|
+
export { useDisableTenant };
|
|
26
26
|
|
|
27
27
|
//# sourceMappingURL=useDisableTenant.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
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 { useRecords } from \"@webiny/app-aco\";\nimport type { TenantEntry } from \"~/admin/types.js\";\n\nexport const useDisableTenant = (tenant: TenantEntry) => {\n const { useCase } = useFeature(DisableTenantFeature);\n const { updateRecordInCache } = useRecords();\n\n const disableTenant = useCallback(async () => {\n await useCase.execute(tenant.entryId);\n\n updateRecordInCache({\n ...tenant,\n values: {\n ...tenant.values,\n status: \"disabled\"\n }\n });\n }, [useCase, tenant]);\n\n return { disableTenant };\n};\n"],"names":["useDisableTenant","tenant","useCase","useFeature","DisableTenantFeature","updateRecordInCache","useRecords","disableTenant","useCallback"],"mappings":";;;;AAMO,MAAMA,mBAAmB,CAACC;IAC7B,MAAM,EAAEC,OAAO,EAAE,GAAGC,WAAWC;IAC/B,MAAM,EAAEC,mBAAmB,EAAE,GAAGC;IAEhC,MAAMC,gBAAgBC,YAAY;QAC9B,MAAMN,QAAQ,OAAO,CAACD,OAAO,OAAO;QAEpCI,oBAAoB;YAChB,GAAGJ,MAAM;YACT,QAAQ;gBACJ,GAAGA,OAAO,MAAM;gBAChB,QAAQ;YACZ;QACJ;IACJ,GAAG;QAACC;QAASD;KAAO;IAEpB,OAAO;QAAEM;IAAc;AAC3B"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { MainGraphQLClient } from "@webiny/app/features/mainGraphQLClient/index.js";
|
|
2
|
-
import { EnableTenantGateway
|
|
3
|
-
const ENABLE_TENANT =
|
|
2
|
+
import { EnableTenantGateway } from "./abstractions.js";
|
|
3
|
+
const ENABLE_TENANT = `
|
|
4
4
|
mutation EnableTenant($tenantId: ID!) {
|
|
5
5
|
tenantManager {
|
|
6
6
|
enableTenant(tenantId: $tenantId) {
|
|
@@ -15,29 +15,28 @@ const ENABLE_TENANT = /* GraphQL */`
|
|
|
15
15
|
}
|
|
16
16
|
`;
|
|
17
17
|
class EnableTenantGraphQLGateway {
|
|
18
|
-
|
|
19
|
-
|
|
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) {
|
|
30
|
-
throw new Error(envelope.error.message);
|
|
18
|
+
constructor(client){
|
|
19
|
+
this.client = client;
|
|
31
20
|
}
|
|
32
|
-
|
|
33
|
-
|
|
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;
|
|
34
32
|
}
|
|
35
|
-
return envelope.data;
|
|
36
|
-
}
|
|
37
33
|
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
34
|
+
const EnableTenantGateway_EnableTenantGateway = EnableTenantGateway.createImplementation({
|
|
35
|
+
implementation: EnableTenantGraphQLGateway,
|
|
36
|
+
dependencies: [
|
|
37
|
+
MainGraphQLClient
|
|
38
|
+
]
|
|
41
39
|
});
|
|
40
|
+
export { EnableTenantGateway_EnableTenantGateway as EnableTenantGateway };
|
|
42
41
|
|
|
43
42
|
//# sourceMappingURL=EnableTenantGateway.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
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"}
|
|
@@ -1,15 +1,18 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { EnableTenantGateway, EnableTenantRepository } from "./abstractions.js";
|
|
2
2
|
class EnableTenantRepositoryImpl {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
3
|
+
constructor(gateway){
|
|
4
|
+
this.gateway = gateway;
|
|
5
|
+
}
|
|
6
|
+
async execute(tenantId) {
|
|
7
|
+
await this.gateway.enableTenant(tenantId);
|
|
8
|
+
}
|
|
9
9
|
}
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
const EnableTenantRepository_EnableTenantRepository = EnableTenantRepository.createImplementation({
|
|
11
|
+
implementation: EnableTenantRepositoryImpl,
|
|
12
|
+
dependencies: [
|
|
13
|
+
EnableTenantGateway
|
|
14
|
+
]
|
|
13
15
|
});
|
|
16
|
+
export { EnableTenantRepository_EnableTenantRepository as EnableTenantRepository };
|
|
14
17
|
|
|
15
18
|
//# sourceMappingURL=EnableTenantRepository.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
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\";\n\nclass EnableTenantRepositoryImpl implements RepositoryAbstraction.Interface {\n constructor(private gateway: EnableTenantGateway.Interface) {}\n\n async execute(tenantId: string): Promise<void> {\n await this.gateway.enableTenant(tenantId);\n }\n}\n\nexport const EnableTenantRepository = RepositoryAbstraction.createImplementation({\n implementation: EnableTenantRepositoryImpl,\n dependencies: [EnableTenantGateway]\n});\n"],"names":["EnableTenantRepositoryImpl","gateway","tenantId","EnableTenantRepository","RepositoryAbstraction","EnableTenantGateway"],"mappings":";AAKA,MAAMA;IACF,YAAoBC,OAAsC,CAAE;aAAxCA,OAAO,GAAPA;IAAyC;IAE7D,MAAM,QAAQC,QAAgB,EAAiB;QAC3C,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAACA;IACpC;AACJ;AAEO,MAAMC,gDAAyBC,uBAAAA,oBAA0C,CAAC;IAC7E,gBAAgBJ;IAChB,cAAc;QAACK;KAAoB;AACvC"}
|
|
@@ -1,15 +1,18 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { EnableTenantRepository, EnableTenantUseCase } from "./abstractions.js";
|
|
2
2
|
class EnableTenantUseCaseImpl {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
3
|
+
constructor(repository){
|
|
4
|
+
this.repository = repository;
|
|
5
|
+
}
|
|
6
|
+
async execute(tenantId) {
|
|
7
|
+
return this.repository.execute(tenantId);
|
|
8
|
+
}
|
|
9
9
|
}
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
const EnableTenantUseCase_EnableTenantUseCase = EnableTenantUseCase.createImplementation({
|
|
11
|
+
implementation: EnableTenantUseCaseImpl,
|
|
12
|
+
dependencies: [
|
|
13
|
+
EnableTenantRepository
|
|
14
|
+
]
|
|
13
15
|
});
|
|
16
|
+
export { EnableTenantUseCase_EnableTenantUseCase as EnableTenantUseCase };
|
|
14
17
|
|
|
15
18
|
//# sourceMappingURL=EnableTenantUseCase.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
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"}
|
|
@@ -1,15 +1,7 @@
|
|
|
1
1
|
import { createAbstraction } from "@webiny/feature/admin";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
export
|
|
6
|
-
|
|
7
|
-
// Repository abstraction - delegates to gateway
|
|
8
|
-
|
|
9
|
-
export const EnableTenantRepository = createAbstraction("EnableTenantRepository");
|
|
10
|
-
|
|
11
|
-
// Gateway abstraction - GraphQL call
|
|
12
|
-
|
|
13
|
-
export const EnableTenantGateway = createAbstraction("EnableTenantGateway");
|
|
2
|
+
const EnableTenantUseCase = createAbstraction("EnableTenantUseCase");
|
|
3
|
+
const EnableTenantRepository = createAbstraction("EnableTenantRepository");
|
|
4
|
+
const EnableTenantGateway = createAbstraction("EnableTenantGateway");
|
|
5
|
+
export { EnableTenantGateway, EnableTenantRepository, EnableTenantUseCase };
|
|
14
6
|
|
|
15
7
|
//# sourceMappingURL=abstractions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
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"}
|
|
@@ -1,20 +1,21 @@
|
|
|
1
1
|
import { createFeature } from "@webiny/feature/admin";
|
|
2
|
-
import { EnableTenantUseCase
|
|
3
|
-
import { EnableTenantUseCase } from "./EnableTenantUseCase.js";
|
|
2
|
+
import { EnableTenantUseCase } from "./abstractions.js";
|
|
3
|
+
import { EnableTenantUseCase as external_EnableTenantUseCase_js_EnableTenantUseCase } from "./EnableTenantUseCase.js";
|
|
4
4
|
import { EnableTenantRepository } from "./EnableTenantRepository.js";
|
|
5
5
|
import { EnableTenantGateway } from "./EnableTenantGateway.js";
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
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
18
|
});
|
|
19
|
+
export { EnableTenantFeature };
|
|
19
20
|
|
|
20
21
|
//# sourceMappingURL=feature.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
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"}
|
|
@@ -1,23 +1,24 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { useCallback, useState } from "react";
|
|
2
2
|
import { useFeature } from "@webiny/app-admin";
|
|
3
3
|
import { EnableTenantFeature } from "./feature.js";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
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
21
|
};
|
|
22
|
+
export { useEnableTenant };
|
|
22
23
|
|
|
23
24
|
//# sourceMappingURL=useEnableTenant.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
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"}
|
package/admin/Extension.js
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { AdminConfig, HasPermission, RegisterFeature } from "@webiny/app-admin";
|
|
3
|
-
import { useRouter } from "@webiny/app-admin";
|
|
1
|
+
import react from "react";
|
|
2
|
+
import { AdminConfig, HasPermission, RegisterFeature, useRouter } from "@webiny/app-admin";
|
|
4
3
|
import { Routes } from "@webiny/app-headless-cms";
|
|
5
|
-
import { ReactComponent
|
|
4
|
+
import { ReactComponent } from "@webiny/icons/business.svg";
|
|
6
5
|
import { TenantEntryList } from "./TenantEntryList.js";
|
|
7
6
|
import { CurrentTenantProvider } from "./CurrentTenantProvider.js";
|
|
8
7
|
import { CurrentTenantFeature } from "./CurrentTenant/feature.js";
|
|
@@ -13,38 +12,35 @@ import { IsRootTenant } from "./IsRootTenant.js";
|
|
|
13
12
|
import { TENANT_MODEL_ID } from "../shared/constants.js";
|
|
14
13
|
import { SecurityPermission } from "./SecurityPermission.js";
|
|
15
14
|
import { TmPermissionsFeature } from "./features/permissions/feature.js";
|
|
16
|
-
const {
|
|
17
|
-
|
|
18
|
-
} =
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
icon: icon,
|
|
45
|
-
to: link
|
|
46
|
-
})
|
|
47
|
-
})))));
|
|
15
|
+
const { Menu: Menu } = AdminConfig;
|
|
16
|
+
const Extension = ()=>{
|
|
17
|
+
const { getLink } = useRouter();
|
|
18
|
+
const link = getLink(Routes.ContentEntries.List, {
|
|
19
|
+
modelId: TENANT_MODEL_ID
|
|
20
|
+
});
|
|
21
|
+
const icon = /*#__PURE__*/ react.createElement(Menu.Link.Icon, {
|
|
22
|
+
element: /*#__PURE__*/ react.createElement(ReactComponent, null),
|
|
23
|
+
label: "Tenant"
|
|
24
|
+
});
|
|
25
|
+
return /*#__PURE__*/ react.createElement(react.Fragment, null, /*#__PURE__*/ react.createElement(RegisterFeature, {
|
|
26
|
+
feature: CurrentTenantFeature
|
|
27
|
+
}), /*#__PURE__*/ react.createElement(RegisterFeature, {
|
|
28
|
+
feature: TmPermissionsFeature
|
|
29
|
+
}), /*#__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, {
|
|
30
|
+
feature: DisableTenantFeature
|
|
31
|
+
}), /*#__PURE__*/ react.createElement(RegisterFeature, {
|
|
32
|
+
feature: EnableTenantFeature
|
|
33
|
+
}), /*#__PURE__*/ react.createElement(HasPermission, {
|
|
34
|
+
name: "tm.tenant"
|
|
35
|
+
}, /*#__PURE__*/ react.createElement(Menu, {
|
|
36
|
+
name: "tenantManager",
|
|
37
|
+
element: /*#__PURE__*/ react.createElement(Menu.Link, {
|
|
38
|
+
text: "Tenant Manager",
|
|
39
|
+
icon: icon,
|
|
40
|
+
to: link
|
|
41
|
+
})
|
|
42
|
+
})))));
|
|
48
43
|
};
|
|
44
|
+
export { Extension };
|
|
49
45
|
|
|
50
46
|
//# sourceMappingURL=Extension.js.map
|
package/admin/Extension.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
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\";\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 <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","CurrentTenantProvider","TenantSelector","TenantEntryList","SecurityPermission","IsRootTenant","DisableTenantFeature","EnableTenantFeature","HasPermission"],"mappings":";;;;;;;;;;;;;;AAiBA,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,oBAACC,uBAAqBA,OAAAA,WAAAA,GACtB,oBAACC,gBAAcA,OAAAA,WAAAA,GACf,oBAACC,iBAAeA,OAAAA,WAAAA,GAChB,oBAACC,oBAAkBA,OAAAA,WAAAA,GACnB,oBAACf,aAAWA,MAAAA,WAAAA,GACR,oBAACgB,cAAYA,MAAAA,WAAAA,GACT,oBAACP,iBAAeA;QAAC,SAASQ;sBAC1B,oBAACR,iBAAeA;QAAC,SAASS;sBAC1B,oBAACC,eAAaA;QAAC,MAAM;qBACjB,oBAACpB,MAAIA;QACD,MAAK;QACL,uBAAS,oBAACA,KAAK,IAAI;YAAC,MAAK;YAAiB,MAAMQ;YAAM,IAAIH;;;AAOtF"}
|