Many Changes for 1.0
This commit is contained in:
@@ -155,6 +155,66 @@ export const useDataStore = defineStore('data', () => {
|
||||
const chats = ref([])
|
||||
const messages = ref([])
|
||||
const createddocuments = ref([])
|
||||
const workingtimes = ref([])
|
||||
|
||||
|
||||
const rights = ref({
|
||||
createUser: {label: "Benutzer erstellen"},
|
||||
modifyUser: {label: "Benutzer bearbeiten"},
|
||||
deactivateUser: {label: "Benutzer sperren"},
|
||||
createProject: {label: "Projekt erstellen"},
|
||||
viewOwnProjects: {label: "Eigene Projekte sehen"},
|
||||
viewAllProjects: {label: "Alle Projekte sehen"},
|
||||
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"},
|
||||
})
|
||||
|
||||
const roles = ref([
|
||||
{
|
||||
key: "tenantAdmin",
|
||||
label: "Firmenadministrator",
|
||||
rights: [
|
||||
...Object.keys(rights.value)
|
||||
]
|
||||
},
|
||||
{
|
||||
key:"worker",
|
||||
label: "Monteur",
|
||||
rights: [
|
||||
"viewOwnProjects",
|
||||
"createTasks",
|
||||
"viewOwnTasks",
|
||||
"viewOwnTimes",
|
||||
"createOwnTime"
|
||||
]
|
||||
},
|
||||
{
|
||||
key:"manager",
|
||||
label: "Vorarbeiter",
|
||||
rights: [
|
||||
"createProjects",
|
||||
"viewOwnProjects",
|
||||
"createTasks",
|
||||
"viewOwnTasks",
|
||||
]
|
||||
},
|
||||
{
|
||||
key:"booker",
|
||||
label: "Buchhalter",
|
||||
rights: [
|
||||
"createTasks",
|
||||
"viewOwnTasks",
|
||||
"createTime",
|
||||
"viewAllTimes"
|
||||
]
|
||||
}
|
||||
])
|
||||
|
||||
async function initializeData () {
|
||||
await fetchProfiles()
|
||||
@@ -175,7 +235,6 @@ export const useDataStore = defineStore('data', () => {
|
||||
|
||||
async function fetchData () {
|
||||
await fetchProfiles()
|
||||
|
||||
await fetchDocuments()
|
||||
await fetchOwnTenant()
|
||||
await fetchEvents()
|
||||
@@ -207,6 +266,7 @@ export const useDataStore = defineStore('data', () => {
|
||||
await fetchChats()
|
||||
await fetchMessages()
|
||||
await fetchCreatedDocuments()
|
||||
await fetchWorkingTimes()
|
||||
loaded.value = true
|
||||
}
|
||||
|
||||
@@ -245,8 +305,20 @@ export const useDataStore = defineStore('data', () => {
|
||||
chats.value = []
|
||||
messages.value = []
|
||||
createddocuments.value = []
|
||||
workingtimes.value = []
|
||||
}
|
||||
|
||||
function hasRight (right) {
|
||||
const role = profiles.value.find(i => i.id === user.value.id).role
|
||||
const grantedRights = roles.value.find(i => i.key === role).rights
|
||||
|
||||
if(grantedRights.includes(right)){
|
||||
return true
|
||||
} else return false
|
||||
|
||||
}
|
||||
|
||||
|
||||
//Realtime Update
|
||||
const channelA = supabase
|
||||
.channel('schema-db-changes')
|
||||
@@ -476,6 +548,10 @@ export const useDataStore = defineStore('data', () => {
|
||||
createddocuments.value = (await supabase.from("createddocuments").select().eq('tenant', currentTenant.value).order('created_at', {ascending:true})).data
|
||||
}
|
||||
|
||||
async function fetchWorkingTimes() {
|
||||
workingtimes.value = (await supabase.from("workingtimes").select().eq('tenant', currentTenant.value).order('created_at', {ascending:true})).data
|
||||
}
|
||||
|
||||
async function fetchDocuments () {
|
||||
let tempDocuments = (await supabase.from("documents").select().eq('tenant', currentTenant.value)).data
|
||||
|
||||
@@ -844,7 +920,7 @@ export const useDataStore = defineStore('data', () => {
|
||||
initializeData,
|
||||
changeTenant,
|
||||
uploadFiles,
|
||||
|
||||
hasRight,
|
||||
|
||||
//Data
|
||||
profiles,
|
||||
@@ -878,6 +954,7 @@ export const useDataStore = defineStore('data', () => {
|
||||
chats,
|
||||
messages,
|
||||
createddocuments,
|
||||
workingtimes,
|
||||
documentTypesForCreation,
|
||||
//Functions
|
||||
createNewItem,
|
||||
|
||||
Reference in New Issue
Block a user