Files
FEDEO/composables/useRole.js
2024-12-20 18:46:52 +01:00

114 lines
2.7 KiB
JavaScript

/*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
}
}