Start for Dev Branch
This commit is contained in:
114
composables/useRole.js
Normal file
114
composables/useRole.js
Normal file
@@ -0,0 +1,114 @@
|
||||
|
||||
|
||||
/*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
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user