diff --git a/composables/useSupabase.js b/composables/useSupabase.js index b45e94e..688d307 100644 --- a/composables/useSupabase.js +++ b/composables/useSupabase.js @@ -1,10 +1,13 @@ +import {useDataStore} from "~/stores/data.js"; export const useSupabaseSelect = async (relation,select = '*', sortColumn = null, ascending = true) => { const supabase = useSupabaseClient() const profileStore = useProfileStore() let data = null + const dataStore = useDataStore() + const dataType = dataStore.dataTypes[relation] if(sortColumn !== null ) { data = (await supabase @@ -19,6 +22,10 @@ export const useSupabaseSelect = async (relation,select = '*', sortColumn = null .eq("tenant", profileStore.currentTenant)).data } + if(dataType && dataType.isArchivable) { + data = data.filter(i => !i.archived) + } + return data } diff --git a/stores/data.js b/stores/data.js index ad2769c..ebfebea 100644 --- a/stores/data.js +++ b/stores/data.js @@ -55,6 +55,7 @@ export const useDataStore = defineStore('data', () => { const dataTypes = { tasks: { + isArchivable: true, label: "Aufgaben", labelSingle: "Aufgabe", isStandardEntity: true, @@ -146,6 +147,7 @@ export const useDataStore = defineStore('data', () => { showTabs: [{label: 'Informationen'}] }, customers: { + isArchivable: true, label: "Kunden", labelSingle: "Kunde", isStandardEntity: true, @@ -310,6 +312,7 @@ export const useDataStore = defineStore('data', () => { showTabs: [{label: 'Informationen'},{label: 'Ansprechpartner'},{label: 'Dateien'},{label: 'Ausgangsbelege'},{label: 'Projekte'},{label: 'Objekte'},{label: 'Verträge'}] }, contacts: { + isArchivable: true, label: "Kontakte", labelSingle: "Kontakt", isStandardEntity: true, @@ -414,6 +417,7 @@ export const useDataStore = defineStore('data', () => { ] }, contracts: { + isArchivable: true, label: "Verträge", labelSingle: "Vertrag", isStandardEntity: true, @@ -561,6 +565,7 @@ export const useDataStore = defineStore('data', () => { showTabs: [{label: 'Informationen'},{label: 'Dateien'}] }, absencerequests: { + isArchivable: true, label: "Abwesenheiten", labelSingle: "Abwesenheit", isStandardEntity: true, @@ -650,6 +655,7 @@ export const useDataStore = defineStore('data', () => { showTabs: [{label: 'Informationen'}] }, plants: { + isArchivable: true, label: "Objekte", labelSingle: "Objekt", isStandardEntity: true, @@ -702,6 +708,7 @@ export const useDataStore = defineStore('data', () => { }] }, products: { + isArchivable: true, label: "Artikel", labelSingle: "Artikel", isStandardEntity: true, @@ -793,6 +800,7 @@ export const useDataStore = defineStore('data', () => { ] }, projects: { + isArchivable: true, label: "Projekte", labelSingle: "Projekt", isStandardEntity: true, @@ -923,6 +931,7 @@ export const useDataStore = defineStore('data', () => { }*/] }, vehicles: { + isArchivable: true, label: "Fahrzeuge", labelSingle: "Fahrzeug", isStandardEntity: true, @@ -1020,6 +1029,7 @@ export const useDataStore = defineStore('data', () => { ] }, vendors: { + isArchivable: true, label: "Lieferanten", labelSingle: "Lieferant", isStandardEntity: true, @@ -1158,6 +1168,7 @@ export const useDataStore = defineStore('data', () => { labelSingle: "Nachricht" }, spaces: { + isArchivable: true, label: "Lagerplätze", labelSingle: "Lagerplatz", isStandardEntity: true, @@ -1288,6 +1299,7 @@ export const useDataStore = defineStore('data', () => { labelSingle: "Benutzer" }, createddocuments: { + isArchivable: true, label: "Dokumente", labelSingle: "Dokument" }, @@ -1297,6 +1309,7 @@ export const useDataStore = defineStore('data', () => { redirect:true }, inventoryitems: { + isArchivable: true, label: "Inventarartikel", labelSingle: "Inventarartikel", isStandardEntity: true, @@ -1436,6 +1449,7 @@ export const useDataStore = defineStore('data', () => { ] }, inventoryitemgroups: { + isArchivable: true, label: "Inventarartikelgruppen", labelSingle: "Inventarartikelgruppe", isStandardEntity: true, @@ -1500,6 +1514,7 @@ export const useDataStore = defineStore('data', () => { ] }, services: { + isArchivable: true, label: "Leistungen", labelSingle: "Leistung", isStandardEntity: true, @@ -1626,6 +1641,7 @@ export const useDataStore = defineStore('data', () => { ] }, events: { + isArchivable: true, label: "Termine", labelSingle: "Termin", isStandardEntity: true, @@ -1750,16 +1766,19 @@ export const useDataStore = defineStore('data', () => { historyItemHolder: "profile" }, workingtimes: { + isArchivable: true, label: "Anwesenheiten", labelSingle: "Anwesenheit", redirect: true, redirectToList: true }, texttemplates: { + isArchivable: true, label: "Textvorlagen", labelSingle: "Textvorlage" }, bankstatements: { + isArchivable: true, label: "Kontobewegungen", labelSingle: "Kontobewegung", historyItemHolder: "bankStatement", @@ -1769,6 +1788,7 @@ export const useDataStore = defineStore('data', () => { labelSingle: "Bankzuweisung" }, productcategories: { + isArchivable: true, label: "Artikelkategorien", labelSingle: "Artikelkategorie", isStandardEntity: true, @@ -1806,6 +1826,7 @@ export const useDataStore = defineStore('data', () => { ] }, servicecategories: { + isArchivable: true, label: "Leistungskategorien", labelSingle: "Leistungskategorie", isStandardEntity: true, @@ -1849,12 +1870,14 @@ export const useDataStore = defineStore('data', () => { historyItemHolder: "trackingtrip", }, projecttypes: { + isArchivable: true, label: "Projekttypen", labelSingle: "Projekttyp", redirect: true, historyItemHolder: "projecttype" }, checks: { + isArchivable: true, label: "Überprüfungen", labelSingle: "Überprüfung", isStandardEntity: true,