bb-plane-fork/web/ce/store/user/permission.store.ts
Prateek Shourya 67cbe94d4a
[WEB-3964] refactor: permission layer (#7094)
* refactor: permission layer

* refactor: add original_role to project member serializer

* chore: minor fixes related to permission layer

* fix: strict type checking while checking user permissions
2025-05-30 19:57:07 +05:30

23 lines
864 B
TypeScript

import { computedFn } from "mobx-utils";
import { EUserPermissions } from "@plane/constants";
import { RootStore } from "@/plane-web/store/root.store";
import { BaseUserPermissionStore, IBaseUserPermissionStore } from "@/store/user/base-permissions.store";
export type IUserPermissionStore = IBaseUserPermissionStore;
export class UserPermissionStore extends BaseUserPermissionStore implements IUserPermissionStore {
constructor(store: RootStore) {
super(store);
}
/**
* @description Returns the project role from the workspace
* @param { string } workspaceSlug
* @param { string } projectId
* @returns { EUserPermissions | undefined }
*/
getProjectRoleByWorkspaceSlugAndProjectId = computedFn(
(workspaceSlug: string, projectId: string): EUserPermissions | undefined =>
this.getProjectRole(workspaceSlug, projectId)
);
}