Skip to content

Commit cc2774a

Browse files
authored
fix: moved user permission constants (#6516)
1 parent 79865b8 commit cc2774a

File tree

132 files changed

+216
-246
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

132 files changed

+216
-246
lines changed

packages/constants/src/user.ts

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,3 +36,40 @@ export enum EUserProjectRoles {
3636
MEMBER = 15,
3737
GUEST = 5,
3838
}
39+
40+
export type TUserPermissionsLevel = EUserPermissionsLevel;
41+
42+
export enum EUserPermissions {
43+
ADMIN = 20,
44+
MEMBER = 15,
45+
GUEST = 5,
46+
}
47+
export type TUserPermissions = EUserPermissions;
48+
49+
export type TUserAllowedPermissionsObject = {
50+
create: TUserPermissions[];
51+
update: TUserPermissions[];
52+
delete: TUserPermissions[];
53+
read: TUserPermissions[];
54+
};
55+
export type TUserAllowedPermissions = {
56+
workspace: {
57+
[key: string]: Partial<TUserAllowedPermissionsObject>;
58+
};
59+
project: {
60+
[key: string]: Partial<TUserAllowedPermissionsObject>;
61+
};
62+
};
63+
64+
export const USER_ALLOWED_PERMISSIONS: TUserAllowedPermissions = {
65+
workspace: {
66+
dashboard: {
67+
read: [
68+
EUserPermissions.ADMIN,
69+
EUserPermissions.MEMBER,
70+
EUserPermissions.GUEST,
71+
],
72+
},
73+
},
74+
project: {},
75+
};

web/app/[workspaceSlug]/(projects)/analytics/page.tsx

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { observer } from "mobx-react";
55
import { useSearchParams } from "next/navigation";
66
import { Tab } from "@headlessui/react";
77
// plane package imports
8-
import { ANALYTICS_TABS, EUserPermissionsLevel } from "@plane/constants";
8+
import { ANALYTICS_TABS, EUserPermissionsLevel, EUserPermissions } from "@plane/constants";
99
import { useTranslation } from "@plane/i18n";
1010
import { Header, EHeaderVariant } from "@plane/ui";
1111
// components
@@ -15,8 +15,6 @@ import { ComicBoxButton, DetailedEmptyState } from "@/components/empty-state";
1515
// hooks
1616
import { useCommandPalette, useEventTracker, useProject, useUserPermissions, useWorkspace } from "@/hooks/store";
1717
import { useResolvedAssetPath } from "@/hooks/use-resolved-asset-path";
18-
// plane web
19-
import { EUserPermissions } from "@/plane-web/constants";
2018

2119
const AnalyticsPage = observer(() => {
2220
const searchParams = useSearchParams();

web/app/[workspaceSlug]/(projects)/drafts/header.tsx

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import { useState } from "react";
44
import { observer } from "mobx-react";
55
import { PenSquare } from "lucide-react";
6-
import { EIssuesStoreType } from "@plane/constants";
6+
import { EIssuesStoreType, EUserPermissions, EUserPermissionsLevel } from "@plane/constants";
77
import { useTranslation } from "@plane/i18n";
88
// ui
99
import { Breadcrumbs, Button, Header } from "@plane/ui";
@@ -13,8 +13,6 @@ import { CreateUpdateIssueModal } from "@/components/issues";
1313

1414
// hooks
1515
import { useProject, useUserPermissions, useWorkspaceDraftIssues } from "@/hooks/store";
16-
// plane-web
17-
import { EUserPermissions, EUserPermissionsLevel } from "@/plane-web/constants/user-permissions";
1816

1917
export const WorkspaceDraftHeader = observer(() => {
2018
// state

web/app/[workspaceSlug]/(projects)/profile/[userId]/activity/page.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,14 @@
33
import { useState } from "react";
44
import { observer } from "mobx-react";
55
// ui
6+
import { EUserPermissions, EUserPermissionsLevel } from "@plane/constants";
67
import { Button } from "@plane/ui";
78
// components
89
import { PageHead } from "@/components/core";
910
import { DownloadActivityButton, WorkspaceActivityListPage } from "@/components/profile";
1011
// hooks
1112
import { useUserPermissions } from "@/hooks/store";
1213
// plane-web constants
13-
import { EUserPermissions, EUserPermissionsLevel } from "@/plane-web/constants/user-permissions";
1414

1515
const PER_PAGE = 100;
1616

web/app/[workspaceSlug]/(projects)/profile/[userId]/header.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { observer } from "mobx-react";
66
import Link from "next/link";
77
import { useParams } from "next/navigation";
88
import { ChevronDown, PanelRight } from "lucide-react";
9-
import { PROFILE_VIEWER_TAB, PROFILE_ADMINS_TAB } from "@plane/constants";
9+
import { PROFILE_VIEWER_TAB, PROFILE_ADMINS_TAB, EUserPermissions, EUserPermissionsLevel } from "@plane/constants";
1010
import { useTranslation } from "@plane/i18n";
1111
import { IUserProfileProjectSegregation } from "@plane/types";
1212
import { Breadcrumbs, Header, CustomMenu, UserActivityIcon } from "@plane/ui";
@@ -15,7 +15,6 @@ import { BreadcrumbLink } from "@/components/common";
1515
import { ProfileIssuesFilter } from "@/components/profile";
1616
import { cn } from "@/helpers/common.helper";
1717
import { useAppTheme, useUser, useUserPermissions } from "@/hooks/store";
18-
import { EUserPermissions, EUserPermissionsLevel } from "@/plane-web/constants/user-permissions";
1918

2019
type TUserProfileHeader = {
2120
userProjectsData: IUserProfileProjectSegregation | undefined;

web/app/[workspaceSlug]/(projects)/profile/[userId]/layout.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { observer } from "mobx-react";
44
import { useParams, usePathname } from "next/navigation";
55
import useSWR from "swr";
66
// components
7-
import { PROFILE_VIEWER_TAB, PROFILE_ADMINS_TAB } from "@plane/constants";
7+
import { PROFILE_VIEWER_TAB, PROFILE_ADMINS_TAB, EUserPermissions, EUserPermissionsLevel } from "@plane/constants";
88
import { useTranslation } from "@plane/i18n";
99
import { AppHeader, ContentWrapper } from "@/components/core";
1010
import { ProfileSidebar } from "@/components/profile";
@@ -13,7 +13,6 @@ import { USER_PROFILE_PROJECT_SEGREGATION } from "@/constants/fetch-keys";
1313
// hooks
1414
import { useUserPermissions } from "@/hooks/store";
1515
import useSize from "@/hooks/use-window-size";
16-
import { EUserPermissions, EUserPermissionsLevel } from "@/plane-web/constants/user-permissions";
1716
// local components
1817
import { UserService } from "@/services/user.service";
1918
import { UserProfileHeader } from "./header";

web/app/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/cycles/(detail)/header.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import { useParams } from "next/navigation";
77
// icons
88
import { ArrowRight, PanelRight } from "lucide-react";
99
// plane constants
10-
import { EIssueLayoutTypes, EIssueFilterType, EIssuesStoreType, ISSUE_DISPLAY_FILTERS_BY_PAGE } from "@plane/constants";
10+
import { EIssueLayoutTypes, EIssueFilterType, EIssuesStoreType, ISSUE_DISPLAY_FILTERS_BY_PAGE , EUserPermissions, EUserPermissionsLevel} from "@plane/constants";
1111
// i18n
1212
import { useTranslation } from "@plane/i18n";
1313
// types
@@ -39,7 +39,6 @@ import useLocalStorage from "@/hooks/use-local-storage";
3939
import { usePlatformOS } from "@/hooks/use-platform-os";
4040
// plane web
4141
import { ProjectBreadcrumb } from "@/plane-web/components/breadcrumbs";
42-
import { EUserPermissions, EUserPermissionsLevel } from "@/plane-web/constants/user-permissions";
4342

4443
const CycleDropdownOption: React.FC<{ cycleId: string }> = ({ cycleId }) => {
4544
// router

web/app/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/cycles/(list)/header.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import { FC } from "react";
44
import { observer } from "mobx-react";
55
// ui
6+
import { EUserPermissions, EUserPermissionsLevel } from "@plane/constants";
67
import { Breadcrumbs, Button, ContrastIcon, Header } from "@plane/ui";
78
// components
89
import { BreadcrumbLink } from "@/components/common";
@@ -13,7 +14,6 @@ import { useAppRouter } from "@/hooks/use-app-router";
1314
// plane web
1415
import { ProjectBreadcrumb } from "@/plane-web/components/breadcrumbs";
1516
// constants
16-
import { EUserPermissions, EUserPermissionsLevel } from "@/plane-web/constants/user-permissions";
1717

1818
export const CyclesListHeader: FC = observer(() => {
1919
// router

web/app/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/inbox/page.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
import { observer } from "mobx-react";
33
// components
44
import { useParams, useSearchParams } from "next/navigation";
5+
import { EUserPermissionsLevel } from "@plane/constants";
56
import { EUserProjectRoles } from "@plane/constants/src/user";
67
import { useTranslation } from "@plane/i18n";
78
import { PageHead } from "@/components/core";
@@ -13,7 +14,6 @@ import { EInboxIssueCurrentTab } from "@/helpers/inbox.helper";
1314
import { useProject, useUserPermissions } from "@/hooks/store";
1415
import { useAppRouter } from "@/hooks/use-app-router";
1516
import { useResolvedAssetPath } from "@/hooks/use-resolved-asset-path";
16-
import { EUserPermissionsLevel } from "@/plane-web/constants/user-permissions";
1717

1818
const ProjectInboxPage = observer(() => {
1919
/// router

web/app/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/modules/(detail)/header.tsx

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,14 @@ import { useParams } from "next/navigation";
77
// icons
88
import { ArrowRight, PanelRight } from "lucide-react";
99
// plane constants
10-
import { EIssueLayoutTypes, EIssuesStoreType, EIssueFilterType, ISSUE_DISPLAY_FILTERS_BY_PAGE } from "@plane/constants";
10+
import {
11+
EIssueLayoutTypes,
12+
EIssuesStoreType,
13+
EIssueFilterType,
14+
ISSUE_DISPLAY_FILTERS_BY_PAGE,
15+
EUserPermissions,
16+
EUserPermissionsLevel,
17+
} from "@plane/constants";
1118
// types
1219
import { IIssueDisplayFilterOptions, IIssueDisplayProperties, IIssueFilterOptions } from "@plane/types";
1320
// ui
@@ -38,7 +45,6 @@ import useLocalStorage from "@/hooks/use-local-storage";
3845
import { usePlatformOS } from "@/hooks/use-platform-os";
3946
// plane web
4047
import { ProjectBreadcrumb } from "@/plane-web/components/breadcrumbs";
41-
import { EUserPermissions, EUserPermissionsLevel } from "@/plane-web/constants/user-permissions";
4248

4349
const ModuleDropdownOption: React.FC<{ moduleId: string }> = ({ moduleId }) => {
4450
// router

0 commit comments

Comments
 (0)