browsertrix/frontend/src/utils/orgs.ts
sua yoo 2c89edcc36
feat: Disable archiving for read-only orgs (#1965)
Resolves https://github.com/webrecorder/browsertrix/issues/1915

### Changes

- Disables buttons to create resources, duplicate resources, run crawls,
and configure browser profiles.
- Updates copy from "read-only" -> "disable archiving"
2024-07-25 12:42:04 -07:00

34 lines
846 B
TypeScript

import { AccessCode, type OrgData, type UserRole } from "@/types/org";
export * from "@/types/org";
export function isOwner(accessCode?: (typeof AccessCode)[UserRole]): boolean {
if (!accessCode) return false;
return accessCode === AccessCode.owner;
}
export function isAdmin(accessCode?: (typeof AccessCode)[UserRole]): boolean {
if (!accessCode) return false;
return accessCode >= AccessCode.owner;
}
export function isCrawler(accessCode?: (typeof AccessCode)[UserRole]): boolean {
if (!accessCode) return false;
return accessCode >= AccessCode.crawler;
}
export function isArchivingDisabled(
org?: OrgData | null,
checkExecMinutesQuota = false,
): boolean {
return Boolean(
!org ||
org.readOnly ||
org.storageQuotaReached ||
(checkExecMinutesQuota ? org.execMinutesQuotaReached : false),
);
}