@webiny/tenant-manager 0.0.0-unstable.61c048f412
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 +12 -0
- package/TenantManager.js.map +1 -0
- package/admin/CurrentTenant/CurrentTenant.d.ts +6 -0
- package/admin/CurrentTenant/CurrentTenant.js +34 -0
- package/admin/CurrentTenant/CurrentTenant.js.map +1 -0
- package/admin/CurrentTenant/CurrentTenantGateway.d.ts +12 -0
- package/admin/CurrentTenant/CurrentTenantGateway.js +44 -0
- package/admin/CurrentTenant/CurrentTenantGateway.js.map +1 -0
- package/admin/CurrentTenant/CurrentTenantPresenter.d.ts +12 -0
- package/admin/CurrentTenant/CurrentTenantPresenter.js +30 -0
- package/admin/CurrentTenant/CurrentTenantPresenter.js.map +1 -0
- package/admin/CurrentTenant/CurrentTenantRepository.d.ts +15 -0
- package/admin/CurrentTenant/CurrentTenantRepository.js +37 -0
- package/admin/CurrentTenant/CurrentTenantRepository.js.map +1 -0
- package/admin/CurrentTenant/abstractions.d.ts +31 -0
- package/admin/CurrentTenant/abstractions.js +15 -0
- package/admin/CurrentTenant/abstractions.js.map +1 -0
- package/admin/CurrentTenant/feature.d.ts +3 -0
- package/admin/CurrentTenant/feature.js +20 -0
- package/admin/CurrentTenant/feature.js.map +1 -0
- package/admin/CurrentTenant/useCurrentTenant.d.ts +4 -0
- package/admin/CurrentTenant/useCurrentTenant.js +23 -0
- package/admin/CurrentTenant/useCurrentTenant.js.map +1 -0
- package/admin/CurrentTenantProvider.d.ts +2 -0
- package/admin/CurrentTenantProvider.js +12 -0
- package/admin/CurrentTenantProvider.js.map +1 -0
- package/admin/DisableTenant/DisableTenantGateway.d.ts +11 -0
- package/admin/DisableTenant/DisableTenantGateway.js +43 -0
- package/admin/DisableTenant/DisableTenantGateway.js.map +1 -0
- package/admin/DisableTenant/DisableTenantRepository.d.ts +10 -0
- package/admin/DisableTenant/DisableTenantRepository.js +15 -0
- package/admin/DisableTenant/DisableTenantRepository.js.map +1 -0
- package/admin/DisableTenant/DisableTenantUseCase.d.ts +10 -0
- package/admin/DisableTenant/DisableTenantUseCase.js +15 -0
- package/admin/DisableTenant/DisableTenantUseCase.js.map +1 -0
- package/admin/DisableTenant/abstractions.d.ts +21 -0
- package/admin/DisableTenant/abstractions.js +15 -0
- package/admin/DisableTenant/abstractions.js.map +1 -0
- package/admin/DisableTenant/feature.d.ts +3 -0
- package/admin/DisableTenant/feature.js +20 -0
- package/admin/DisableTenant/feature.js.map +1 -0
- package/admin/DisableTenant/index.d.ts +2 -0
- package/admin/DisableTenant/index.js +4 -0
- package/admin/DisableTenant/index.js.map +1 -0
- package/admin/DisableTenant/useDisableTenant.d.ts +4 -0
- package/admin/DisableTenant/useDisableTenant.js +27 -0
- package/admin/DisableTenant/useDisableTenant.js.map +1 -0
- package/admin/EnableTenant/EnableTenantGateway.d.ts +11 -0
- package/admin/EnableTenant/EnableTenantGateway.js +43 -0
- package/admin/EnableTenant/EnableTenantGateway.js.map +1 -0
- package/admin/EnableTenant/EnableTenantRepository.d.ts +10 -0
- package/admin/EnableTenant/EnableTenantRepository.js +15 -0
- package/admin/EnableTenant/EnableTenantRepository.js.map +1 -0
- package/admin/EnableTenant/EnableTenantUseCase.d.ts +10 -0
- package/admin/EnableTenant/EnableTenantUseCase.js +15 -0
- package/admin/EnableTenant/EnableTenantUseCase.js.map +1 -0
- package/admin/EnableTenant/abstractions.d.ts +21 -0
- package/admin/EnableTenant/abstractions.js +15 -0
- package/admin/EnableTenant/abstractions.js.map +1 -0
- package/admin/EnableTenant/feature.d.ts +3 -0
- package/admin/EnableTenant/feature.js +20 -0
- package/admin/EnableTenant/feature.js.map +1 -0
- package/admin/EnableTenant/index.d.ts +2 -0
- package/admin/EnableTenant/index.js +4 -0
- package/admin/EnableTenant/index.js.map +1 -0
- package/admin/EnableTenant/useEnableTenant.d.ts +4 -0
- package/admin/EnableTenant/useEnableTenant.js +23 -0
- package/admin/EnableTenant/useEnableTenant.js.map +1 -0
- package/admin/Extension.d.ts +2 -0
- package/admin/Extension.js +47 -0
- package/admin/Extension.js.map +1 -0
- package/admin/IsRootTenant.d.ts +13 -0
- package/admin/IsRootTenant.js +37 -0
- package/admin/IsRootTenant.js.map +1 -0
- package/admin/Permissions/LegacyPermissionRenderer.d.ts +1 -0
- package/admin/Permissions/LegacyPermissionRenderer.js +29 -0
- package/admin/Permissions/LegacyPermissionRenderer.js.map +1 -0
- package/admin/Permissions/TenantManagerPermissions.d.ts +11 -0
- package/admin/Permissions/TenantManagerPermissions.js +75 -0
- package/admin/Permissions/TenantManagerPermissions.js.map +1 -0
- package/admin/TenantEntryList/DisableTenant/useDisableTenantDialog.d.ts +8 -0
- package/admin/TenantEntryList/DisableTenant/useDisableTenantDialog.js +42 -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 +19 -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 +39 -0
- package/admin/TenantEntryList/EnableTenant/useEnableTenant.js.map +1 -0
- package/admin/TenantEntryList/FolderNameCell.d.ts +7 -0
- package/admin/TenantEntryList/FolderNameCell.js +29 -0
- package/admin/TenantEntryList/FolderNameCell.js.map +1 -0
- package/admin/TenantEntryList/InstallTenantButton/InstallTenant.d.ts +7 -0
- package/admin/TenantEntryList/InstallTenantButton/InstallTenant.js +19 -0
- package/admin/TenantEntryList/InstallTenantButton/InstallTenant.js.map +1 -0
- package/admin/TenantEntryList/InstallTenantButton/installTenant.gql.d.ts +16 -0
- package/admin/TenantEntryList/InstallTenantButton/installTenant.gql.js +17 -0
- package/admin/TenantEntryList/InstallTenantButton/installTenant.gql.js.map +1 -0
- package/admin/TenantEntryList/InstallTenantButton/useInstallTenant.d.ts +5 -0
- package/admin/TenantEntryList/InstallTenantButton/useInstallTenant.js +46 -0
- package/admin/TenantEntryList/InstallTenantButton/useInstallTenant.js.map +1 -0
- package/admin/TenantEntryList/ManageTenant.d.ts +7 -0
- package/admin/TenantEntryList/ManageTenant.js +21 -0
- package/admin/TenantEntryList/ManageTenant.js.map +1 -0
- package/admin/TenantEntryList/TenantCell.d.ts +2 -0
- package/admin/TenantEntryList/TenantCell.js +39 -0
- package/admin/TenantEntryList/TenantCell.js.map +1 -0
- package/admin/TenantEntryList/TenantNameCell.d.ts +2 -0
- package/admin/TenantEntryList/TenantNameCell.js +54 -0
- package/admin/TenantEntryList/TenantNameCell.js.map +1 -0
- package/admin/TenantEntryList.d.ts +2 -0
- package/admin/TenantEntryList.js +71 -0
- package/admin/TenantEntryList.js.map +1 -0
- package/admin/TenantSelector.d.ts +2 -0
- package/admin/TenantSelector.js +22 -0
- package/admin/TenantSelector.js.map +1 -0
- package/admin/types.d.ts +7 -0
- package/admin/types.js +3 -0
- package/admin/types.js.map +1 -0
- package/api/Extension.d.ts +1 -0
- package/api/Extension.js +42 -0
- package/api/Extension.js.map +1 -0
- package/api/domain/TenantId.d.ts +3 -0
- package/api/domain/TenantId.js +12 -0
- package/api/domain/TenantId.js.map +1 -0
- package/api/domain/TenantModel.d.ts +11 -0
- package/api/domain/TenantModel.js +46 -0
- package/api/domain/TenantModel.js.map +1 -0
- package/api/domain/TenantModelExtension.d.ts +10 -0
- package/api/domain/TenantModelExtension.js +4 -0
- package/api/domain/TenantModelExtension.js.map +1 -0
- package/api/domain/errors.d.ts +33 -0
- package/api/domain/errors.js +63 -0
- package/api/domain/errors.js.map +1 -0
- package/api/features/AddCmsPermissions/AddCmsPermissions.d.ts +8 -0
- package/api/features/AddCmsPermissions/AddCmsPermissions.js +34 -0
- package/api/features/AddCmsPermissions/AddCmsPermissions.js.map +1 -0
- package/api/features/AddCmsPermissions/feature.d.ts +1 -0
- package/api/features/AddCmsPermissions/feature.js +10 -0
- package/api/features/AddCmsPermissions/feature.js.map +1 -0
- package/api/features/CreateAndInstallTenant/CreateAndInstallTenantUseCase.d.ts +22 -0
- package/api/features/CreateAndInstallTenant/CreateAndInstallTenantUseCase.js +90 -0
- package/api/features/CreateAndInstallTenant/CreateAndInstallTenantUseCase.js.map +1 -0
- package/api/features/CreateAndInstallTenant/abstractions.d.ts +24 -0
- package/api/features/CreateAndInstallTenant/abstractions.js +9 -0
- package/api/features/CreateAndInstallTenant/abstractions.js.map +1 -0
- package/api/features/CreateAndInstallTenant/feature.d.ts +1 -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 +48 -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 +44 -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 +11 -0
- package/api/features/CreateTenant/abstractions.js.map +1 -0
- package/api/features/CreateTenant/feature.d.ts +1 -0
- package/api/features/CreateTenant/feature.js +15 -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 +37 -0
- package/api/features/DeleteTenantOnEntryDelete/DeleteTenantOnEntryDeleteHandler.js.map +1 -0
- package/api/features/DeleteTenantOnEntryDelete/feature.d.ts +1 -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 +66 -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 +4 -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 +18 -0
- package/api/features/DisableTenant/events.js.map +1 -0
- package/api/features/DisableTenant/feature.d.ts +1 -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 +68 -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 +4 -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 +18 -0
- package/api/features/EnableTenant/events.js.map +1 -0
- package/api/features/EnableTenant/feature.d.ts +1 -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 +29 -0
- package/api/features/GetCurrentTenant/GetCurrentTenantUseCase.js.map +1 -0
- package/api/features/GetCurrentTenant/abstractions.d.ts +22 -0
- package/api/features/GetCurrentTenant/abstractions.js +10 -0
- package/api/features/GetCurrentTenant/abstractions.js.map +1 -0
- package/api/features/GetCurrentTenant/feature.d.ts +1 -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 +49 -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 +27 -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 +15 -0
- package/api/features/GetTenantById/abstractions.js.map +1 -0
- package/api/features/GetTenantById/feature.d.ts +1 -0
- package/api/features/GetTenantById/feature.js +15 -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 +58 -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 +15 -0
- package/api/features/UpdateTenant/abstractions.js.map +1 -0
- package/api/features/UpdateTenant/feature.d.ts +1 -0
- package/api/features/UpdateTenant/feature.js +15 -0
- package/api/features/UpdateTenant/feature.js.map +1 -0
- package/api/graphql/CreateTenantSchema.d.ts +14 -0
- package/api/graphql/CreateTenantSchema.js +77 -0
- package/api/graphql/CreateTenantSchema.js.map +1 -0
- package/api/graphql/DisableTenantSchema.d.ts +8 -0
- package/api/graphql/DisableTenantSchema.js +35 -0
- package/api/graphql/DisableTenantSchema.js.map +1 -0
- package/api/graphql/EnableTenantSchema.d.ts +8 -0
- package/api/graphql/EnableTenantSchema.js +35 -0
- package/api/graphql/EnableTenantSchema.js.map +1 -0
- package/api/graphql/GetCurrentTenantSchema.d.ts +8 -0
- package/api/graphql/GetCurrentTenantSchema.js +59 -0
- package/api/graphql/GetCurrentTenantSchema.js.map +1 -0
- package/api/graphql/InstallTenantSchema.d.ts +8 -0
- package/api/graphql/InstallTenantSchema.js +54 -0
- package/api/graphql/InstallTenantSchema.js.map +1 -0
- package/exports/api/tenant-manager.d.ts +2 -0
- package/exports/api/tenant-manager.js +3 -0
- package/exports/api/tenant-manager.js.map +1 -0
- package/index.d.ts +1 -0
- package/index.js +3 -0
- package/index.js.map +1 -0
- package/package.json +46 -0
- package/shared/Tenant.d.ts +21 -0
- package/shared/Tenant.js +26 -0
- package/shared/Tenant.js.map +1 -0
- package/shared/constants.d.ts +1 -0
- package/shared/constants.js +3 -0
- package/shared/constants.js.map +1 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
The Webiny Enterprise license (the “Enterprise License”)
|
|
2
|
+
Copyright (c) 2021 Webiny Ltd.
|
|
3
|
+
|
|
4
|
+
With regard to the Webiny Software:
|
|
5
|
+
|
|
6
|
+
This software and associated documentation files (the "Software") may only be
|
|
7
|
+
used in production, if you (and any entity that you represent) have agreed to,
|
|
8
|
+
and are in compliance with, the Webiny Subscription Terms of Service, available
|
|
9
|
+
at https://www.webiny.com/terms (the “Enterprise Terms”), or other
|
|
10
|
+
agreement governing the use of the Software, as agreed by you and Webiny,
|
|
11
|
+
and otherwise have a valid Webiny Enterprise license for the
|
|
12
|
+
correct number of user seats. Subject to the foregoing sentence, you are free to
|
|
13
|
+
modify this Software and publish patches to the Software. You agree that Webiny
|
|
14
|
+
and/or its licensors (as applicable) retain all right, title and interest in and
|
|
15
|
+
to all such modifications and/or patches, and all such modifications and/or
|
|
16
|
+
patches may only be used, copied, modified, displayed, distributed, or otherwise
|
|
17
|
+
exploited with a valid Webiny Enterprise license for the correct
|
|
18
|
+
number of user seats. Notwithstanding the foregoing, you may copy and modify
|
|
19
|
+
the Software for development and testing purposes, without requiring a
|
|
20
|
+
subscription. You agree that Webiny and/or its licensors (as applicable) retain
|
|
21
|
+
all right, title and interest in and to all such modifications. You are not
|
|
22
|
+
granted any other rights beyond what is expressly stated herein. Subject to the
|
|
23
|
+
foregoing, it is forbidden to copy, merge, publish, distribute, sublicense,
|
|
24
|
+
and/or sell the Software.
|
|
25
|
+
|
|
26
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
27
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
28
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
29
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
30
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
31
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
32
|
+
SOFTWARE.
|
|
33
|
+
|
|
34
|
+
For all third party components incorporated into the Webiny Software, those
|
|
35
|
+
components are licensed under the original license provided by the owner of the
|
|
36
|
+
applicable component.
|
package/README.md
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# @webiny/tenant-manager
|
|
2
|
+
|
|
3
|
+
> [!NOTE]
|
|
4
|
+
> This package is part of the [Webiny](https://www.webiny.com) monorepo.
|
|
5
|
+
> It’s **included in every Webiny project by default** and is not meant to be used as a standalone package.
|
|
6
|
+
|
|
7
|
+
📘 **Documentation:** [https://www.webiny.com/docs](https://www.webiny.com/docs)
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
_This README file is automatically generated during the publish process._
|
package/TenantManager.js
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Api, Admin } from "@webiny/project-aws";
|
|
3
|
+
import { Wcp } from "@webiny/project";
|
|
4
|
+
export const TenantManager = () => {
|
|
5
|
+
return /*#__PURE__*/React.createElement(Wcp.CanUseMultiTenancy, null, /*#__PURE__*/React.createElement(Api.Extension, {
|
|
6
|
+
src: import.meta.dirname + "/api/Extension.js"
|
|
7
|
+
}), /*#__PURE__*/React.createElement(Admin.Extension, {
|
|
8
|
+
src: import.meta.dirname + "/admin/Extension.js"
|
|
9
|
+
}));
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
//# sourceMappingURL=TenantManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","Api","Admin","Wcp","TenantManager","createElement","CanUseMultiTenancy","Extension","src","import","meta","dirname"],"sources":["TenantManager.tsx"],"sourcesContent":["import React from \"react\";\nimport { Api, Admin } from \"@webiny/project-aws\";\nimport { Wcp } from \"@webiny/project\";\n\nexport const TenantManager = () => {\n return (\n <Wcp.CanUseMultiTenancy>\n {/* Api extensions */}\n <Api.Extension src={import.meta.dirname + \"/api/Extension.js\"} />\n\n {/* Admin extensions */}\n <Admin.Extension src={import.meta.dirname + \"/admin/Extension.js\"} />\n </Wcp.CanUseMultiTenancy>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,GAAG,EAAEC,KAAK,QAAQ,qBAAqB;AAChD,SAASC,GAAG,QAAQ,iBAAiB;AAErC,OAAO,MAAMC,aAAa,GAAGA,CAAA,KAAM;EAC/B,oBACIJ,KAAA,CAAAK,aAAA,CAACF,GAAG,CAACG,kBAAkB,qBAEnBN,KAAA,CAAAK,aAAA,CAACJ,GAAG,CAACM,SAAS;IAACC,GAAG,EAAEC,MAAM,CAACC,IAAI,CAACC,OAAO,GAAG;EAAoB,CAAE,CAAC,eAGjEX,KAAA,CAAAK,aAAA,CAACH,KAAK,CAACK,SAAS;IAACC,GAAG,EAAEC,MAAM,CAACC,IAAI,CAACC,OAAO,GAAG;EAAsB,CAAE,CAChD,CAAC;AAEjC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import React, { useEffect } from "react";
|
|
2
|
+
import { observer } from "mobx-react-lite";
|
|
3
|
+
import { useFeature } from "@webiny/app/exports/admin";
|
|
4
|
+
import { OverlayLoader } from "@webiny/admin-ui";
|
|
5
|
+
import { CurrentTenantFeature } from "./feature.js";
|
|
6
|
+
export const CurrentTenant = observer(({
|
|
7
|
+
children
|
|
8
|
+
}) => {
|
|
9
|
+
const {
|
|
10
|
+
presenter
|
|
11
|
+
} = useFeature(CurrentTenantFeature);
|
|
12
|
+
useEffect(() => {
|
|
13
|
+
presenter.init();
|
|
14
|
+
}, []);
|
|
15
|
+
const vm = presenter.vm;
|
|
16
|
+
if (vm.loading) {
|
|
17
|
+
return /*#__PURE__*/React.createElement(OverlayLoader, {
|
|
18
|
+
title: "Loading tenant..."
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
if (vm.error) {
|
|
22
|
+
return /*#__PURE__*/React.createElement(OverlayLoader, {
|
|
23
|
+
title: vm.error.message
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
if (!vm.tenant) {
|
|
27
|
+
return /*#__PURE__*/React.createElement(OverlayLoader, {
|
|
28
|
+
title: "Unable to load tenant!"
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, children);
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
//# sourceMappingURL=CurrentTenant.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useEffect","observer","useFeature","OverlayLoader","CurrentTenantFeature","CurrentTenant","children","presenter","init","vm","loading","createElement","title","error","message","tenant","Fragment"],"sources":["CurrentTenant.tsx"],"sourcesContent":["import React, { useEffect } from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { useFeature } from \"@webiny/app/exports/admin\";\nimport { OverlayLoader } from \"@webiny/admin-ui\";\nimport { CurrentTenantFeature } from \"./feature.js\";\n\nexport const CurrentTenant = observer(({ children }: { children: React.ReactNode }) => {\n const { presenter } = useFeature(CurrentTenantFeature);\n\n useEffect(() => {\n presenter.init();\n }, []);\n\n const vm = presenter.vm;\n\n if (vm.loading) {\n return <OverlayLoader title={\"Loading tenant...\"} />;\n }\n\n if (vm.error) {\n return <OverlayLoader title={vm.error.message} />;\n }\n\n if (!vm.tenant) {\n return <OverlayLoader title={\"Unable to load tenant!\"} />;\n }\n\n return <>{children}</>;\n});\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,SAAS,QAAQ,OAAO;AACxC,SAASC,QAAQ,QAAQ,iBAAiB;AAC1C,SAASC,UAAU,QAAQ,2BAA2B;AACtD,SAASC,aAAa,QAAQ,kBAAkB;AAChD,SAASC,oBAAoB;AAE7B,OAAO,MAAMC,aAAa,GAAGJ,QAAQ,CAAC,CAAC;EAAEK;AAAwC,CAAC,KAAK;EACnF,MAAM;IAAEC;EAAU,CAAC,GAAGL,UAAU,CAACE,oBAAoB,CAAC;EAEtDJ,SAAS,CAAC,MAAM;IACZO,SAAS,CAACC,IAAI,CAAC,CAAC;EACpB,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,EAAE,GAAGF,SAAS,CAACE,EAAE;EAEvB,IAAIA,EAAE,CAACC,OAAO,EAAE;IACZ,oBAAOX,KAAA,CAAAY,aAAA,CAACR,aAAa;MAACS,KAAK,EAAE;IAAoB,CAAE,CAAC;EACxD;EAEA,IAAIH,EAAE,CAACI,KAAK,EAAE;IACV,oBAAOd,KAAA,CAAAY,aAAA,CAACR,aAAa;MAACS,KAAK,EAAEH,EAAE,CAACI,KAAK,CAACC;IAAQ,CAAE,CAAC;EACrD;EAEA,IAAI,CAACL,EAAE,CAACM,MAAM,EAAE;IACZ,oBAAOhB,KAAA,CAAAY,aAAA,CAACR,aAAa;MAACS,KAAK,EAAE;IAAyB,CAAE,CAAC;EAC7D;EAEA,oBAAOb,KAAA,CAAAY,aAAA,CAAAZ,KAAA,CAAAiB,QAAA,QAAGV,QAAW,CAAC;AAC1B,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { GraphQLClient } from "@webiny/app/features/graphqlClient/index.js";
|
|
2
|
+
import { CurrentTenantGateway as GatewayAbstraction } from "./abstractions.js";
|
|
3
|
+
import { Tenant } from "../../shared/Tenant.js";
|
|
4
|
+
declare class CurrentTenantGraphQLGateway implements GatewayAbstraction.Interface {
|
|
5
|
+
private client;
|
|
6
|
+
constructor(client: GraphQLClient.Interface);
|
|
7
|
+
getTenant(): Promise<Tenant>;
|
|
8
|
+
}
|
|
9
|
+
export declare const CurrentTenantGateway: typeof CurrentTenantGraphQLGateway & {
|
|
10
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").ICurrentTenantGateway>;
|
|
11
|
+
};
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { GraphQLClient } from "@webiny/app/features/graphqlClient/index.js";
|
|
2
|
+
import { CurrentTenantGateway as GatewayAbstraction } from "./abstractions.js";
|
|
3
|
+
import { Tenant } from "../../shared/Tenant.js";
|
|
4
|
+
const GET_CURRENT_TENANT = /* GraphQL */`
|
|
5
|
+
query GetCurrentTenant {
|
|
6
|
+
tenantManager {
|
|
7
|
+
getCurrentTenant {
|
|
8
|
+
data {
|
|
9
|
+
id
|
|
10
|
+
values
|
|
11
|
+
}
|
|
12
|
+
error {
|
|
13
|
+
code
|
|
14
|
+
message
|
|
15
|
+
data
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
`;
|
|
21
|
+
class CurrentTenantGraphQLGateway {
|
|
22
|
+
constructor(client) {
|
|
23
|
+
this.client = client;
|
|
24
|
+
}
|
|
25
|
+
async getTenant() {
|
|
26
|
+
const response = await this.client.execute({
|
|
27
|
+
query: GET_CURRENT_TENANT
|
|
28
|
+
});
|
|
29
|
+
const envelope = response.tenantManager.getCurrentTenant;
|
|
30
|
+
if (envelope.error) {
|
|
31
|
+
throw new Error(envelope.error.message);
|
|
32
|
+
}
|
|
33
|
+
if (!envelope.data) {
|
|
34
|
+
throw new Error("Unable to load tenant");
|
|
35
|
+
}
|
|
36
|
+
return Tenant.from(envelope.data);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
export const CurrentTenantGateway = GatewayAbstraction.createImplementation({
|
|
40
|
+
implementation: CurrentTenantGraphQLGateway,
|
|
41
|
+
dependencies: [GraphQLClient]
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
//# sourceMappingURL=CurrentTenantGateway.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["GraphQLClient","CurrentTenantGateway","GatewayAbstraction","Tenant","GET_CURRENT_TENANT","CurrentTenantGraphQLGateway","constructor","client","getTenant","response","execute","query","envelope","tenantManager","getCurrentTenant","error","Error","message","data","from","createImplementation","implementation","dependencies"],"sources":["CurrentTenantGateway.ts"],"sourcesContent":["import { GraphQLClient } from \"@webiny/app/features/graphqlClient/index.js\";\nimport { CurrentTenantGateway as GatewayAbstraction } from \"./abstractions.js\";\nimport { Tenant, type TenantDto } from \"../../shared/Tenant.js\";\n\nconst GET_CURRENT_TENANT = /* GraphQL */ `\n query GetCurrentTenant {\n tenantManager {\n getCurrentTenant {\n data {\n id\n values\n }\n error {\n code\n message\n data\n }\n }\n }\n }\n`;\n\ntype GetCurrentTenantResponse = {\n tenantManager: {\n getCurrentTenant:\n | {\n data: TenantDto;\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 CurrentTenantGraphQLGateway implements GatewayAbstraction.Interface {\n constructor(private client: GraphQLClient.Interface) {}\n\n async getTenant(): Promise<Tenant> {\n const response = await this.client.execute<GetCurrentTenantResponse>({\n query: GET_CURRENT_TENANT\n });\n\n const envelope = response.tenantManager.getCurrentTenant;\n if (envelope.error) {\n throw new Error(envelope.error.message);\n }\n\n if (!envelope.data) {\n throw new Error(\"Unable to load tenant\");\n }\n\n return Tenant.from(envelope.data);\n }\n}\n\nexport const CurrentTenantGateway = GatewayAbstraction.createImplementation({\n implementation: CurrentTenantGraphQLGateway,\n dependencies: [GraphQLClient]\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,6CAA6C;AAC3E,SAASC,oBAAoB,IAAIC,kBAAkB;AACnD,SAASC,MAAM;AAEf,MAAMC,kBAAkB,GAAG,aAAc;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAoBD,MAAMC,2BAA2B,CAAyC;EACtEC,WAAWA,CAASC,MAA+B,EAAE;IAAA,KAAjCA,MAA+B,GAA/BA,MAA+B;EAAG;EAEtD,MAAMC,SAASA,CAAA,EAAoB;IAC/B,MAAMC,QAAQ,GAAG,MAAM,IAAI,CAACF,MAAM,CAACG,OAAO,CAA2B;MACjEC,KAAK,EAAEP;IACX,CAAC,CAAC;IAEF,MAAMQ,QAAQ,GAAGH,QAAQ,CAACI,aAAa,CAACC,gBAAgB;IACxD,IAAIF,QAAQ,CAACG,KAAK,EAAE;MAChB,MAAM,IAAIC,KAAK,CAACJ,QAAQ,CAACG,KAAK,CAACE,OAAO,CAAC;IAC3C;IAEA,IAAI,CAACL,QAAQ,CAACM,IAAI,EAAE;MAChB,MAAM,IAAIF,KAAK,CAAC,uBAAuB,CAAC;IAC5C;IAEA,OAAOb,MAAM,CAACgB,IAAI,CAACP,QAAQ,CAACM,IAAI,CAAC;EACrC;AACJ;AAEA,OAAO,MAAMjB,oBAAoB,GAAGC,kBAAkB,CAACkB,oBAAoB,CAAC;EACxEC,cAAc,EAAEhB,2BAA2B;EAC3CiB,YAAY,EAAE,CAACtB,aAAa;AAChC,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { CurrentTenantPresenter as PresenterAbstraction, CurrentTenantRepository } from "./abstractions.js";
|
|
2
|
+
declare class CurrentTenantPresenterImpl implements PresenterAbstraction.Interface {
|
|
3
|
+
private repository;
|
|
4
|
+
private loading;
|
|
5
|
+
constructor(repository: CurrentTenantRepository.Interface);
|
|
6
|
+
get vm(): PresenterAbstraction.ViewModel;
|
|
7
|
+
init(): void;
|
|
8
|
+
}
|
|
9
|
+
export declare const CurrentTenantPresenter: typeof CurrentTenantPresenterImpl & {
|
|
10
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").ICurrentTenantPresenter>;
|
|
11
|
+
};
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { makeAutoObservable, runInAction } from "mobx";
|
|
2
|
+
import { CurrentTenantPresenter as PresenterAbstraction, CurrentTenantRepository } from "./abstractions.js";
|
|
3
|
+
class CurrentTenantPresenterImpl {
|
|
4
|
+
loading = false;
|
|
5
|
+
constructor(repository) {
|
|
6
|
+
this.repository = repository;
|
|
7
|
+
makeAutoObservable(this);
|
|
8
|
+
}
|
|
9
|
+
get vm() {
|
|
10
|
+
return {
|
|
11
|
+
loading: this.loading,
|
|
12
|
+
tenant: this.repository.getTenant(),
|
|
13
|
+
error: this.repository.getError()
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
init() {
|
|
17
|
+
this.loading = true;
|
|
18
|
+
this.repository.loadTenant().then(() => {
|
|
19
|
+
runInAction(() => {
|
|
20
|
+
this.loading = false;
|
|
21
|
+
});
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
export const CurrentTenantPresenter = PresenterAbstraction.createImplementation({
|
|
26
|
+
implementation: CurrentTenantPresenterImpl,
|
|
27
|
+
dependencies: [CurrentTenantRepository]
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
//# sourceMappingURL=CurrentTenantPresenter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["makeAutoObservable","runInAction","CurrentTenantPresenter","PresenterAbstraction","CurrentTenantRepository","CurrentTenantPresenterImpl","loading","constructor","repository","vm","tenant","getTenant","error","getError","init","loadTenant","then","createImplementation","implementation","dependencies"],"sources":["CurrentTenantPresenter.ts"],"sourcesContent":["import { makeAutoObservable, runInAction } from \"mobx\";\nimport {\n CurrentTenantPresenter as PresenterAbstraction,\n CurrentTenantRepository\n} from \"./abstractions.js\";\n\nclass CurrentTenantPresenterImpl implements PresenterAbstraction.Interface {\n private loading = false;\n\n constructor(private repository: CurrentTenantRepository.Interface) {\n makeAutoObservable(this);\n }\n\n get vm(): PresenterAbstraction.ViewModel {\n return {\n loading: this.loading,\n tenant: this.repository.getTenant(),\n error: this.repository.getError()\n };\n }\n\n init(): void {\n this.loading = true;\n this.repository.loadTenant().then(() => {\n runInAction(() => {\n this.loading = false;\n });\n });\n }\n}\n\nexport const CurrentTenantPresenter = PresenterAbstraction.createImplementation({\n implementation: CurrentTenantPresenterImpl,\n dependencies: [CurrentTenantRepository]\n});\n"],"mappings":"AAAA,SAASA,kBAAkB,EAAEC,WAAW,QAAQ,MAAM;AACtD,SACIC,sBAAsB,IAAIC,oBAAoB,EAC9CC,uBAAuB;AAG3B,MAAMC,0BAA0B,CAA2C;EAC/DC,OAAO,GAAG,KAAK;EAEvBC,WAAWA,CAASC,UAA6C,EAAE;IAAA,KAA/CA,UAA6C,GAA7CA,UAA6C;IAC7DR,kBAAkB,CAAC,IAAI,CAAC;EAC5B;EAEA,IAAIS,EAAEA,CAAA,EAAmC;IACrC,OAAO;MACHH,OAAO,EAAE,IAAI,CAACA,OAAO;MACrBI,MAAM,EAAE,IAAI,CAACF,UAAU,CAACG,SAAS,CAAC,CAAC;MACnCC,KAAK,EAAE,IAAI,CAACJ,UAAU,CAACK,QAAQ,CAAC;IACpC,CAAC;EACL;EAEAC,IAAIA,CAAA,EAAS;IACT,IAAI,CAACR,OAAO,GAAG,IAAI;IACnB,IAAI,CAACE,UAAU,CAACO,UAAU,CAAC,CAAC,CAACC,IAAI,CAAC,MAAM;MACpCf,WAAW,CAAC,MAAM;QACd,IAAI,CAACK,OAAO,GAAG,KAAK;MACxB,CAAC,CAAC;IACN,CAAC,CAAC;EACN;AACJ;AAEA,OAAO,MAAMJ,sBAAsB,GAAGC,oBAAoB,CAACc,oBAAoB,CAAC;EAC5EC,cAAc,EAAEb,0BAA0B;EAC1Cc,YAAY,EAAE,CAACf,uBAAuB;AAC1C,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { CurrentTenantRepository as RepositoryAbstraction, CurrentTenantGateway } from "./abstractions.js";
|
|
2
|
+
import type { Tenant } from "../../shared/Tenant.js";
|
|
3
|
+
declare class CurrentTenantRepositoryImpl implements RepositoryAbstraction.Interface {
|
|
4
|
+
private gateway;
|
|
5
|
+
private tenant;
|
|
6
|
+
private error;
|
|
7
|
+
constructor(gateway: CurrentTenantGateway.Interface);
|
|
8
|
+
getTenant(): Tenant | undefined;
|
|
9
|
+
getError(): Error | undefined;
|
|
10
|
+
loadTenant(): Promise<void>;
|
|
11
|
+
}
|
|
12
|
+
export declare const CurrentTenantRepository: typeof CurrentTenantRepositoryImpl & {
|
|
13
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").ICurrentTenantRepository>;
|
|
14
|
+
};
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { makeAutoObservable, runInAction } from "mobx";
|
|
2
|
+
import { CurrentTenantRepository as RepositoryAbstraction, CurrentTenantGateway } from "./abstractions.js";
|
|
3
|
+
class CurrentTenantRepositoryImpl {
|
|
4
|
+
tenant = undefined;
|
|
5
|
+
error = undefined;
|
|
6
|
+
constructor(gateway) {
|
|
7
|
+
this.gateway = gateway;
|
|
8
|
+
makeAutoObservable(this);
|
|
9
|
+
}
|
|
10
|
+
getTenant() {
|
|
11
|
+
return this.tenant;
|
|
12
|
+
}
|
|
13
|
+
getError() {
|
|
14
|
+
return this.error;
|
|
15
|
+
}
|
|
16
|
+
async loadTenant() {
|
|
17
|
+
if (this.tenant) {
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
try {
|
|
21
|
+
const tenant = await this.gateway.getTenant();
|
|
22
|
+
runInAction(() => {
|
|
23
|
+
this.tenant = tenant;
|
|
24
|
+
});
|
|
25
|
+
} catch (err) {
|
|
26
|
+
runInAction(() => {
|
|
27
|
+
this.error = err instanceof Error ? err : new Error(String(err));
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
export const CurrentTenantRepository = RepositoryAbstraction.createImplementation({
|
|
33
|
+
implementation: CurrentTenantRepositoryImpl,
|
|
34
|
+
dependencies: [CurrentTenantGateway]
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
//# sourceMappingURL=CurrentTenantRepository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["makeAutoObservable","runInAction","CurrentTenantRepository","RepositoryAbstraction","CurrentTenantGateway","CurrentTenantRepositoryImpl","tenant","undefined","error","constructor","gateway","getTenant","getError","loadTenant","err","Error","String","createImplementation","implementation","dependencies"],"sources":["CurrentTenantRepository.ts"],"sourcesContent":["import { makeAutoObservable, runInAction } from \"mobx\";\nimport {\n CurrentTenantRepository as RepositoryAbstraction,\n CurrentTenantGateway\n} from \"./abstractions.js\";\nimport type { Tenant } from \"../../shared/Tenant.js\";\n\nclass CurrentTenantRepositoryImpl implements RepositoryAbstraction.Interface {\n private tenant: Tenant | undefined = undefined;\n private error: Error | undefined = undefined;\n\n constructor(private gateway: CurrentTenantGateway.Interface) {\n makeAutoObservable(this);\n }\n\n getTenant(): Tenant | undefined {\n return this.tenant;\n }\n\n getError(): Error | undefined {\n return this.error;\n }\n\n async loadTenant(): Promise<void> {\n if (this.tenant) {\n return;\n }\n\n try {\n const tenant = await this.gateway.getTenant();\n runInAction(() => {\n this.tenant = tenant;\n });\n } catch (err) {\n runInAction(() => {\n this.error = err instanceof Error ? err : new Error(String(err));\n });\n }\n }\n}\n\nexport const CurrentTenantRepository = RepositoryAbstraction.createImplementation({\n implementation: CurrentTenantRepositoryImpl,\n dependencies: [CurrentTenantGateway]\n});\n"],"mappings":"AAAA,SAASA,kBAAkB,EAAEC,WAAW,QAAQ,MAAM;AACtD,SACIC,uBAAuB,IAAIC,qBAAqB,EAChDC,oBAAoB;AAIxB,MAAMC,2BAA2B,CAA4C;EACjEC,MAAM,GAAuBC,SAAS;EACtCC,KAAK,GAAsBD,SAAS;EAE5CE,WAAWA,CAASC,OAAuC,EAAE;IAAA,KAAzCA,OAAuC,GAAvCA,OAAuC;IACvDV,kBAAkB,CAAC,IAAI,CAAC;EAC5B;EAEAW,SAASA,CAAA,EAAuB;IAC5B,OAAO,IAAI,CAACL,MAAM;EACtB;EAEAM,QAAQA,CAAA,EAAsB;IAC1B,OAAO,IAAI,CAACJ,KAAK;EACrB;EAEA,MAAMK,UAAUA,CAAA,EAAkB;IAC9B,IAAI,IAAI,CAACP,MAAM,EAAE;MACb;IACJ;IAEA,IAAI;MACA,MAAMA,MAAM,GAAG,MAAM,IAAI,CAACI,OAAO,CAACC,SAAS,CAAC,CAAC;MAC7CV,WAAW,CAAC,MAAM;QACd,IAAI,CAACK,MAAM,GAAGA,MAAM;MACxB,CAAC,CAAC;IACN,CAAC,CAAC,OAAOQ,GAAG,EAAE;MACVb,WAAW,CAAC,MAAM;QACd,IAAI,CAACO,KAAK,GAAGM,GAAG,YAAYC,KAAK,GAAGD,GAAG,GAAG,IAAIC,KAAK,CAACC,MAAM,CAACF,GAAG,CAAC,CAAC;MACpE,CAAC,CAAC;IACN;EACJ;AACJ;AAEA,OAAO,MAAMZ,uBAAuB,GAAGC,qBAAqB,CAACc,oBAAoB,CAAC;EAC9EC,cAAc,EAAEb,2BAA2B;EAC3Cc,YAAY,EAAE,CAACf,oBAAoB;AACvC,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { Tenant } from "../../shared/Tenant.js";
|
|
2
|
+
export interface ICurrentTenantVm {
|
|
3
|
+
loading: boolean;
|
|
4
|
+
tenant: Tenant | undefined;
|
|
5
|
+
error: Error | undefined;
|
|
6
|
+
}
|
|
7
|
+
export interface ICurrentTenantPresenter {
|
|
8
|
+
vm: ICurrentTenantVm;
|
|
9
|
+
init(): void;
|
|
10
|
+
}
|
|
11
|
+
export declare const CurrentTenantPresenter: import("@webiny/di").Abstraction<ICurrentTenantPresenter>;
|
|
12
|
+
export declare namespace CurrentTenantPresenter {
|
|
13
|
+
type Interface = ICurrentTenantPresenter;
|
|
14
|
+
type ViewModel = ICurrentTenantVm;
|
|
15
|
+
}
|
|
16
|
+
export interface ICurrentTenantRepository {
|
|
17
|
+
getTenant(): Tenant | undefined;
|
|
18
|
+
getError(): Error | undefined;
|
|
19
|
+
loadTenant(): Promise<void>;
|
|
20
|
+
}
|
|
21
|
+
export declare const CurrentTenantRepository: import("@webiny/di").Abstraction<ICurrentTenantRepository>;
|
|
22
|
+
export declare namespace CurrentTenantRepository {
|
|
23
|
+
type Interface = ICurrentTenantRepository;
|
|
24
|
+
}
|
|
25
|
+
export interface ICurrentTenantGateway {
|
|
26
|
+
getTenant(): Promise<Tenant>;
|
|
27
|
+
}
|
|
28
|
+
export declare const CurrentTenantGateway: import("@webiny/di").Abstraction<ICurrentTenantGateway>;
|
|
29
|
+
export declare namespace CurrentTenantGateway {
|
|
30
|
+
type Interface = ICurrentTenantGateway;
|
|
31
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { createAbstraction } from "@webiny/feature/admin";
|
|
2
|
+
|
|
3
|
+
// Presenter
|
|
4
|
+
|
|
5
|
+
export const CurrentTenantPresenter = createAbstraction("CurrentTenantPresenter");
|
|
6
|
+
|
|
7
|
+
// Repository
|
|
8
|
+
|
|
9
|
+
export const CurrentTenantRepository = createAbstraction("CurrentTenantRepository");
|
|
10
|
+
|
|
11
|
+
// Gateway
|
|
12
|
+
|
|
13
|
+
export const CurrentTenantGateway = createAbstraction("CurrentTenantGateway");
|
|
14
|
+
|
|
15
|
+
//# sourceMappingURL=abstractions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createAbstraction","CurrentTenantPresenter","CurrentTenantRepository","CurrentTenantGateway"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/admin\";\nimport type { Tenant } from \"../../shared/Tenant.js\";\n\n// Presenter\nexport interface ICurrentTenantVm {\n loading: boolean;\n tenant: Tenant | undefined;\n error: Error | undefined;\n}\n\nexport interface ICurrentTenantPresenter {\n vm: ICurrentTenantVm;\n init(): void;\n}\n\nexport const CurrentTenantPresenter =\n createAbstraction<ICurrentTenantPresenter>(\"CurrentTenantPresenter\");\n\nexport namespace CurrentTenantPresenter {\n export type Interface = ICurrentTenantPresenter;\n export type ViewModel = ICurrentTenantVm;\n}\n\n// Repository\nexport interface ICurrentTenantRepository {\n getTenant(): Tenant | undefined;\n getError(): Error | undefined;\n loadTenant(): Promise<void>;\n}\n\nexport const CurrentTenantRepository =\n createAbstraction<ICurrentTenantRepository>(\"CurrentTenantRepository\");\n\nexport namespace CurrentTenantRepository {\n export type Interface = ICurrentTenantRepository;\n}\n\n// Gateway\nexport interface ICurrentTenantGateway {\n getTenant(): Promise<Tenant>;\n}\n\nexport const CurrentTenantGateway =\n createAbstraction<ICurrentTenantGateway>(\"CurrentTenantGateway\");\n\nexport namespace CurrentTenantGateway {\n export type Interface = ICurrentTenantGateway;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,uBAAuB;;AAGzD;;AAYA,OAAO,MAAMC,sBAAsB,GAC/BD,iBAAiB,CAA0B,wBAAwB,CAAC;;AAOxE;;AAOA,OAAO,MAAME,uBAAuB,GAChCF,iBAAiB,CAA2B,yBAAyB,CAAC;;AAM1E;;AAKA,OAAO,MAAMG,oBAAoB,GAC7BH,iBAAiB,CAAwB,sBAAsB,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/admin";
|
|
2
|
+
import { CurrentTenantPresenter as PresenterAbstraction } from "./abstractions.js";
|
|
3
|
+
import { CurrentTenantPresenter } from "./CurrentTenantPresenter.js";
|
|
4
|
+
import { CurrentTenantRepository } from "./CurrentTenantRepository.js";
|
|
5
|
+
import { CurrentTenantGateway } from "./CurrentTenantGateway.js";
|
|
6
|
+
export const CurrentTenantFeature = createFeature({
|
|
7
|
+
name: "CurrentTenant",
|
|
8
|
+
register(container) {
|
|
9
|
+
container.register(CurrentTenantPresenter);
|
|
10
|
+
container.register(CurrentTenantRepository).inSingletonScope();
|
|
11
|
+
container.register(CurrentTenantGateway).inSingletonScope();
|
|
12
|
+
},
|
|
13
|
+
resolve(container) {
|
|
14
|
+
return {
|
|
15
|
+
presenter: container.resolve(PresenterAbstraction)
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createFeature","CurrentTenantPresenter","PresenterAbstraction","CurrentTenantRepository","CurrentTenantGateway","CurrentTenantFeature","name","register","container","inSingletonScope","resolve","presenter"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/admin\";\nimport { CurrentTenantPresenter as PresenterAbstraction } from \"./abstractions.js\";\nimport { CurrentTenantPresenter } from \"./CurrentTenantPresenter.js\";\nimport { CurrentTenantRepository } from \"./CurrentTenantRepository.js\";\nimport { CurrentTenantGateway } from \"./CurrentTenantGateway.js\";\n\nexport const CurrentTenantFeature = createFeature({\n name: \"CurrentTenant\",\n register(container) {\n container.register(CurrentTenantPresenter);\n container.register(CurrentTenantRepository).inSingletonScope();\n container.register(CurrentTenantGateway).inSingletonScope();\n },\n resolve(container) {\n return {\n presenter: container.resolve(PresenterAbstraction)\n };\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,uBAAuB;AACrD,SAASC,sBAAsB,IAAIC,oBAAoB;AACvD,SAASD,sBAAsB;AAC/B,SAASE,uBAAuB;AAChC,SAASC,oBAAoB;AAE7B,OAAO,MAAMC,oBAAoB,GAAGL,aAAa,CAAC;EAC9CM,IAAI,EAAE,eAAe;EACrBC,QAAQA,CAACC,SAAS,EAAE;IAChBA,SAAS,CAACD,QAAQ,CAACN,sBAAsB,CAAC;IAC1CO,SAAS,CAACD,QAAQ,CAACJ,uBAAuB,CAAC,CAACM,gBAAgB,CAAC,CAAC;IAC9DD,SAAS,CAACD,QAAQ,CAACH,oBAAoB,CAAC,CAACK,gBAAgB,CAAC,CAAC;EAC/D,CAAC;EACDC,OAAOA,CAACF,SAAS,EAAE;IACf,OAAO;MACHG,SAAS,EAAEH,SAAS,CAACE,OAAO,CAACR,oBAAoB;IACrD,CAAC;EACL;AACJ,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { useEffect, useState } from "react";
|
|
2
|
+
import { autorun } from "mobx";
|
|
3
|
+
import { useFeature } from "@webiny/app-admin";
|
|
4
|
+
import { CurrentTenantFeature } from "./feature.js";
|
|
5
|
+
export const useCurrentTenant = () => {
|
|
6
|
+
const {
|
|
7
|
+
presenter
|
|
8
|
+
} = useFeature(CurrentTenantFeature);
|
|
9
|
+
// The app is not rendered till the tenant is loaded.
|
|
10
|
+
// If this hook is used, it's safe to assume the tenant is loaded.
|
|
11
|
+
const [tenant, setTenant] = useState(presenter.vm.tenant);
|
|
12
|
+
useEffect(() => {
|
|
13
|
+
return autorun(() => {
|
|
14
|
+
const tenant = presenter.vm.tenant;
|
|
15
|
+
setTenant(tenant);
|
|
16
|
+
});
|
|
17
|
+
}, []);
|
|
18
|
+
return {
|
|
19
|
+
tenant
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
//# sourceMappingURL=useCurrentTenant.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useEffect","useState","autorun","useFeature","CurrentTenantFeature","useCurrentTenant","presenter","tenant","setTenant","vm"],"sources":["useCurrentTenant.ts"],"sourcesContent":["import { useEffect, useState } from \"react\";\nimport { autorun } from \"mobx\";\nimport { useFeature } from \"@webiny/app-admin\";\nimport { CurrentTenantFeature } from \"./feature.js\";\nimport type { Tenant } from \"../../shared/Tenant.js\";\n\nexport const useCurrentTenant = () => {\n const { presenter } = useFeature(CurrentTenantFeature);\n // The app is not rendered till the tenant is loaded.\n // If this hook is used, it's safe to assume the tenant is loaded.\n const [tenant, setTenant] = useState(presenter.vm.tenant as Tenant);\n\n useEffect(() => {\n return autorun(() => {\n const tenant = presenter.vm.tenant;\n setTenant(tenant as Tenant);\n });\n }, []);\n\n return { tenant };\n};\n"],"mappings":"AAAA,SAASA,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAC3C,SAASC,OAAO,QAAQ,MAAM;AAC9B,SAASC,UAAU,QAAQ,mBAAmB;AAC9C,SAASC,oBAAoB;AAG7B,OAAO,MAAMC,gBAAgB,GAAGA,CAAA,KAAM;EAClC,MAAM;IAAEC;EAAU,CAAC,GAAGH,UAAU,CAACC,oBAAoB,CAAC;EACtD;EACA;EACA,MAAM,CAACG,MAAM,EAAEC,SAAS,CAAC,GAAGP,QAAQ,CAACK,SAAS,CAACG,EAAE,CAACF,MAAgB,CAAC;EAEnEP,SAAS,CAAC,MAAM;IACZ,OAAOE,OAAO,CAAC,MAAM;MACjB,MAAMK,MAAM,GAAGD,SAAS,CAACG,EAAE,CAACF,MAAM;MAClCC,SAAS,CAACD,MAAgB,CAAC;IAC/B,CAAC,CAAC;EACN,CAAC,EAAE,EAAE,CAAC;EAEN,OAAO;IAAEA;EAAO,CAAC;AACrB,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { createProviderPlugin } from "@webiny/app-admin";
|
|
3
|
+
import { CurrentTenant } from "./CurrentTenant/CurrentTenant.js";
|
|
4
|
+
export const CurrentTenantProvider = createProviderPlugin(Component => {
|
|
5
|
+
return function CurrentTenantProvider({
|
|
6
|
+
children
|
|
7
|
+
}) {
|
|
8
|
+
return /*#__PURE__*/React.createElement(CurrentTenant, null, /*#__PURE__*/React.createElement(Component, null, children));
|
|
9
|
+
};
|
|
10
|
+
});
|
|
11
|
+
|
|
12
|
+
//# sourceMappingURL=CurrentTenantProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","createProviderPlugin","CurrentTenant","CurrentTenantProvider","Component","children","createElement"],"sources":["CurrentTenantProvider.tsx"],"sourcesContent":["import React from \"react\";\nimport { createProviderPlugin } from \"@webiny/app-admin\";\nimport { CurrentTenant } from \"./CurrentTenant/CurrentTenant.js\";\n\nexport const CurrentTenantProvider = createProviderPlugin(Component => {\n return function CurrentTenantProvider({ children }) {\n return (\n <CurrentTenant>\n <Component>{children}</Component>\n </CurrentTenant>\n );\n };\n});\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,oBAAoB,QAAQ,mBAAmB;AACxD,SAASC,aAAa;AAEtB,OAAO,MAAMC,qBAAqB,GAAGF,oBAAoB,CAACG,SAAS,IAAI;EACnE,OAAO,SAASD,qBAAqBA,CAAC;IAAEE;EAAS,CAAC,EAAE;IAChD,oBACIL,KAAA,CAAAM,aAAA,CAACJ,aAAa,qBACVF,KAAA,CAAAM,aAAA,CAACF,SAAS,QAAEC,QAAoB,CACrB,CAAC;EAExB,CAAC;AACL,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { GraphQLClient } from "@webiny/app/features/graphqlClient/index.js";
|
|
2
|
+
import { DisableTenantGateway as GatewayAbstraction } from "./abstractions.js";
|
|
3
|
+
declare class DisableTenantGraphQLGateway implements GatewayAbstraction.Interface {
|
|
4
|
+
private client;
|
|
5
|
+
constructor(client: GraphQLClient.Interface);
|
|
6
|
+
disableTenant(tenantId: string): Promise<boolean>;
|
|
7
|
+
}
|
|
8
|
+
export declare const DisableTenantGateway: typeof DisableTenantGraphQLGateway & {
|
|
9
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IDisableTenantGateway>;
|
|
10
|
+
};
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { GraphQLClient } from "@webiny/app/features/graphqlClient/index.js";
|
|
2
|
+
import { DisableTenantGateway as GatewayAbstraction } from "./abstractions.js";
|
|
3
|
+
const DISABLE_TENANT = /* GraphQL */`
|
|
4
|
+
mutation DisableTenant($tenantId: ID!) {
|
|
5
|
+
tenantManager {
|
|
6
|
+
disableTenant(tenantId: $tenantId) {
|
|
7
|
+
data
|
|
8
|
+
error {
|
|
9
|
+
code
|
|
10
|
+
message
|
|
11
|
+
data
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
`;
|
|
17
|
+
class DisableTenantGraphQLGateway {
|
|
18
|
+
constructor(client) {
|
|
19
|
+
this.client = client;
|
|
20
|
+
}
|
|
21
|
+
async disableTenant(tenantId) {
|
|
22
|
+
const response = await this.client.execute({
|
|
23
|
+
query: DISABLE_TENANT,
|
|
24
|
+
variables: {
|
|
25
|
+
tenantId
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
const envelope = response.tenantManager.disableTenant;
|
|
29
|
+
if (envelope.error) {
|
|
30
|
+
throw new Error(envelope.error.message);
|
|
31
|
+
}
|
|
32
|
+
if (!envelope.data) {
|
|
33
|
+
throw new Error("Unable to disable tenant");
|
|
34
|
+
}
|
|
35
|
+
return envelope.data;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
export const DisableTenantGateway = GatewayAbstraction.createImplementation({
|
|
39
|
+
implementation: DisableTenantGraphQLGateway,
|
|
40
|
+
dependencies: [GraphQLClient]
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
//# sourceMappingURL=DisableTenantGateway.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["GraphQLClient","DisableTenantGateway","GatewayAbstraction","DISABLE_TENANT","DisableTenantGraphQLGateway","constructor","client","disableTenant","tenantId","response","execute","query","variables","envelope","tenantManager","error","Error","message","data","createImplementation","implementation","dependencies"],"sources":["DisableTenantGateway.ts"],"sourcesContent":["import { GraphQLClient } from \"@webiny/app/features/graphqlClient/index.js\";\nimport { DisableTenantGateway as GatewayAbstraction } from \"./abstractions.js\";\n\nconst DISABLE_TENANT = /* GraphQL */ `\n mutation DisableTenant($tenantId: ID!) {\n tenantManager {\n disableTenant(tenantId: $tenantId) {\n data\n error {\n code\n message\n data\n }\n }\n }\n }\n`;\n\ntype DisableTenantResponse = {\n tenantManager: {\n disableTenant:\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 DisableTenantGraphQLGateway implements GatewayAbstraction.Interface {\n constructor(private client: GraphQLClient.Interface) {}\n\n async disableTenant(tenantId: string): Promise<boolean> {\n const response = await this.client.execute<DisableTenantResponse>({\n query: DISABLE_TENANT,\n variables: { tenantId }\n });\n\n const envelope = response.tenantManager.disableTenant;\n if (envelope.error) {\n throw new Error(envelope.error.message);\n }\n\n if (!envelope.data) {\n throw new Error(\"Unable to disable tenant\");\n }\n\n return envelope.data;\n }\n}\n\nexport const DisableTenantGateway = GatewayAbstraction.createImplementation({\n implementation: DisableTenantGraphQLGateway,\n dependencies: [GraphQLClient]\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,6CAA6C;AAC3E,SAASC,oBAAoB,IAAIC,kBAAkB;AAEnD,MAAMC,cAAc,GAAG,aAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAoBD,MAAMC,2BAA2B,CAAyC;EACtEC,WAAWA,CAASC,MAA+B,EAAE;IAAA,KAAjCA,MAA+B,GAA/BA,MAA+B;EAAG;EAEtD,MAAMC,aAAaA,CAACC,QAAgB,EAAoB;IACpD,MAAMC,QAAQ,GAAG,MAAM,IAAI,CAACH,MAAM,CAACI,OAAO,CAAwB;MAC9DC,KAAK,EAAER,cAAc;MACrBS,SAAS,EAAE;QAAEJ;MAAS;IAC1B,CAAC,CAAC;IAEF,MAAMK,QAAQ,GAAGJ,QAAQ,CAACK,aAAa,CAACP,aAAa;IACrD,IAAIM,QAAQ,CAACE,KAAK,EAAE;MAChB,MAAM,IAAIC,KAAK,CAACH,QAAQ,CAACE,KAAK,CAACE,OAAO,CAAC;IAC3C;IAEA,IAAI,CAACJ,QAAQ,CAACK,IAAI,EAAE;MAChB,MAAM,IAAIF,KAAK,CAAC,0BAA0B,CAAC;IAC/C;IAEA,OAAOH,QAAQ,CAACK,IAAI;EACxB;AACJ;AAEA,OAAO,MAAMjB,oBAAoB,GAAGC,kBAAkB,CAACiB,oBAAoB,CAAC;EACxEC,cAAc,EAAEhB,2BAA2B;EAC3CiB,YAAY,EAAE,CAACrB,aAAa;AAChC,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { DisableTenantRepository as RepositoryAbstraction, DisableTenantGateway } from "./abstractions.js";
|
|
2
|
+
declare class DisableTenantRepositoryImpl implements RepositoryAbstraction.Interface {
|
|
3
|
+
private gateway;
|
|
4
|
+
constructor(gateway: DisableTenantGateway.Interface);
|
|
5
|
+
execute(tenantId: string): Promise<void>;
|
|
6
|
+
}
|
|
7
|
+
export declare const DisableTenantRepository: typeof DisableTenantRepositoryImpl & {
|
|
8
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IDisableTenantRepository>;
|
|
9
|
+
};
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { DisableTenantRepository as RepositoryAbstraction, DisableTenantGateway } from "./abstractions.js";
|
|
2
|
+
class DisableTenantRepositoryImpl {
|
|
3
|
+
constructor(gateway) {
|
|
4
|
+
this.gateway = gateway;
|
|
5
|
+
}
|
|
6
|
+
async execute(tenantId) {
|
|
7
|
+
await this.gateway.disableTenant(tenantId);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
export const DisableTenantRepository = RepositoryAbstraction.createImplementation({
|
|
11
|
+
implementation: DisableTenantRepositoryImpl,
|
|
12
|
+
dependencies: [DisableTenantGateway]
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
//# sourceMappingURL=DisableTenantRepository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["DisableTenantRepository","RepositoryAbstraction","DisableTenantGateway","DisableTenantRepositoryImpl","constructor","gateway","execute","tenantId","disableTenant","createImplementation","implementation","dependencies"],"sources":["DisableTenantRepository.ts"],"sourcesContent":["import {\n DisableTenantRepository as RepositoryAbstraction,\n DisableTenantGateway\n} from \"./abstractions.js\";\n\nclass DisableTenantRepositoryImpl implements RepositoryAbstraction.Interface {\n constructor(private gateway: DisableTenantGateway.Interface) {}\n\n async execute(tenantId: string): Promise<void> {\n await this.gateway.disableTenant(tenantId);\n }\n}\n\nexport const DisableTenantRepository = RepositoryAbstraction.createImplementation({\n implementation: DisableTenantRepositoryImpl,\n dependencies: [DisableTenantGateway]\n});\n"],"mappings":"AAAA,SACIA,uBAAuB,IAAIC,qBAAqB,EAChDC,oBAAoB;AAGxB,MAAMC,2BAA2B,CAA4C;EACzEC,WAAWA,CAASC,OAAuC,EAAE;IAAA,KAAzCA,OAAuC,GAAvCA,OAAuC;EAAG;EAE9D,MAAMC,OAAOA,CAACC,QAAgB,EAAiB;IAC3C,MAAM,IAAI,CAACF,OAAO,CAACG,aAAa,CAACD,QAAQ,CAAC;EAC9C;AACJ;AAEA,OAAO,MAAMP,uBAAuB,GAAGC,qBAAqB,CAACQ,oBAAoB,CAAC;EAC9EC,cAAc,EAAEP,2BAA2B;EAC3CQ,YAAY,EAAE,CAACT,oBAAoB;AACvC,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { DisableTenantUseCase as UseCaseAbstraction, DisableTenantRepository } from "./abstractions.js";
|
|
2
|
+
declare class DisableTenantUseCaseImpl implements UseCaseAbstraction.Interface {
|
|
3
|
+
private repository;
|
|
4
|
+
constructor(repository: DisableTenantRepository.Interface);
|
|
5
|
+
execute(tenantId: string): Promise<void>;
|
|
6
|
+
}
|
|
7
|
+
export declare const DisableTenantUseCase: typeof DisableTenantUseCaseImpl & {
|
|
8
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IDisableTenantUseCase>;
|
|
9
|
+
};
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { DisableTenantUseCase as UseCaseAbstraction, DisableTenantRepository } from "./abstractions.js";
|
|
2
|
+
class DisableTenantUseCaseImpl {
|
|
3
|
+
constructor(repository) {
|
|
4
|
+
this.repository = repository;
|
|
5
|
+
}
|
|
6
|
+
async execute(tenantId) {
|
|
7
|
+
return this.repository.execute(tenantId);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
export const DisableTenantUseCase = UseCaseAbstraction.createImplementation({
|
|
11
|
+
implementation: DisableTenantUseCaseImpl,
|
|
12
|
+
dependencies: [DisableTenantRepository]
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
//# sourceMappingURL=DisableTenantUseCase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["DisableTenantUseCase","UseCaseAbstraction","DisableTenantRepository","DisableTenantUseCaseImpl","constructor","repository","execute","tenantId","createImplementation","implementation","dependencies"],"sources":["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"],"mappings":"AAAA,SACIA,oBAAoB,IAAIC,kBAAkB,EAC1CC,uBAAuB;AAG3B,MAAMC,wBAAwB,CAAyC;EACnEC,WAAWA,CAASC,UAA6C,EAAE;IAAA,KAA/CA,UAA6C,GAA7CA,UAA6C;EAAG;EAEpE,MAAMC,OAAOA,CAACC,QAAgB,EAAiB;IAC3C,OAAO,IAAI,CAACF,UAAU,CAACC,OAAO,CAACC,QAAQ,CAAC;EAC5C;AACJ;AAEA,OAAO,MAAMP,oBAAoB,GAAGC,kBAAkB,CAACO,oBAAoB,CAAC;EACxEC,cAAc,EAAEN,wBAAwB;EACxCO,YAAY,EAAE,CAACR,uBAAuB;AAC1C,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export interface IDisableTenantUseCase {
|
|
2
|
+
execute(tenantId: string): Promise<void>;
|
|
3
|
+
}
|
|
4
|
+
export declare const DisableTenantUseCase: import("@webiny/di").Abstraction<IDisableTenantUseCase>;
|
|
5
|
+
export declare namespace DisableTenantUseCase {
|
|
6
|
+
type Interface = IDisableTenantUseCase;
|
|
7
|
+
}
|
|
8
|
+
export interface IDisableTenantRepository {
|
|
9
|
+
execute(tenantId: string): Promise<void>;
|
|
10
|
+
}
|
|
11
|
+
export declare const DisableTenantRepository: import("@webiny/di").Abstraction<IDisableTenantRepository>;
|
|
12
|
+
export declare namespace DisableTenantRepository {
|
|
13
|
+
type Interface = IDisableTenantRepository;
|
|
14
|
+
}
|
|
15
|
+
export interface IDisableTenantGateway {
|
|
16
|
+
disableTenant(tenantId: string): Promise<boolean>;
|
|
17
|
+
}
|
|
18
|
+
export declare const DisableTenantGateway: import("@webiny/di").Abstraction<IDisableTenantGateway>;
|
|
19
|
+
export declare namespace DisableTenantGateway {
|
|
20
|
+
type Interface = IDisableTenantGateway;
|
|
21
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { createAbstraction } from "@webiny/feature/admin";
|
|
2
|
+
|
|
3
|
+
// UseCase abstraction - only execute method
|
|
4
|
+
|
|
5
|
+
export const DisableTenantUseCase = createAbstraction("DisableTenantUseCase");
|
|
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");
|
|
14
|
+
|
|
15
|
+
//# sourceMappingURL=abstractions.js.map
|