bb-plane-fork/apps/web/ce/store/user/permission.store.ts
sriram veeraghanta 02d0ee3e0f
chore: add copyright (#8584)
* feat: adding new copyright info on all files

* chore: adding CI
2026-01-27 13:54:22 +05:30

34 lines
1.2 KiB
TypeScript

/**
* Copyright (c) 2023-present Plane Software, Inc. and contributors
* SPDX-License-Identifier: AGPL-3.0-only
* See the LICENSE file for details.
*/
import { computedFn } from "mobx-utils";
import type { EUserPermissions } from "@plane/constants";
import type { RootStore } from "@/plane-web/store/root.store";
import { BaseUserPermissionStore } from "@/store/user/base-permissions.store";
import type { 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)
);
fetchWorkspaceLevelProjectEntities = (workspaceSlug: string, projectId: string): void => {
void this.store.projectRoot.project.fetchProjectDetails(workspaceSlug, projectId);
};
}