Files
warren/frontend/utils/warrens.ts
2025-08-29 15:32:23 +02:00

45 lines
1.3 KiB
TypeScript

import type { UserWarren } from '~/shared/types/warrens';
export type UserWarrenPermissionKey =
| 'canListFiles'
| 'canReadFiles'
| 'canModifyFiles'
| 'canDeleteFiles'
| 'canListShares'
| 'canListShares'
| 'canCreateShares'
| 'canModifyShares'
| 'canDeleteShares';
export function getUserWarrenPermissions(
userWarren: UserWarren
): [UserWarrenPermissionKey, boolean][] {
return [
['canListFiles', userWarren.canListFiles],
['canReadFiles', userWarren.canReadFiles],
['canModifyFiles', userWarren.canModifyFiles],
['canDeleteFiles', userWarren.canDeleteFiles],
['canListShares', userWarren.canListShares],
['canCreateShares', userWarren.canCreateShares],
['canModifyShares', userWarren.canModifyShares],
['canDeleteShares', userWarren.canDeleteShares],
];
}
const PERMISSION_NAMES: Record<UserWarrenPermissionKey, string> = {
canListFiles: 'List files',
canReadFiles: 'Read files',
canModifyFiles: 'Modify files',
canDeleteFiles: 'Delete files',
canListShares: 'List shares',
canCreateShares: 'Create shares',
canModifyShares: 'Modify shares',
canDeleteShares: 'Delete shares',
};
export function getUserWarrenPermissionName(
permission: UserWarrenPermissionKey
): string {
return PERMISSION_NAMES[permission];
}