Changes
This commit is contained in:
92
spaces/stores/data.ts
Normal file
92
spaces/stores/data.ts
Normal file
@@ -0,0 +1,92 @@
|
||||
import {defineStore} from 'pinia'
|
||||
|
||||
import {createClient} from '@supabase/supabase-js'
|
||||
|
||||
const supabase = createClient('https://uwppvcxflrcsibuzsbil.supabase.co','eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InV3cHB2Y3hmbHJjc2lidXpzYmlsIiwicm9sZSI6ImFub24iLCJpYXQiOjE3MDA5MzgxOTQsImV4cCI6MjAxNjUxNDE5NH0.CkxYSQH0uLfwx9GVUlO6AYMU2FMLAxGMrwEKvyPv7Oo')
|
||||
|
||||
|
||||
// @ts-ignore
|
||||
export const useDataStore = defineStore('data', {
|
||||
state: () => ({
|
||||
loaded: false,
|
||||
customers: [] as any[],
|
||||
tasks: [] as any[],
|
||||
projects: [] as any[],
|
||||
documents: [] as any[],
|
||||
spaces: [] as any[],
|
||||
units: [] as any[],
|
||||
times: [] as any[],
|
||||
products: [] as any[],
|
||||
movements: [] as any[],
|
||||
forms: [] as any[],
|
||||
formSubmits: [] as any[],
|
||||
contact: [] as any[]
|
||||
}),
|
||||
actions: {
|
||||
async fetchData() {
|
||||
await this.fetchCustomers()
|
||||
await this.fetchTasks()
|
||||
await this.fetchForms()
|
||||
await this.fetchFormSubmits()
|
||||
await this.fetchProducts()
|
||||
await this.fetchUnits()
|
||||
await this.fetchProjects()
|
||||
await this.fetchDocuments()
|
||||
await this.fetchMovements()
|
||||
await this.fetchSpaces()
|
||||
this.loaded = true
|
||||
},
|
||||
async fetchCustomers() {
|
||||
// @ts-ignore
|
||||
this.customers = (await supabase.from("customers").select().order('customerNumber', {ascending: true})).data
|
||||
},
|
||||
async fetchTasks() {
|
||||
// @ts-ignore
|
||||
this.tasks = (await supabase.from("tasks").select()).data
|
||||
},
|
||||
async fetchForms() {
|
||||
// @ts-ignore
|
||||
this.forms = (await supabase.from("forms").select()).data
|
||||
},
|
||||
async fetchFormSubmits() {
|
||||
// @ts-ignore
|
||||
this.formSubmits = (await supabase.from("formSubmits").select()).data
|
||||
},
|
||||
async fetchProducts() {
|
||||
// @ts-ignore
|
||||
this.products = (await supabase.from("products").select()).data
|
||||
},
|
||||
async fetchUnits() {
|
||||
// @ts-ignore
|
||||
this.units = (await supabase.from("units").select()).data
|
||||
},
|
||||
async fetchProjects() {
|
||||
// @ts-ignore
|
||||
this.projects = (await supabase.from("projects").select()).data
|
||||
},
|
||||
async fetchSpaces() {
|
||||
// @ts-ignore
|
||||
this.spaces = (await supabase.from("spaces").select().order('spaceNumber', {ascending: true})).data
|
||||
},
|
||||
async fetchMovements() {
|
||||
// @ts-ignore
|
||||
this.movements = (await supabase.from("movements").select()).data
|
||||
},
|
||||
async fetchDocuments() {
|
||||
// @ts-ignore
|
||||
this.documents = (await supabase.from("documents").select()).data
|
||||
|
||||
for(const [index,doc] of this.documents.entries()){
|
||||
// @ts-ignore
|
||||
this.documents[index].url = (await supabase.storage.from('documents').createSignedUrl(doc.path, 60 * 60)).data.signedUrl
|
||||
}
|
||||
}
|
||||
},
|
||||
getters: {
|
||||
getOpenTasksCount: (state) => state.tasks.filter(task => task.categorie != "Erledigt").length,
|
||||
movementsBySpace: (state) => (spaceId:number) => state.movements.filter(move => move.spaceId === spaceId),
|
||||
getProductById: (state) => (productId:number) => state.products.find(product => product.id === productId),
|
||||
getProjectById: (state) => (projectId:number) => state.projects.find(project => project.id === projectId),
|
||||
getFormSubmitsWithLabelProp: (state) => (state.formSubmits.map(submit => {return{...submit, label: submit.id}}))
|
||||
}
|
||||
})
|
||||
Reference in New Issue
Block a user