Skip to content

Commit 858d525

Browse files
sean-brydonhbjORbj
andauthored
feat: pbac - org pages check update permissions (calcom#24164)
* pbac - org pages check update permissions * restore permision service * fix type check * more type fixes --------- Co-authored-by: Benny Joo <sldisek783@gmail.com>
1 parent 7505b3b commit 858d525

7 files changed

Lines changed: 26 additions & 14 deletions

File tree

apps/web/app/(use-page-wrapper)/settings/(settings-layout)/organizations/(org-admin-only)/attributes/[id]/edit/page.tsx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
import { _generateMetadata } from "app/_utils";
22

33
import OrgAttributesEditPage from "@calcom/ee/organizations/pages/settings/attributes/attributes-edit-view";
4+
import { MembershipRole } from "@calcom/prisma/enums";
45

5-
import { validateUserHasOrgAdmin } from "../../../../actions/validateUserHasOrgAdmin";
6+
import { validateUserHasOrgPerms } from "../../../../actions/validateUserHasOrgPerms";
67

78
export const generateMetadata = async ({ params }: { params: Promise<{ id: string }> }) =>
89
await _generateMetadata(
@@ -14,7 +15,10 @@ export const generateMetadata = async ({ params }: { params: Promise<{ id: strin
1415
);
1516

1617
const OrgAttributesEditPageWrapper = async () => {
17-
await validateUserHasOrgAdmin();
18+
await validateUserHasOrgPerms({
19+
permission: "organization.attributes.update",
20+
fallbackRoles: [MembershipRole.OWNER, MembershipRole.ADMIN],
21+
});
1822

1923
return <OrgAttributesEditPage />;
2024
};

apps/web/app/(use-page-wrapper)/settings/(settings-layout)/organizations/(org-admin-only)/attributes/create/page.tsx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
import { _generateMetadata } from "app/_utils";
22

33
import OrgAttributesCreatePage from "@calcom/ee/organizations/pages/settings/attributes/attributes-create-view";
4+
import { MembershipRole } from "@calcom/prisma/enums";
45

5-
import { validateUserHasOrgAdmin } from "../../../actions/validateUserHasOrgAdmin";
6+
import { validateUserHasOrgPerms } from "../../../actions/validateUserHasOrgPerms";
67

78
export const generateMetadata = async () =>
89
await _generateMetadata(
@@ -14,7 +15,10 @@ export const generateMetadata = async () =>
1415
);
1516

1617
const OrgAttributesCreatePageWrapper = async () => {
17-
await validateUserHasOrgAdmin();
18+
await validateUserHasOrgPerms({
19+
permission: "organization.attributes.create",
20+
fallbackRoles: [MembershipRole.OWNER, MembershipRole.ADMIN],
21+
});
1822

1923
return <OrgAttributesCreatePage />;
2024
};

apps/web/app/(use-page-wrapper)/settings/(settings-layout)/organizations/(org-admin-only)/attributes/page.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import { getResourcePermissions } from "@calcom/features/pbac/lib/resource-permi
77
import SettingsHeader from "@calcom/features/settings/appDir/SettingsHeader";
88
import { MembershipRole } from "@calcom/prisma/enums";
99

10-
import { validateUserHasOrgAdmin } from "../../actions/validateUserHasOrgAdmin";
10+
import { validateUserHasOrg } from "../../actions/validateUserHasOrg";
1111

1212
export const generateMetadata = async () =>
1313
await _generateMetadata(
@@ -20,7 +20,7 @@ export const generateMetadata = async () =>
2020

2121
const Page = async () => {
2222
const t = await getTranslate();
23-
const session = await validateUserHasOrgAdmin();
23+
const session = await validateUserHasOrg();
2424

2525
const { canRead, canEdit, canDelete, canCreate } = await getResourcePermissions({
2626
userId: session.user.id,

apps/web/app/(use-page-wrapper)/settings/(settings-layout)/organizations/(org-admin-only)/delegation-credential/page.tsx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,9 @@ import { _generateMetadata, getTranslate } from "app/_utils";
22

33
import DelegationCredentialList from "@calcom/features/ee/organizations/pages/settings/delegationCredential";
44
import SettingsHeader from "@calcom/features/settings/appDir/SettingsHeader";
5+
import { MembershipRole } from "@calcom/prisma/enums";
56

6-
import { validateUserHasOrgAdmin } from "../../actions/validateUserHasOrgAdmin";
7+
import { validateUserHasOrgPerms } from "../../actions/validateUserHasOrgPerms";
78

89
export const generateMetadata = async () =>
910
await _generateMetadata(
@@ -17,7 +18,10 @@ export const generateMetadata = async () =>
1718
const Page = async () => {
1819
const t = await getTranslate();
1920

20-
await validateUserHasOrgAdmin();
21+
await validateUserHasOrgPerms({
22+
permission: "organization.update",
23+
fallbackRoles: [MembershipRole.OWNER, MembershipRole.ADMIN],
24+
});
2125

2226
return (
2327
<SettingsHeader

apps/web/app/(use-page-wrapper)/settings/(settings-layout)/organizations/(org-admin-only)/dsync/page.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { getResourcePermissions } from "@calcom/features/pbac/lib/resource-permi
66
import SettingsHeader from "@calcom/features/settings/appDir/SettingsHeader";
77
import { MembershipRole } from "@calcom/prisma/enums";
88

9-
import { validateUserHasOrgAdmin } from "../../actions/validateUserHasOrgAdmin";
9+
import { validateUserHasOrg } from "../../actions/validateUserHasOrg";
1010

1111
export const generateMetadata = async () =>
1212
await _generateMetadata(
@@ -19,7 +19,7 @@ export const generateMetadata = async () =>
1919

2020
const Page = async () => {
2121
const t = await getTranslate();
22-
const session = await validateUserHasOrgAdmin();
22+
const session = await validateUserHasOrg();
2323

2424
const { canEdit } = await getResourcePermissions({
2525
userId: session.user.id,

apps/web/app/(use-page-wrapper)/settings/(settings-layout)/organizations/(org-admin-only)/privacy/page.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import { getResourcePermissions } from "@calcom/features/pbac/lib/resource-permi
77
import SettingsHeader from "@calcom/features/settings/appDir/SettingsHeader";
88
import { MembershipRole } from "@calcom/prisma/enums";
99

10-
import { validateUserHasOrgAdmin } from "../../actions/validateUserHasOrgAdmin";
10+
import { validateUserHasOrg } from "../../actions/validateUserHasOrg";
1111

1212
export const generateMetadata = async () =>
1313
await _generateMetadata(
@@ -21,7 +21,7 @@ export const generateMetadata = async () =>
2121
const Page = async () => {
2222
const t = await getTranslate();
2323

24-
const session = await validateUserHasOrgAdmin();
24+
const session = await validateUserHasOrg();
2525

2626
if (!session?.user.id || !session?.user.profile?.organizationId || !session?.user.org) {
2727
return redirect("/settings/profile");

apps/web/app/(use-page-wrapper)/settings/(settings-layout)/organizations/(org-admin-only)/sso/page.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import { getResourcePermissions } from "@calcom/features/pbac/lib/resource-permi
77
import SettingsHeader from "@calcom/features/settings/appDir/SettingsHeader";
88
import { MembershipRole } from "@calcom/prisma/enums";
99

10-
import { validateUserHasOrgAdmin } from "../../actions/validateUserHasOrgAdmin";
10+
import { validateUserHasOrg } from "../../actions/validateUserHasOrg";
1111

1212
export const generateMetadata = async () =>
1313
await _generateMetadata(
@@ -20,7 +20,7 @@ export const generateMetadata = async () =>
2020

2121
const Page = async () => {
2222
const t = await getTranslate();
23-
const session = await validateUserHasOrgAdmin();
23+
const session = await validateUserHasOrg();
2424

2525
if (!session?.user.id || !session?.user.profile?.organizationId || !session?.user.org) {
2626
return redirect("/settings/organizations/general");

0 commit comments

Comments
 (0)