Many Changes
This commit is contained in:
@@ -80,7 +80,7 @@ export const useDataStore = defineStore('data', () => {
|
||||
label: "Benutzer",
|
||||
labelSingle: "Benutzer"
|
||||
},
|
||||
createdDocuments: {
|
||||
createddocuments: {
|
||||
label: "Dokumente",
|
||||
labelSingle: "Dokument"
|
||||
},
|
||||
@@ -154,7 +154,7 @@ export const useDataStore = defineStore('data', () => {
|
||||
const inventoryItems = ref([])
|
||||
const chats = ref([])
|
||||
const messages = ref([])
|
||||
const createdDocuments = ref([])
|
||||
const createddocuments = ref([])
|
||||
|
||||
async function initializeData () {
|
||||
await fetchProfiles()
|
||||
@@ -176,7 +176,7 @@ export const useDataStore = defineStore('data', () => {
|
||||
async function fetchData () {
|
||||
await fetchProfiles()
|
||||
|
||||
fetchDocuments()
|
||||
await fetchDocuments()
|
||||
await fetchOwnTenant()
|
||||
await fetchEvents()
|
||||
await fetchTasks()
|
||||
@@ -189,7 +189,6 @@ export const useDataStore = defineStore('data', () => {
|
||||
await fetchFormSubmits()
|
||||
await fetchProducts()
|
||||
await fetchUnits()
|
||||
//await fetchDocuments()
|
||||
await fetchMovements()
|
||||
await fetchSpaces()
|
||||
await fetchVehicles()
|
||||
@@ -245,7 +244,7 @@ export const useDataStore = defineStore('data', () => {
|
||||
inventoryItems.value = []
|
||||
chats.value = []
|
||||
messages.value = []
|
||||
createdDocuments.value = []
|
||||
createddocuments.value = []
|
||||
}
|
||||
|
||||
//Realtime Update
|
||||
@@ -278,7 +277,7 @@ export const useDataStore = defineStore('data', () => {
|
||||
const numberRange = useNumberRange(dataType)
|
||||
data[dataTypes[dataType].numberRangeHolder] = await numberRange.useNextNumber()
|
||||
|
||||
} else if(dataType === "createdDocuments") {
|
||||
} else if(dataType === "createddocuments") {
|
||||
console.log(data.type)
|
||||
const numberRange = useNumberRange(data.type)
|
||||
data.documentNumber = await numberRange.useNextNumber()
|
||||
@@ -296,6 +295,7 @@ export const useDataStore = defineStore('data', () => {
|
||||
await eval( dataType + '.value.push(' + JSON.stringify(...supabaseData) + ')')
|
||||
toast.add({title: `${dataTypes[dataType].labelSingle} hinzugefügt`})
|
||||
if(dataTypes[dataType].redirect) await router.push(`/${dataType}/show/${supabaseData[0].id}`)
|
||||
return supabaseData
|
||||
}
|
||||
}
|
||||
|
||||
@@ -312,8 +312,72 @@ export const useDataStore = defineStore('data', () => {
|
||||
await eval(dataType + '.value[' + dataType + '.value.findIndex(i => i.id === ' + JSON.stringify(data.id) + ')] = ' + JSON.stringify(supabaseData[0]))
|
||||
toast.add({title: `${dataTypes[dataType].labelSingle} gespeichert`})
|
||||
if(dataTypes[dataType].redirect) await router.push(`/${dataType}/show/${supabaseData[0].id}`)
|
||||
return supabaseData
|
||||
}
|
||||
}
|
||||
|
||||
const uploadFiles = async (formData, files, upsert) => {
|
||||
|
||||
let documentsToInsert = []
|
||||
|
||||
const uploadSingleFile = async (file) => {
|
||||
|
||||
const {data, error} = await supabase
|
||||
.storage
|
||||
.from("files")
|
||||
.upload(`${currentTenant.value}/${file.name}`, file, {upsert})
|
||||
|
||||
if (error) {
|
||||
console.log(error)
|
||||
console.log(error.statusCode)
|
||||
|
||||
if(error.statusCode === '400') {
|
||||
console.log("is 400")
|
||||
toast.add({title: "Hochladen fehlgeschlagen", description: "Die Datei enthält ungültige Zeichen", icon: "i-heroicons-x-circle", color: "rose", timeout: 10000})
|
||||
} else if(error.statusCode === '409') {
|
||||
console.log("is 409")
|
||||
toast.add({title: "Hochladen fehlgeschlagen", description: "Es existiert bereits eine Datei mit diesem Namen", icon: "i-heroicons-x-circle", color: "rose", timeout: 10000})
|
||||
} else {
|
||||
toast.add({title: "Hochladen fehlgeschlagen", icon: "i-heroicons-x-circle", color: "rose", timeout: 10000})
|
||||
|
||||
}
|
||||
|
||||
} else if (data) {
|
||||
const returnPath = data.path
|
||||
|
||||
documentsToInsert.push({...formData, path: returnPath})
|
||||
}
|
||||
}
|
||||
|
||||
//uploadInProgress.value = true
|
||||
|
||||
|
||||
if(files.length === 1) {
|
||||
await uploadSingleFile(files[0])
|
||||
} else if( files.length > 1) {
|
||||
|
||||
for(let i = 0; i < files.length; i++){
|
||||
uploadSingleFile(files[i])
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
const {data, error} = await supabase
|
||||
.from("documents")
|
||||
.insert(documentsToInsert)
|
||||
.select()
|
||||
if(error) console.log(error)
|
||||
else {
|
||||
console.log(data)
|
||||
|
||||
fetchDocuments()
|
||||
|
||||
//documents.value.push(...data)
|
||||
}
|
||||
//uploadModalOpen.value = false;
|
||||
//uploadInProgress.value = false;
|
||||
|
||||
|
||||
}
|
||||
|
||||
async function fetchOwnTenant () {
|
||||
@@ -409,21 +473,28 @@ export const useDataStore = defineStore('data', () => {
|
||||
messages.value = (await supabase.from("messages").select().eq('tenant', currentTenant.value).order('created_at', {ascending:true})).data
|
||||
}
|
||||
async function fetchCreatedDocuments() {
|
||||
createdDocuments.value = (await supabase.from("createddocuments").select().eq('tenant', currentTenant.value).order('created_at', {ascending:true})).data
|
||||
createddocuments.value = (await supabase.from("createddocuments").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
|
||||
|
||||
if(tempDocuments.length > 0) {
|
||||
for(const [index,doc] of tempDocuments.entries()){
|
||||
// @ts-ignore
|
||||
tempDocuments[index].url = (await supabase.storage.from('files').createSignedUrl(doc.path, 60 * 60)).data.signedUrl
|
||||
let paths = []
|
||||
tempDocuments.forEach(doc => {
|
||||
paths.push(doc.path)
|
||||
})
|
||||
|
||||
const {data,error} = await supabase.storage.from('files').createSignedUrls(paths,3600)
|
||||
|
||||
tempDocuments = tempDocuments.map((doc,index) => {
|
||||
|
||||
return {
|
||||
...doc,
|
||||
url: data[index].signedUrl
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
documents.value = tempDocuments
|
||||
|
||||
}
|
||||
|
||||
async function addHistoryItem(text, user, elementId, resourceType) {
|
||||
@@ -473,7 +544,11 @@ export const useDataStore = defineStore('data', () => {
|
||||
})
|
||||
|
||||
const getDocumentsByProjectId = computed(() => (projectId) => {
|
||||
return documents.value.filter(item => item.project === projectId)
|
||||
return documents.value.filter(item => item.project === projectId && !item.tags.includes("Archiviert"))
|
||||
})
|
||||
|
||||
const getDocumentsByPlantId = computed(() => (itemId) => {
|
||||
return documents.value.filter(item => item.plant === itemId && !item.tags.includes("Archiviert"))
|
||||
})
|
||||
|
||||
const getEventsByProjectId = computed(() => (projectId) => {
|
||||
@@ -730,7 +805,7 @@ export const useDataStore = defineStore('data', () => {
|
||||
})
|
||||
|
||||
const getCreatedDocumentById = computed(() => (documentId) => {
|
||||
return createdDocuments.value.find(item => item.id === documentId)
|
||||
return createddocuments.value.find(item => item.id === documentId)
|
||||
})
|
||||
|
||||
const getProjectById = computed(() => (itemId) => {
|
||||
@@ -760,6 +835,8 @@ export const useDataStore = defineStore('data', () => {
|
||||
ownTenant,
|
||||
initializeData,
|
||||
changeTenant,
|
||||
uploadFiles,
|
||||
|
||||
|
||||
//Data
|
||||
profiles,
|
||||
@@ -792,7 +869,7 @@ export const useDataStore = defineStore('data', () => {
|
||||
inventoryItems,
|
||||
chats,
|
||||
messages,
|
||||
createdDocuments,
|
||||
createddocuments,
|
||||
documentTypesForCreation,
|
||||
//Functions
|
||||
createNewItem,
|
||||
@@ -836,6 +913,7 @@ export const useDataStore = defineStore('data', () => {
|
||||
getContactsByCustomerId,
|
||||
getContactsByVendorId,
|
||||
getDocumentsByProjectId,
|
||||
getDocumentsByPlantId,
|
||||
getEventsByProjectId,
|
||||
getTimesByProjectId,
|
||||
getTasksByProjectId,
|
||||
|
||||
Reference in New Issue
Block a user