@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
package/admin/IsRootTenant.js
CHANGED
|
@@ -1,37 +1,19 @@
|
|
|
1
|
-
import
|
|
1
|
+
import react, { Fragment } from "react";
|
|
2
2
|
import { useAuthentication } from "@webiny/app-admin";
|
|
3
3
|
import { useCurrentTenant } from "./CurrentTenant/useCurrentTenant.js";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
} = useAuthentication();
|
|
11
|
-
const {
|
|
12
|
-
tenant
|
|
13
|
-
} = useCurrentTenant();
|
|
14
|
-
if (!identity.isAuthenticated) {
|
|
15
|
-
return null;
|
|
16
|
-
}
|
|
17
|
-
if (!condition(tenant)) {
|
|
18
|
-
return null;
|
|
19
|
-
}
|
|
20
|
-
return /*#__PURE__*/React.createElement(Fragment, null, children);
|
|
21
|
-
};
|
|
22
|
-
export const IsRootTenant = ({
|
|
23
|
-
children
|
|
24
|
-
}) => {
|
|
25
|
-
return /*#__PURE__*/React.createElement(IsTenant, {
|
|
26
|
-
condition: tenant => tenant.id === "root"
|
|
27
|
-
}, children);
|
|
28
|
-
};
|
|
29
|
-
export const IsNotRootTenant = ({
|
|
30
|
-
children
|
|
31
|
-
}) => {
|
|
32
|
-
return /*#__PURE__*/React.createElement(IsTenant, {
|
|
33
|
-
condition: tenant => tenant.id !== "root"
|
|
34
|
-
}, children);
|
|
4
|
+
const IsTenant = ({ condition, children })=>{
|
|
5
|
+
const { identity } = useAuthentication();
|
|
6
|
+
const { tenant } = useCurrentTenant();
|
|
7
|
+
if (!identity.isAuthenticated) return null;
|
|
8
|
+
if (!condition(tenant)) return null;
|
|
9
|
+
return /*#__PURE__*/ react.createElement(Fragment, null, children);
|
|
35
10
|
};
|
|
11
|
+
const IsRootTenant = ({ children })=>/*#__PURE__*/ react.createElement(IsTenant, {
|
|
12
|
+
condition: (tenant)=>"root" === tenant.id
|
|
13
|
+
}, children);
|
|
14
|
+
const IsNotRootTenant = ({ children })=>/*#__PURE__*/ react.createElement(IsTenant, {
|
|
15
|
+
condition: (tenant)=>"root" !== tenant.id
|
|
16
|
+
}, children);
|
|
17
|
+
export { IsNotRootTenant, IsRootTenant, IsTenant };
|
|
36
18
|
|
|
37
19
|
//# sourceMappingURL=IsRootTenant.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"admin/IsRootTenant.js","sources":["../../src/admin/IsRootTenant.tsx"],"sourcesContent":["import React, { Fragment } from \"react\";\nimport { useAuthentication } from \"@webiny/app-admin\";\nimport type { Tenant } from \"../shared/Tenant.js\";\nimport { useCurrentTenant } from \"./CurrentTenant/useCurrentTenant.js\";\n\ninterface IsTenantProps {\n condition(tenant: Tenant): boolean;\n children: React.ReactNode;\n}\n\ninterface RootTenantProps {\n children: React.ReactNode;\n}\n\nexport const IsTenant = ({ condition, children }: IsTenantProps) => {\n const { identity } = useAuthentication();\n const { tenant } = useCurrentTenant();\n\n if (!identity.isAuthenticated) {\n return null;\n }\n\n if (!condition(tenant)) {\n return null;\n }\n\n return <Fragment>{children}</Fragment>;\n};\n\nexport const IsRootTenant = ({ children }: RootTenantProps) => {\n return <IsTenant condition={tenant => tenant.id === \"root\"}>{children}</IsTenant>;\n};\n\nexport const IsNotRootTenant = ({ children }: RootTenantProps) => {\n return <IsTenant condition={tenant => tenant.id !== \"root\"}>{children}</IsTenant>;\n};\n"],"names":["IsTenant","condition","children","identity","useAuthentication","tenant","useCurrentTenant","Fragment","IsRootTenant","IsNotRootTenant"],"mappings":";;;AAcO,MAAMA,WAAW,CAAC,EAAEC,SAAS,EAAEC,QAAQ,EAAiB;IAC3D,MAAM,EAAEC,QAAQ,EAAE,GAAGC;IACrB,MAAM,EAAEC,MAAM,EAAE,GAAGC;IAEnB,IAAI,CAACH,SAAS,eAAe,EACzB,OAAO;IAGX,IAAI,CAACF,UAAUI,SACX,OAAO;IAGX,OAAO,WAAP,GAAO,oBAACE,UAAQA,MAAEL;AACtB;AAEO,MAAMM,eAAe,CAAC,EAAEN,QAAQ,EAAmB,GAC/C,WAAP,GAAO,oBAACF,UAAQA;QAAC,WAAWK,CAAAA,SAAUA,AAAc,WAAdA,OAAO,EAAE;OAAcH;AAG1D,MAAMO,kBAAkB,CAAC,EAAEP,QAAQ,EAAmB,GAClD,WAAP,GAAO,oBAACF,UAAQA;QAAC,WAAWK,CAAAA,SAAUA,AAAc,WAAdA,OAAO,EAAE;OAAcH"}
|
|
@@ -1,18 +1,15 @@
|
|
|
1
|
-
import
|
|
1
|
+
import react from "react";
|
|
2
2
|
import { AdminConfig } from "@webiny/app-admin";
|
|
3
|
-
import { ReactComponent
|
|
3
|
+
import { ReactComponent } from "@webiny/icons/business.svg";
|
|
4
4
|
import { TM_PERMISSIONS_SCHEMA } from "./domain/permissionsSchema.js";
|
|
5
|
-
const {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
schema: TM_PERMISSIONS_SCHEMA
|
|
15
|
-
}));
|
|
16
|
-
};
|
|
5
|
+
const { Security: Security } = AdminConfig;
|
|
6
|
+
const SecurityPermission = ()=>/*#__PURE__*/ react.createElement(AdminConfig, null, /*#__PURE__*/ react.createElement(Security.Permissions, {
|
|
7
|
+
name: "tenant-manager",
|
|
8
|
+
title: "Tenant Manager",
|
|
9
|
+
description: "Manage Tenant Manager permissions.",
|
|
10
|
+
icon: /*#__PURE__*/ react.createElement(ReactComponent, null),
|
|
11
|
+
schema: TM_PERMISSIONS_SCHEMA
|
|
12
|
+
}));
|
|
13
|
+
export { SecurityPermission };
|
|
17
14
|
|
|
18
15
|
//# sourceMappingURL=SecurityPermission.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"admin/SecurityPermission.js","sources":["../../src/admin/SecurityPermission.tsx"],"sourcesContent":["import React from \"react\";\nimport { AdminConfig } from \"@webiny/app-admin\";\nimport { ReactComponent as PermissionsIcon } from \"@webiny/icons/business.svg\";\nimport { TM_PERMISSIONS_SCHEMA } from \"./domain/permissionsSchema.js\";\n\nconst { Security } = AdminConfig;\n\nexport const SecurityPermission = () => {\n return (\n <AdminConfig>\n <Security.Permissions\n name=\"tenant-manager\"\n title=\"Tenant Manager\"\n description=\"Manage Tenant Manager permissions.\"\n icon={<PermissionsIcon />}\n schema={TM_PERMISSIONS_SCHEMA}\n />\n </AdminConfig>\n );\n};\n"],"names":["Security","AdminConfig","SecurityPermission","PermissionsIcon","TM_PERMISSIONS_SCHEMA"],"mappings":";;;;AAKA,MAAM,EAAEA,UAAAA,QAAQ,EAAE,GAAGC;AAEd,MAAMC,qBAAqB,IACvB,WAAP,GACI,oBAACD,aAAWA,MAAAA,WAAAA,GACR,oBAACD,SAAS,WAAW;QACjB,MAAK;QACL,OAAM;QACN,aAAY;QACZ,oBAAM,oBAACG,gBAAeA;QACtB,QAAQC"}
|
|
@@ -1,42 +1,41 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
1
|
+
import react, { useCallback } from "react";
|
|
2
|
+
import { Text, useToast } from "@webiny/admin-ui";
|
|
3
3
|
import { useDialogs } from "@webiny/app-admin";
|
|
4
4
|
import { useDisableTenant } from "../../DisableTenant/index.js";
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
disableEntry
|
|
39
|
-
};
|
|
5
|
+
function useDisableTenantDialog({ record }) {
|
|
6
|
+
const toast = useToast();
|
|
7
|
+
const dialogs = useDialogs();
|
|
8
|
+
const { disableTenant } = useDisableTenant(record);
|
|
9
|
+
const disableEntry = useCallback(()=>{
|
|
10
|
+
dialogs.showDialog({
|
|
11
|
+
title: "Are you sure you want to disable this tenant?",
|
|
12
|
+
content: /*#__PURE__*/ react.createElement(react.Fragment, null, /*#__PURE__*/ react.createElement(Text, {
|
|
13
|
+
as: "div"
|
|
14
|
+
}, "Users won't be able to sign in, and all API access will stop working immediately. Don't worry - you can re-enable it later if needed.")),
|
|
15
|
+
acceptLabel: "Yes, disable!",
|
|
16
|
+
loadingLabel: "Disabling tenant...",
|
|
17
|
+
async onAccept () {
|
|
18
|
+
try {
|
|
19
|
+
await disableTenant();
|
|
20
|
+
toast.showSuccessToast({
|
|
21
|
+
title: "Tenant was disabled successfully!"
|
|
22
|
+
});
|
|
23
|
+
} catch (e) {
|
|
24
|
+
toast.showWarningToast({
|
|
25
|
+
title: "Tenant could not be disabled!",
|
|
26
|
+
description: e.message,
|
|
27
|
+
duration: 1 / 0
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
}, [
|
|
33
|
+
record.id
|
|
34
|
+
]);
|
|
35
|
+
return {
|
|
36
|
+
disableEntry
|
|
37
|
+
};
|
|
40
38
|
}
|
|
39
|
+
export { useDisableTenantDialog };
|
|
41
40
|
|
|
42
41
|
//# sourceMappingURL=useDisableTenantDialog.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"admin/TenantEntryList/DisableTenant/useDisableTenantDialog.js","sources":["../../../../src/admin/TenantEntryList/DisableTenant/useDisableTenantDialog.tsx"],"sourcesContent":["import React, { useCallback } from \"react\";\nimport type { TenantEntry } from \"~/admin/types.js\";\nimport { useToast, Text } from \"@webiny/admin-ui\";\nimport { useDialogs } from \"@webiny/app-admin\";\nimport { useDisableTenant } from \"~/admin/DisableTenant/index.js\";\n\ninterface UseDisableTenantDialog {\n record: TenantEntry;\n}\n\nexport function useDisableTenantDialog({ record }: UseDisableTenantDialog) {\n const toast = useToast();\n const dialogs = useDialogs();\n const { disableTenant } = useDisableTenant(record);\n\n const disableEntry = useCallback(() => {\n dialogs.showDialog({\n title: \"Are you sure you want to disable this tenant?\",\n content: (\n <>\n <Text as={\"div\"}>\n Users won't be able to sign in, and all API access will stop working\n immediately. Don't worry - you can re-enable it later if needed.\n </Text>\n </>\n ),\n acceptLabel: \"Yes, disable!\",\n loadingLabel: \"Disabling tenant...\",\n async onAccept() {\n try {\n await disableTenant();\n toast.showSuccessToast({\n title: \"Tenant was disabled successfully!\"\n });\n } catch (e) {\n toast.showWarningToast({\n title: \"Tenant could not be disabled!\",\n description: e.message,\n duration: Infinity\n });\n }\n }\n });\n }, [record.id]);\n\n return { disableEntry };\n}\n"],"names":["useDisableTenantDialog","record","toast","useToast","dialogs","useDialogs","disableTenant","useDisableTenant","disableEntry","useCallback","Text","e","Infinity"],"mappings":";;;;AAUO,SAASA,uBAAuB,EAAEC,MAAM,EAA0B;IACrE,MAAMC,QAAQC;IACd,MAAMC,UAAUC;IAChB,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAiBN;IAE3C,MAAMO,eAAeC,YAAY;QAC7BL,QAAQ,UAAU,CAAC;YACf,OAAO;YACP,SAAS,WAAT,GACI,wDACI,oBAACM,MAAIA;gBAAC,IAAI;eAAO;YAMzB,aAAa;YACb,cAAc;YACd,MAAM;gBACF,IAAI;oBACA,MAAMJ;oBACNJ,MAAM,gBAAgB,CAAC;wBACnB,OAAO;oBACX;gBACJ,EAAE,OAAOS,GAAG;oBACRT,MAAM,gBAAgB,CAAC;wBACnB,OAAO;wBACP,aAAaS,EAAE,OAAO;wBACtB,UAAUC;oBACd;gBACJ;YACJ;QACJ;IACJ,GAAG;QAACX,OAAO,EAAE;KAAC;IAEd,OAAO;QAAEO;IAAa;AAC1B"}
|
|
@@ -1,19 +1,15 @@
|
|
|
1
|
-
import
|
|
1
|
+
import react from "react";
|
|
2
2
|
import { Button } from "@webiny/admin-ui";
|
|
3
3
|
import { useEnableTenant } from "./useEnableTenant.js";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
variant: "primary",
|
|
13
|
-
onClick: enableTenant,
|
|
14
|
-
disabled: loading,
|
|
15
|
-
text: loading ? "Enabling..." : "Enable"
|
|
16
|
-
});
|
|
4
|
+
const EnableTenant = ({ tenant })=>{
|
|
5
|
+
const { enableTenant, loading } = useEnableTenant(tenant);
|
|
6
|
+
return /*#__PURE__*/ react.createElement(Button, {
|
|
7
|
+
variant: "primary",
|
|
8
|
+
onClick: enableTenant,
|
|
9
|
+
disabled: loading,
|
|
10
|
+
text: loading ? "Enabling..." : "Enable"
|
|
11
|
+
});
|
|
17
12
|
};
|
|
13
|
+
export { EnableTenant };
|
|
18
14
|
|
|
19
15
|
//# sourceMappingURL=EnableTenant.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"admin/TenantEntryList/EnableTenant/EnableTenant.js","sources":["../../../../src/admin/TenantEntryList/EnableTenant/EnableTenant.tsx"],"sourcesContent":["import React from \"react\";\nimport { Button } from \"@webiny/admin-ui\";\nimport { TenantEntry } from \"../../types.js\";\nimport { useEnableTenant } from \"./useEnableTenant.js\";\n\ninterface EnableTenantProps {\n tenant: TenantEntry;\n}\n\nexport const EnableTenant = ({ tenant }: EnableTenantProps) => {\n const { enableTenant, loading } = useEnableTenant(tenant);\n\n return (\n <Button\n variant={\"primary\"}\n onClick={enableTenant}\n disabled={loading}\n text={loading ? \"Enabling...\" : \"Enable\"}\n />\n );\n};\n"],"names":["EnableTenant","tenant","enableTenant","loading","useEnableTenant","Button"],"mappings":";;;AASO,MAAMA,eAAe,CAAC,EAAEC,MAAM,EAAqB;IACtD,MAAM,EAAEC,YAAY,EAAEC,OAAO,EAAE,GAAGC,gBAAgBH;IAElD,OAAO,WAAP,GACI,oBAACI,QAAMA;QACH,SAAS;QACT,SAASH;QACT,UAAUC;QACV,MAAMA,UAAU,gBAAgB;;AAG5C"}
|
|
@@ -1,39 +1,40 @@
|
|
|
1
1
|
import { useCallback } from "react";
|
|
2
2
|
import { useToast } from "@webiny/admin-ui";
|
|
3
3
|
import { useRecords } from "@webiny/app-aco";
|
|
4
|
-
import { useEnableTenant
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
4
|
+
import { useEnableTenant } from "../../EnableTenant/index.js";
|
|
5
|
+
const useEnableTenant_useEnableTenant = (tenant)=>{
|
|
6
|
+
const toast = useToast();
|
|
7
|
+
const { updateRecordInCache } = useRecords();
|
|
8
|
+
const useCase = useEnableTenant();
|
|
9
|
+
const enableTenant = useCallback(async ()=>{
|
|
10
|
+
try {
|
|
11
|
+
await useCase.enableTenant(tenant.entryId);
|
|
12
|
+
} catch (error) {
|
|
13
|
+
toast.showWarningToast({
|
|
14
|
+
title: "Could not enable tenant",
|
|
15
|
+
description: error.message,
|
|
16
|
+
duration: 1 / 0
|
|
17
|
+
});
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
toast.showSuccessToast({
|
|
21
|
+
title: "Tenant was enabled successfully!"
|
|
22
|
+
});
|
|
23
|
+
updateRecordInCache({
|
|
24
|
+
...tenant,
|
|
25
|
+
values: {
|
|
26
|
+
...tenant.values,
|
|
27
|
+
status: "enabled"
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
}, [
|
|
31
|
+
tenant
|
|
32
|
+
]);
|
|
33
|
+
return {
|
|
34
|
+
enableTenant,
|
|
35
|
+
loading: useCase.loading
|
|
36
|
+
};
|
|
37
37
|
};
|
|
38
|
+
export { useEnableTenant_useEnableTenant as useEnableTenant };
|
|
38
39
|
|
|
39
40
|
//# sourceMappingURL=useEnableTenant.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"admin/TenantEntryList/EnableTenant/useEnableTenant.js","sources":["../../../../src/admin/TenantEntryList/EnableTenant/useEnableTenant.ts"],"sourcesContent":["import { useCallback } from \"react\";\nimport { useToast } from \"@webiny/admin-ui\";\nimport { useRecords } from \"@webiny/app-aco\";\nimport { TenantEntry } from \"../../types.js\";\nimport { useEnableTenant as baseEnableTenant } from \"~/admin/EnableTenant/index.js\";\n\nexport const useEnableTenant = (tenant: TenantEntry) => {\n const toast = useToast();\n const { updateRecordInCache } = useRecords();\n const useCase = baseEnableTenant();\n\n const enableTenant = useCallback(async () => {\n try {\n await useCase.enableTenant(tenant.entryId);\n } catch (error) {\n toast.showWarningToast({\n title: \"Could not enable tenant\",\n description: error.message,\n duration: Infinity\n });\n return;\n }\n\n toast.showSuccessToast({ title: \"Tenant was enabled successfully!\" });\n\n updateRecordInCache({\n ...tenant,\n values: {\n ...tenant.values,\n status: \"enabled\"\n }\n });\n }, [tenant]);\n\n return { enableTenant, loading: useCase.loading };\n};\n"],"names":["useEnableTenant","tenant","toast","useToast","updateRecordInCache","useRecords","useCase","baseEnableTenant","enableTenant","useCallback","error","Infinity"],"mappings":";;;;AAMO,MAAMA,kCAAkB,CAACC;IAC5B,MAAMC,QAAQC;IACd,MAAM,EAAEC,mBAAmB,EAAE,GAAGC;IAChC,MAAMC,UAAUC;IAEhB,MAAMC,eAAeC,YAAY;QAC7B,IAAI;YACA,MAAMH,QAAQ,YAAY,CAACL,OAAO,OAAO;QAC7C,EAAE,OAAOS,OAAO;YACZR,MAAM,gBAAgB,CAAC;gBACnB,OAAO;gBACP,aAAaQ,MAAM,OAAO;gBAC1B,UAAUC;YACd;YACA;QACJ;QAEAT,MAAM,gBAAgB,CAAC;YAAE,OAAO;QAAmC;QAEnEE,oBAAoB;YAChB,GAAGH,MAAM;YACT,QAAQ;gBACJ,GAAGA,OAAO,MAAM;gBAChB,QAAQ;YACZ;QACJ;IACJ,GAAG;QAACA;KAAO;IAEX,OAAO;QAAEO;QAAc,SAASF,QAAQ,OAAO;IAAC;AACpD"}
|
|
@@ -1,29 +1,24 @@
|
|
|
1
|
-
import
|
|
1
|
+
import react from "react";
|
|
2
2
|
import { useNavigateFolder } from "@webiny/app-aco";
|
|
3
3
|
import { Icon, Text } from "@webiny/admin-ui";
|
|
4
|
-
import { ReactComponent
|
|
5
|
-
import { ReactComponent as
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
color: "neutral-strong",
|
|
22
|
-
icon: icon,
|
|
23
|
-
label: `Folder - ${folder.title}`
|
|
24
|
-
}), /*#__PURE__*/React.createElement(Text, {
|
|
25
|
-
className: "truncate min-w-0 shrink"
|
|
26
|
-
}, folder.title));
|
|
4
|
+
import { ReactComponent } from "@webiny/icons/folder.svg";
|
|
5
|
+
import { ReactComponent as folder_shared_svg_ReactComponent } from "@webiny/icons/folder_shared.svg";
|
|
6
|
+
const FolderNameCell = ({ folder })=>{
|
|
7
|
+
const { navigateToFolder } = useNavigateFolder();
|
|
8
|
+
let icon = /*#__PURE__*/ react.createElement(ReactComponent, null);
|
|
9
|
+
if (folder.hasNonInheritedPermissions && folder.canManagePermissions) icon = /*#__PURE__*/ react.createElement(folder_shared_svg_ReactComponent, null);
|
|
10
|
+
return /*#__PURE__*/ react.createElement("div", {
|
|
11
|
+
className: "flex items-center gap-sm truncate cursor-pointer font-semibold hover:underline",
|
|
12
|
+
onClick: ()=>navigateToFolder(folder.id)
|
|
13
|
+
}, /*#__PURE__*/ react.createElement(Icon, {
|
|
14
|
+
size: "sm",
|
|
15
|
+
color: "neutral-strong",
|
|
16
|
+
icon: icon,
|
|
17
|
+
label: `Folder - ${folder.title}`
|
|
18
|
+
}), /*#__PURE__*/ react.createElement(Text, {
|
|
19
|
+
className: "truncate min-w-0 shrink"
|
|
20
|
+
}, folder.title));
|
|
27
21
|
};
|
|
22
|
+
export { FolderNameCell };
|
|
28
23
|
|
|
29
24
|
//# sourceMappingURL=FolderNameCell.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"admin/TenantEntryList/FolderNameCell.js","sources":["../../../src/admin/TenantEntryList/FolderNameCell.tsx"],"sourcesContent":["import React from \"react\";\nimport { type FolderTableRow, useNavigateFolder } from \"@webiny/app-aco\";\nimport { Icon, Text } from \"@webiny/admin-ui\";\nimport { ReactComponent as Folder } from \"@webiny/icons/folder.svg\";\nimport { ReactComponent as FolderShared } from \"@webiny/icons/folder_shared.svg\";\n\ninterface FolderNameCellProps {\n folder: FolderTableRow[\"data\"];\n}\n\nexport const FolderNameCell = ({ folder }: FolderNameCellProps) => {\n const { navigateToFolder } = useNavigateFolder();\n\n let icon = <Folder />;\n if (folder.hasNonInheritedPermissions && folder.canManagePermissions) {\n icon = <FolderShared />;\n }\n\n return (\n <div\n className={\n \"flex items-center gap-sm truncate cursor-pointer font-semibold hover:underline\"\n }\n onClick={() => navigateToFolder(folder.id)}\n >\n <Icon\n size={\"sm\"}\n color={\"neutral-strong\"}\n icon={icon}\n label={`Folder - ${folder.title}`}\n />\n <Text className={\"truncate min-w-0 shrink\"}>{folder.title}</Text>\n </div>\n );\n};\n"],"names":["FolderNameCell","folder","navigateToFolder","useNavigateFolder","icon","Folder","FolderShared","Icon","Text"],"mappings":";;;;;AAUO,MAAMA,iBAAiB,CAAC,EAAEC,MAAM,EAAuB;IAC1D,MAAM,EAAEC,gBAAgB,EAAE,GAAGC;IAE7B,IAAIC,OAAO,WAAPA,GAAO,oBAACC,gBAAMA;IAClB,IAAIJ,OAAO,0BAA0B,IAAIA,OAAO,oBAAoB,EAChEG,OAAO,WAAPA,GAAO,oBAACE,kCAAYA;IAGxB,OAAO,WAAP,GACI,oBAAC;QACG,WACI;QAEJ,SAAS,IAAMJ,iBAAiBD,OAAO,EAAE;qBAEzC,oBAACM,MAAIA;QACD,MAAM;QACN,OAAO;QACP,MAAMH;QACN,OAAO,CAAC,SAAS,EAAEH,OAAO,KAAK,EAAE;sBAErC,oBAACO,MAAIA;QAAC,WAAW;OAA4BP,OAAO,KAAK;AAGrE"}
|
|
@@ -1,19 +1,15 @@
|
|
|
1
|
-
import
|
|
1
|
+
import react from "react";
|
|
2
2
|
import { Button } from "@webiny/admin-ui";
|
|
3
3
|
import { useInstallTenant } from "./useInstallTenant.js";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
variant: "primary",
|
|
13
|
-
onClick: installTenant,
|
|
14
|
-
disabled: loading,
|
|
15
|
-
text: loading ? "Installing..." : "Install"
|
|
16
|
-
});
|
|
4
|
+
const InstallTenant = ({ tenant })=>{
|
|
5
|
+
const { installTenant, loading } = useInstallTenant(tenant);
|
|
6
|
+
return /*#__PURE__*/ react.createElement(Button, {
|
|
7
|
+
variant: "primary",
|
|
8
|
+
onClick: installTenant,
|
|
9
|
+
disabled: loading,
|
|
10
|
+
text: loading ? "Installing..." : "Install"
|
|
11
|
+
});
|
|
17
12
|
};
|
|
13
|
+
export { InstallTenant };
|
|
18
14
|
|
|
19
15
|
//# sourceMappingURL=InstallTenant.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"admin/TenantEntryList/InstallTenantButton/InstallTenant.js","sources":["../../../../src/admin/TenantEntryList/InstallTenantButton/InstallTenant.tsx"],"sourcesContent":["import React from \"react\";\nimport { Button } from \"@webiny/admin-ui\";\nimport { TenantEntry } from \"../../types.js\";\nimport { useInstallTenant } from \"./useInstallTenant.js\";\n\ninterface InstallTenantProps {\n tenant: TenantEntry;\n}\n\nexport const InstallTenant = ({ tenant }: InstallTenantProps) => {\n const { installTenant, loading } = useInstallTenant(tenant);\n\n return (\n <Button\n variant={\"primary\"}\n onClick={installTenant}\n disabled={loading}\n text={loading ? \"Installing...\" : \"Install\"}\n />\n );\n};\n"],"names":["InstallTenant","tenant","installTenant","loading","useInstallTenant","Button"],"mappings":";;;AASO,MAAMA,gBAAgB,CAAC,EAAEC,MAAM,EAAsB;IACxD,MAAM,EAAEC,aAAa,EAAEC,OAAO,EAAE,GAAGC,iBAAiBH;IAEpD,OAAO,WAAP,GACI,oBAACI,QAAMA;QACH,SAAS;QACT,SAASH;QACT,UAAUC;QACV,MAAMA,UAAU,kBAAkB;;AAG9C"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
1
|
+
import graphql_tag from "graphql-tag";
|
|
2
|
+
const INSTALL_TENANT = graphql_tag`
|
|
3
3
|
mutation InstallTenant($tenantId: ID!) {
|
|
4
4
|
tenantManager {
|
|
5
5
|
installTenant(tenantId: $tenantId) {
|
|
@@ -13,5 +13,6 @@ export const INSTALL_TENANT = gql`
|
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
15
|
`;
|
|
16
|
+
export { INSTALL_TENANT };
|
|
16
17
|
|
|
17
18
|
//# sourceMappingURL=installTenant.gql.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"admin/TenantEntryList/InstallTenantButton/installTenant.gql.js","sources":["../../../../src/admin/TenantEntryList/InstallTenantButton/installTenant.gql.ts"],"sourcesContent":["import gql from \"graphql-tag\";\n\nexport const INSTALL_TENANT = gql`\n mutation InstallTenant($tenantId: ID!) {\n tenantManager {\n installTenant(tenantId: $tenantId) {\n data\n error {\n code\n message\n data\n }\n }\n }\n }\n`;\n\nexport interface InstallTenantResponse {\n tenantManager: {\n installTenant:\n | {\n data: boolean;\n error?: null;\n }\n | {\n data: null;\n error: {\n code: string;\n message: string;\n data: Record<string, any>;\n };\n };\n };\n}\n"],"names":["INSTALL_TENANT","gql"],"mappings":";AAEO,MAAMA,iBAAiBC,WAAG,CAAC;;;;;;;;;;;;;AAalC,CAAC"}
|
|
@@ -3,44 +3,40 @@ import { useMutation } from "@apollo/react-hooks";
|
|
|
3
3
|
import { useToast } from "@webiny/admin-ui";
|
|
4
4
|
import { useRecords } from "@webiny/app-aco";
|
|
5
5
|
import { INSTALL_TENANT } from "./installTenant.gql.js";
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
}
|
|
39
|
-
}, [tenant]);
|
|
40
|
-
return {
|
|
41
|
-
installTenant,
|
|
42
|
-
loading: mutation.loading
|
|
43
|
-
};
|
|
6
|
+
const useInstallTenant = (tenant)=>{
|
|
7
|
+
const toast = useToast();
|
|
8
|
+
const { updateRecordInCache } = useRecords();
|
|
9
|
+
const [runMutation, mutation] = useMutation(INSTALL_TENANT);
|
|
10
|
+
const installTenant = useCallback(async ()=>{
|
|
11
|
+
const { data } = await runMutation({
|
|
12
|
+
variables: {
|
|
13
|
+
tenantId: tenant.entryId
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
if (data?.tenantManager.installTenant.error) return void toast.showWarningToast({
|
|
17
|
+
title: "Could not install tenant",
|
|
18
|
+
description: data?.tenantManager.installTenant.error.message,
|
|
19
|
+
duration: 1 / 0
|
|
20
|
+
});
|
|
21
|
+
toast.showSuccessToast({
|
|
22
|
+
title: "Tenant installed successfully!"
|
|
23
|
+
});
|
|
24
|
+
updateRecordInCache({
|
|
25
|
+
...tenant,
|
|
26
|
+
values: {
|
|
27
|
+
...tenant.values,
|
|
28
|
+
status: "enabled",
|
|
29
|
+
isInstalled: true
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
}, [
|
|
33
|
+
tenant
|
|
34
|
+
]);
|
|
35
|
+
return {
|
|
36
|
+
installTenant,
|
|
37
|
+
loading: mutation.loading
|
|
38
|
+
};
|
|
44
39
|
};
|
|
40
|
+
export { useInstallTenant };
|
|
45
41
|
|
|
46
42
|
//# sourceMappingURL=useInstallTenant.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"admin/TenantEntryList/InstallTenantButton/useInstallTenant.js","sources":["../../../../src/admin/TenantEntryList/InstallTenantButton/useInstallTenant.ts"],"sourcesContent":["import { useCallback } from \"react\";\nimport { useMutation } from \"@apollo/react-hooks\";\nimport { useToast } from \"@webiny/admin-ui\";\nimport { useRecords } from \"@webiny/app-aco\";\nimport { TenantEntry } from \"../../types.js\";\nimport { InstallTenantResponse, INSTALL_TENANT } from \"./installTenant.gql.js\";\n\nexport const useInstallTenant = (tenant: TenantEntry) => {\n const toast = useToast();\n const { updateRecordInCache } = useRecords();\n const [runMutation, mutation] = useMutation<InstallTenantResponse>(INSTALL_TENANT);\n\n const installTenant = useCallback(async () => {\n const { data } = await runMutation({ variables: { tenantId: tenant.entryId } });\n if (data?.tenantManager.installTenant.error) {\n toast.showWarningToast({\n title: \"Could not install tenant\",\n description: data?.tenantManager.installTenant.error.message,\n duration: Infinity\n });\n return;\n }\n\n toast.showSuccessToast({ title: \"Tenant installed successfully!\" });\n\n updateRecordInCache({\n ...tenant,\n values: {\n ...tenant.values,\n status: \"enabled\",\n isInstalled: true\n }\n });\n }, [tenant]);\n\n return { installTenant, loading: mutation.loading };\n};\n"],"names":["useInstallTenant","tenant","toast","useToast","updateRecordInCache","useRecords","runMutation","mutation","useMutation","INSTALL_TENANT","installTenant","useCallback","data","Infinity"],"mappings":";;;;;AAOO,MAAMA,mBAAmB,CAACC;IAC7B,MAAMC,QAAQC;IACd,MAAM,EAAEC,mBAAmB,EAAE,GAAGC;IAChC,MAAM,CAACC,aAAaC,SAAS,GAAGC,YAAmCC;IAEnE,MAAMC,gBAAgBC,YAAY;QAC9B,MAAM,EAAEC,IAAI,EAAE,GAAG,MAAMN,YAAY;YAAE,WAAW;gBAAE,UAAUL,OAAO,OAAO;YAAC;QAAE;QAC7E,IAAIW,MAAM,cAAc,cAAc,OAAO,YACzCV,MAAM,gBAAgB,CAAC;YACnB,OAAO;YACP,aAAaU,MAAM,cAAc,cAAc,MAAM;YACrD,UAAUC;QACd;QAIJX,MAAM,gBAAgB,CAAC;YAAE,OAAO;QAAiC;QAEjEE,oBAAoB;YAChB,GAAGH,MAAM;YACT,QAAQ;gBACJ,GAAGA,OAAO,MAAM;gBAChB,QAAQ;gBACR,aAAa;YACjB;QACJ;IACJ,GAAG;QAACA;KAAO;IAEX,OAAO;QAAES;QAAe,SAASH,SAAS,OAAO;IAAC;AACtD"}
|