/*const rights2 = ref({ projects: { label: "Projekte", children: { viewOwnProjects: {label: "Eigene Projekte sehen"}, viewAllProjects: {label: "Alle Projekte sehen"}, } }, createUser: {label: "Benutzer erstellen"}, modifyUser: {label: "Benutzer bearbeiten"}, deactivateUser: {label: "Benutzer sperren"}, createProject: {label: "Projekt erstellen"}, createTask: {label: "Aufgabe erstellen"}, viewOwnTasks: {label:"Eigene Aufgaben sehen"}, viewAllTasks: {label: "Alle Aufgaben sehen"}, trackOwnTime: {label:"Eigene Zeite erfassen"}, createOwnTime: {label:"Eigene Zeiten erstellen"}, createTime: {label:"Zeiten erstellen"}, viewOwnTimes: {label:"Eigene Zeiten anzeigen"}, viewTimes: {label:"Zeiten anzeigen"}, })*/ export const useRole = () => { const supabase = useSupabaseClient() const dataStore = useDataStore() const rights = ref({ projects: { label: "Projekte" }, "projects-viewAll": { label: "Alle Projekte einsehen", parent: "projects" }, "projects-viewOwn": { label: "Eigene Projekte einsehen", parent: "projects" }, "projects-create": { label: "Projekte erstellen", parent: "projects" }, contracts: { label: "Verträge" }, objects: { label: "Objekte" }, checks: { label: "Überprüfungen" }, }) let role = dataStore.activeProfile.role /*const checkRight = (right) => { let rightsToCheck = [right] if(rights.value[right].parent) { rightsToCheck.push(rights.value[right].parent) } let hasAllNeccessaryRights = false rightsToCheck.forEach(i => { if(role.rights.includes(i)){ hasAllNeccessaryRights = true } else { hasAllNeccessaryRights = false } }) return hasAllNeccessaryRights }*/ const checkRight = (right) => { let rightsToCheck = [right] //console.log(right.split("-")) if(right.split("-").length > 1) { rightsToCheck.push(right.split("-")[0]) } //console.log(rightsToCheck) let hasAllNeccessaryRights = true //console.log(role.rights) rightsToCheck.forEach(i => { if(!role.rights.includes(i)){ hasAllNeccessaryRights = false } }) //console.log(hasAllNeccessaryRights) return hasAllNeccessaryRights } return { role, checkRight } }