export const useRole = () => { const profileStore = useProfileStore() console.log(profileStore.currentTenant) const generalAvailableRights = ref({ projects: { label: "Projekte", showToAllUsers: false }, "projects-viewAll": { label: "Alle Projekte einsehen", parent: "projects" }, "projects-create": { label: "Projekte erstellen", parent: "projects" }, contracts: { label: "Verträge", showToAllUsers: false }, "contracts-viewAll": { label: "Alle Verträge einsehen", parent: "contracts" }, "contracts-create": { label: "Verträge erstellen", parent: "contracts" }, plants: { label: "Objekte", showToAllUsers: false }, "plants-viewAll": { label: "Alle Objekte einsehen", parent: "plants" }, "plants-create": { label: "Objekte erstellen", parent: "plants" }, products: { label: "Artikel", showToAllUsers: true }, "products-create": { label: "Artikel erstellen", parent: "products" }, productcategories: { label: "Artikelkategorie", showToAllUsers: true }, "productcategories-create": { label: "Artikelkategorie erstellen", parent: "productcategories" }, services: { label: "Leistungen", showToAllUsers: true }, "services-create": { label: "Leistungen erstellen", parent: "services" }, servicecategories: { label: "Leistungskategorien", showToAllUsers: true }, "servicecategories-create": { label: "Leistungskategorien erstellen", parent: "servicecategories" }, customers: { label: "Kunden", showToAllUsers: false }, "customers-viewAll": { label: "Alle Kunden einsehen", parent: "customers" }, "customers-create": { label: "Kunden erstellen", parent: "customers" }, contacts: { label: "Kontakte", showToAllUsers: false }, "contacts-viewAll": { label: "Alle Kontakte einsehen", parent: "contacts" }, "contacts-create": { label: "Kontakte erstellen", parent: "contacts" }, vendors: { label: "Lieferanten", showToAllUsers: false }, "vendors-viewAll": { label: "Alle Lieferanten einsehen", parent: "vendors" }, "vendors-create": { label: "Lieferanten erstellen", parent: "vendors" }, checks: { label: "Überprüfungen", showToAllUsers: false }, "checks-viewAll": { label: "Alle Überprüfungen einsehen", parent: "checks" }, "checks-create": { label: "Überprüfungen erstellen", parent: "checks" }, vehicles: { label: "Fahrzeuge", showToAllUsers: false }, "vehicles-viewAll": { label: "Alle Fahrzeuge einsehen", parent: "vehicles" }, "vehicles-create": { label: "Fahrzeuge erstellen", parent: "vehicles" }, inventoryitems: { label: "Inventarartikel", showToAllUsers: false }, "inventoryitems-viewAll": { label: "Alle Inventarartikel einsehen", parent: "inventoryitems" }, "inventoryitems-create": { label: "Inventarartikel erstellen", parent: "inventoryitems" }, inventoryitemgroups: { parent: "inventoryitems", label: "Inventarartikelgruppen", showToAllUsers: false }, "inventoryitemgroups-viewAll": { label: "Alle Inventarartikelgruppen einsehen", parent: "inventoryitemgroups" }, "inventoryitemgroups-create": { label: "Inventarartikelgruppen erstellen", parent: "inventoryitemgroups" }, absencerequests: { label: "Abwesenheiten", showToAllUsers: false }, "absencerequests-viewAll": { label: "Alle Abwesenheiten einsehen", parent: "absencerequests" }, "absencerequests-create": { label: "Abwesenheiten erstellen", parent: "absencerequests" }, events: { label: "Termine", showToAllUsers: false }, "events-viewAll": { label: "Alle Termine einsehen", parent: "events" }, "events-create": { label: "Termine erstellen", parent: "events" }, spaces: { label: "Lagerplätze", showToAllUsers: false }, "spaces-viewAll": { label: "Alle Lagerplätze einsehen", parent: "spaces" }, "spaces-create": { label: "Lagerplätze erstellen", parent: "spaces" }, roles: { label: "Rollen", showToAllUsers: false }, "roles-viewAll": { label: "Alle Rollen einsehen", parent: "roles" }, "roles-create": { label: "Rollen erstellen", parent: "roles" }, tasks: { label: "Aufgaben", showToAllUsers: false }, "tasks-viewAll": { label: "Alle Aufgaben einsehen", parent: "tasks" }, "tasks-create": { label: "Aufgaben erstellen", parent: "tasks" }, "inventory": { label: "Lager", }, }) let role = profileStore.activeProfile.role 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 } }) return hasAllNeccessaryRights } return { role, generalAvailableRights, checkRight } }