Skip to content

Commit ddc86ba

Browse files
committed
chore: cleanup
1 parent 0d56fc5 commit ddc86ba

File tree

4 files changed

+45
-12
lines changed

4 files changed

+45
-12
lines changed

site/src/api/queries/organizations.ts

+7
Original file line numberDiff line numberDiff line change
@@ -269,6 +269,13 @@ export const organizationsPermissions = (
269269
},
270270
action: "read",
271271
},
272+
viewIdpSyncSettings: {
273+
object: {
274+
resource_type: "idpsync_settings",
275+
organization_id: organizationId,
276+
},
277+
action: "read",
278+
},
272279
});
273280

274281
// The endpoint takes a flat array, so to avoid collisions prepend each

site/src/pages/ManagementSettingsPage/IdpSyncPage/IdpSyncPage.tsx

+14-8
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import {
77
organizationsPermissions,
88
roleIdpSyncSettings,
99
} from "api/queries/organizations";
10+
import { ErrorAlert } from "components/Alert/ErrorAlert";
1011
import { EmptyState } from "components/EmptyState/EmptyState";
1112
import { Loader } from "components/Loader/Loader";
1213
import { SettingsHeader } from "components/SettingsHeader/SettingsHeader";
@@ -26,12 +27,6 @@ export const IdpSyncPage: FC = () => {
2627
const { organization: organizationName } = useParams() as {
2728
organization: string;
2829
};
29-
30-
// feature visibility and permissions to be implemented when integrating with backend
31-
// const feats = useFeatureVisibility();
32-
// const { organization: organizationName } = useParams() as {
33-
// organization: string;
34-
// };
3530
const { organizations } = useOrganizationSettings();
3631

3732
const organization = organizations?.find((o) => o.name === organizationName);
@@ -47,8 +42,6 @@ export const IdpSyncPage: FC = () => {
4742
roleIdpSyncSettings(organizationName),
4843
);
4944

50-
// const permissions = permissionsQuery.data;
51-
5245
if (!organization) {
5346
return <EmptyState message="Organization not found" />;
5447
}
@@ -61,6 +54,19 @@ export const IdpSyncPage: FC = () => {
6154
return <Loader />;
6255
}
6356

57+
const error =
58+
groupIdpSyncSettingsQuery.error ||
59+
roleIdpSyncSettingsQuery.error ||
60+
groupsQuery.error;
61+
if (
62+
error ||
63+
!groupIdpSyncSettingsQuery.data ||
64+
!roleIdpSyncSettingsQuery.data ||
65+
!groupsQuery.data
66+
) {
67+
return <ErrorAlert error={error} />;
68+
}
69+
6470
return (
6571
<>
6672
<Helmet>

site/src/pages/ManagementSettingsPage/IdpSyncPage/IdpSyncPageView.tsx

+23-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import type { Interpolation, Theme } from "@emotion/react";
2-
import { useTheme } from "@emotion/react";
32
import LaunchOutlined from "@mui/icons-material/LaunchOutlined";
43
import Button from "@mui/material/Button";
54
import Skeleton from "@mui/material/Skeleton";
@@ -39,8 +38,6 @@ export const IdpSyncPageView: FC<IdpSyncPageViewProps> = ({
3938
roleSyncSettings,
4039
groups,
4140
}) => {
42-
// const theme = useTheme();
43-
4441
const groupsMap = new Map<string, string>();
4542
if (groups) {
4643
for (const group of groups) {
@@ -101,6 +98,29 @@ export const IdpSyncPageView: FC<IdpSyncPageViewProps> = ({
10198
</Stack>
10299
</fieldset>
103100
</Stack>
101+
{groupSyncSettings?.mapping && roleSyncSettings?.mapping && (
102+
<div
103+
css={(theme) => ({
104+
margin: 0,
105+
fontSize: 13,
106+
paddingBottom: 14,
107+
color: theme.palette.text.secondary,
108+
"& strong": {
109+
color: theme.palette.text.primary,
110+
},
111+
})}
112+
>
113+
Showing{" "}
114+
<strong>
115+
{Object.entries(groupSyncSettings?.mapping).length}
116+
</strong>{" "}
117+
groups and{" "}
118+
<strong>
119+
{Object.entries(roleSyncSettings?.mapping).length}
120+
</strong>{" "}
121+
provisioners
122+
</div>
123+
)}
104124
<Stack spacing={6}>
105125
<IdpMappingTable
106126
type="Group"

site/src/pages/ManagementSettingsPage/SidebarView.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -282,7 +282,7 @@ const OrganizationSettingsNavigation: FC<
282282
Provisioners
283283
</SidebarNavSubItem>
284284
)}
285-
{organization.permissions.editMembers && (
285+
{organization.permissions.viewIdpSyncSettings && (
286286
<SidebarNavSubItem
287287
href={urlForSubpage(organization.name, "idp-sync")}
288288
>

0 commit comments

Comments
 (0)