mirror of
https://github.com/solidtime-io/solidtime.git
synced 2026-05-07 20:32:26 +00:00
125 lines
2.9 KiB
TypeScript
125 lines
2.9 KiB
TypeScript
import { usePage } from '@inertiajs/vue3';
|
|
|
|
const page = usePage<{
|
|
auth: {
|
|
permissions: string[];
|
|
};
|
|
}>();
|
|
|
|
function currentUserHasPermission(permission: string) {
|
|
if (Array.isArray(page.props.auth.permissions)) {
|
|
return page.props.auth.permissions.includes(permission);
|
|
}
|
|
return false;
|
|
}
|
|
|
|
export function canUpdateOrganization() {
|
|
return currentUserHasPermission('organizations:update');
|
|
}
|
|
|
|
export function canViewProjects() {
|
|
return currentUserHasPermission('projects:view');
|
|
}
|
|
|
|
export function canCreateProjects() {
|
|
return currentUserHasPermission('projects:create');
|
|
}
|
|
|
|
export function canUpdateProjects() {
|
|
return currentUserHasPermission('projects:update');
|
|
}
|
|
|
|
export function canDeleteProjects() {
|
|
return currentUserHasPermission('projects:delete');
|
|
}
|
|
|
|
export function canViewProjectMembers() {
|
|
return currentUserHasPermission('project-members:view');
|
|
}
|
|
|
|
export function canCreateTasks() {
|
|
return currentUserHasPermission('tasks:create');
|
|
}
|
|
|
|
export function canUpdateTasks() {
|
|
return currentUserHasPermission('tasks:update');
|
|
}
|
|
|
|
export function canDeleteTasks() {
|
|
return currentUserHasPermission('tasks:delete');
|
|
}
|
|
|
|
export function canCreateClients() {
|
|
return currentUserHasPermission('clients:create');
|
|
}
|
|
|
|
export function canUpdateClients() {
|
|
return currentUserHasPermission('clients:update');
|
|
}
|
|
|
|
export function canDeleteClients() {
|
|
return currentUserHasPermission('clients:delete');
|
|
}
|
|
|
|
export function canViewClients() {
|
|
return currentUserHasPermission('clients:view');
|
|
}
|
|
|
|
export function canViewMembers() {
|
|
return currentUserHasPermission('members:view');
|
|
}
|
|
|
|
export function canUpdateMembers() {
|
|
return currentUserHasPermission('members:update');
|
|
}
|
|
|
|
export function canDeleteMembers() {
|
|
return currentUserHasPermission('members:delete');
|
|
}
|
|
|
|
export function canMergeMembers() {
|
|
return currentUserHasPermission('members:merge-into');
|
|
}
|
|
|
|
export function canMakeMembersPlaceholders() {
|
|
return currentUserHasPermission('members:make-placeholder');
|
|
}
|
|
|
|
export function canInvitePlaceholderMembers() {
|
|
return currentUserHasPermission('members:invite-placeholder');
|
|
}
|
|
|
|
export function canCreateInvitations() {
|
|
return currentUserHasPermission('invitations:create');
|
|
}
|
|
|
|
export function canViewTags() {
|
|
return currentUserHasPermission('tags:view');
|
|
}
|
|
|
|
export function canCreateTags() {
|
|
return currentUserHasPermission('tags:create');
|
|
}
|
|
|
|
export function canDeleteTags() {
|
|
return currentUserHasPermission('tags:delete');
|
|
}
|
|
|
|
export function canManageBilling() {
|
|
return currentUserHasPermission('billing');
|
|
}
|
|
|
|
export function canViewReport() {
|
|
return currentUserHasPermission('reports:view');
|
|
}
|
|
export function canUpdateReport() {
|
|
return currentUserHasPermission('reports:update');
|
|
}
|
|
export function canDeleteReport() {
|
|
return currentUserHasPermission('reports:delete');
|
|
}
|
|
|
|
export function canViewAllTimeEntries() {
|
|
return currentUserHasPermission('time-entries:view:all');
|
|
}
|