From 45ab25511fc7645fb313fc13bec473fc01e95eee Mon Sep 17 00:00:00 2001
From: Martin Weise <martin.weise@tuwien.ac.at>
Date: Wed, 15 Jan 2025 09:39:46 +0100
Subject: [PATCH] WIP

Signed-off-by: Martin Weise <martin.weise@tuwien.ac.at>
---
 dbrepo-ui/bun.lockb                           | Bin 381532 -> 381903 bytes
 dbrepo-ui/composables/database-service.ts     |   5 +-
 dbrepo-ui/composables/table-service.ts        |   2 +-
 dbrepo-ui/layouts/default.vue                 |  88 +++++++++++++++++-
 dbrepo-ui/nuxt.config.ts                      |  28 +++---
 dbrepo-ui/package.json                        |   1 +
 .../pages/database/[database_id]/info.vue     |  43 +--------
 .../persist/[identifier_id]/index.vue         |   7 +-
 .../database/[database_id]/persist/index.vue  |   7 +-
 .../pages/database/[database_id]/settings.vue |  28 +-----
 .../[database_id]/subset/[subset_id]/data.vue |  23 +----
 .../[database_id]/subset/[subset_id]/info.vue |  25 +----
 .../persist/[identifier_id]/index.vue         |   7 +-
 .../subset/[subset_id]/persist/index.vue      |   8 +-
 .../database/[database_id]/subset/create.vue  |   3 +-
 .../database/[database_id]/subset/index.vue   |  26 ------
 .../[database_id]/table/[table_id]/data.vue   |  34 +------
 .../[database_id]/table/[table_id]/import.vue |  35 +------
 .../[database_id]/table/[table_id]/info.vue   |  42 +--------
 .../persist/[identifier_id]/index.vue         |  35 +------
 .../table/[table_id]/persist/index.vue        |  35 +------
 .../[database_id]/table/[table_id]/schema.vue |  33 +------
 .../table/[table_id]/settings.vue             |  34 +------
 .../[database_id]/table/create/dataset.vue    |  30 +-----
 .../[database_id]/table/create/schema.vue     |  18 +---
 .../database/[database_id]/table/index.vue    |  31 ------
 .../[database_id]/view/[view_id]/data.vue     |  33 +------
 .../[database_id]/view/[view_id]/info.vue     |  40 +-------
 .../persist/[identifier_id]/index.vue         |  35 +------
 .../view/[view_id]/persist/index.vue          |  35 +------
 .../[database_id]/view/[view_id]/schema.vue   |  33 +------
 .../[database_id]/view/[view_id]/settings.vue |  33 +------
 .../database/[database_id]/view/create.vue    |  35 +------
 .../database/[database_id]/view/index.vue     |  36 +------
 dbrepo-ui/pages/search.vue                    |  12 +--
 dbrepo-ui/stores/cache.js                     |  62 ++++++------
 dbrepo-ui/utils/index.ts                      |  28 ++++--
 37 files changed, 209 insertions(+), 801 deletions(-)

diff --git a/dbrepo-ui/bun.lockb b/dbrepo-ui/bun.lockb
index b82e45d505fdc0e1f41e246f7d1caefe3e23007c..45a8c51c621dab127458d68a4493b23d2df9f88d 100755
GIT binary patch
delta 57667
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
P!bcX>?eAu==2-#&Sa?R-

delta 56861
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
PtYImByFGChYn~+lhkTG@

diff --git a/dbrepo-ui/composables/database-service.ts b/dbrepo-ui/composables/database-service.ts
index b96d75ab80..7956f7b4df 100644
--- a/dbrepo-ui/composables/database-service.ts
+++ b/dbrepo-ui/composables/database-service.ts
@@ -83,7 +83,7 @@ export const useDatabaseService = (): any => {
     });
   }
 
-  async function findOne(id: number): Promise<DatabaseDto | null> {
+  async function findOne(id: number, rawError: boolean = false): Promise<DatabaseDto | null> {
     const axios = useAxiosInstance();
     console.debug('find database with id', id);
     return new Promise((resolve, reject) => {
@@ -94,6 +94,9 @@ export const useDatabaseService = (): any => {
         })
         .catch((error) => {
           console.error('Failed to find database', error);
+          if (rawError) {
+            reject(error)
+          }
           reject(axiosErrorToApiError(error));
         });
     });
diff --git a/dbrepo-ui/composables/table-service.ts b/dbrepo-ui/composables/table-service.ts
index 4abaebec93..ca757c7451 100644
--- a/dbrepo-ui/composables/table-service.ts
+++ b/dbrepo-ui/composables/table-service.ts
@@ -29,7 +29,7 @@ export const useTableService = (): any => {
           resolve(response.data)
         })
         .catch((error) => {
-          console.error('Failed to find table')
+          console.error('Failed to find table', error)
           reject(axiosErrorToApiError(error))
         })
     })
diff --git a/dbrepo-ui/layouts/default.vue b/dbrepo-ui/layouts/default.vue
index b7baeb7043..2311be0e05 100644
--- a/dbrepo-ui/layouts/default.vue
+++ b/dbrepo-ui/layouts/default.vue
@@ -150,32 +150,47 @@
     <v-main>
       <v-container>
         <slot />
+        <JumboBox
+          v-if="error"
+          :title="$t(errorCodeKey(error).title, { resource })"
+          :subtitle="$t(errorCodeKey(error).subtitle)"
+          :text="$t(errorCodeKey(error).text, { resource })" />
       </v-container>
     </v-main>
   </v-app>
 </template>
 
 <script setup>
-const config = useRuntimeConfig()
+import { ref } from 'vue'
+
+const runtimeConfig = useRuntimeConfig()
+const config = ref(runtimeConfig)
 useServerHead({
-  title: config.public.title,
+  title: runtimeConfig.public.title,
   meta: [
-    {'ref': 'icon', type: 'image/x-icon', href: config.public.icon},
-    {'http-equiv': 'Content-Security-Policy', content: 'upgrade-insecure-requests'}
+    { 'ref': 'icon', type: 'image/x-icon', href: runtimeConfig.public.icon },
+    { 'http-equiv': 'Content-Security-Policy', content: 'upgrade-insecure-requests' }
   ]
 })
 </script>
 <script>
+import JumboBox from '@/components/JumboBox.vue'
 import { useUserStore } from '@/stores/user'
 import { useCacheStore } from '@/stores/cache'
+import { errorCodeKey, makeError } from '@/utils'
 
 export default {
+  components: {
+    JumboBox
+  },
   data () {
     return {
       drawer: false,
       model: null,
       query: null,
       loading: true,
+      databaseError: null,
+      accessError: null,
       searchResults: [],
       databases: [],
       loadingUser: true,
@@ -199,12 +214,36 @@ export default {
     messages () {
       return this.cacheStore.getMessages
     },
+    access () {
+      return this.userStore.getAccess
+    },
     table () {
       return this.cacheStore.getTable
     },
+    view () {
+      return this.cacheStore.getView
+    },
+    subset () {
+      return this.cacheStore.getSubset
+    },
     database () {
       return this.cacheStore.getDatabase
     },
+    resource () {
+      if (!this.$route.params.database_id) {
+        return null
+      }
+      if (this.$route.params.table_id) {
+        return 'table'
+      }
+      if (this.$route.params.view_id) {
+        return 'view'
+      }
+      if (this.$route.params.subset_id) {
+        return 'subset'
+      }
+      return 'database'
+    },
     roles () {
       return this.userStore.getRoles
     },
@@ -220,6 +259,27 @@ export default {
     commitShort () {
       return this.$config.public.commit.substr(0, 8)
     },
+    error () {
+      if (this.databaseError) {
+        return this.databaseError
+      }
+      if (this.accessError) {
+        return this.accessError
+      }
+      if (!this.user) {
+        return null
+      }
+      if (this.table && !this.table.is_public && !this.table.is_schema_public && !this.table.owner.id !== this.user.id) {
+        return makeError(403, null, null)
+      }
+      if (this.view && !this.view.is_public && !this.view.is_schema_public && !this.view.owner.id !== this.user.id) {
+        return makeError(403, null, null)
+      }
+      if (this.subset && !this.subset.is_public && !this.subset.is_schema_public && !this.subset.owner.id !== this.user.id) {
+        return makeError(403, null, null)
+      }
+      return null
+    },
     canListOntologies () {
       if (!this.roles) {
         return false
@@ -243,25 +303,42 @@ export default {
   watch: {
     '$route.params': {
       handler (newObj, oldObj) {
-        if (!newObj.database_id || import.meta.server) {
+        if (!newObj.database_id) {
+          this.databaseError = null
+          this.accessError = null
+          this.cacheStore.setTable(null)
+          this.cacheStore.setView(null)
+          this.cacheStore.setSubset(null)
+          return
+        }
+        if (import.meta.server) {
           return
         }
         /* load database and optional access */
         this.cacheStore.setRouteDatabase(newObj.database_id)
+          .catch((error) => {
+            this.databaseError = error
+          })
         if (this.user) {
           this.userStore.setRouteAccess(newObj.database_id)
         }
         /* load table */
         if (newObj.table_id) {
           this.cacheStore.setRouteTable(newObj.database_id, newObj.table_id)
+        } else {
+          this.cacheStore.setTable(null)
         }
         /* load view */
         if (newObj.view_id) {
           this.cacheStore.setRouteView(newObj.database_id, newObj.view_id)
+        } else {
+          this.cacheStore.setView(null)
         }
         /* load subset */
         if (newObj.subset_id) {
           this.cacheStore.setRouteSubset(newObj.database_id, newObj.subset_id)
+        } else {
+          this.cacheStore.setSubset(null)
         }
       },
       deep: true,
@@ -280,6 +357,7 @@ export default {
     this.cacheStore.reloadMessages()
   },
   methods: {
+    errorCodeKey,
     login () {
       const redirect = ![undefined, '/', '/login'].includes(this.$router.currentRoute.path)
       this.$router.push({ path: '/login', query: redirect ? { redirect: this.$router.currentRoute.path } : {} })
diff --git a/dbrepo-ui/nuxt.config.ts b/dbrepo-ui/nuxt.config.ts
index b5758d06f5..4bce6ec5c5 100644
--- a/dbrepo-ui/nuxt.config.ts
+++ b/dbrepo-ui/nuxt.config.ts
@@ -4,18 +4,18 @@ import vuetify from 'vite-plugin-vuetify'
 const proxy: any = {}
 
 /* proxies the backend calls, >>NOT<< the frontend calls (clicking) */
-// if (process.env.NODE_ENV === 'development') {
-//   const api = 'http://localhost'
-//   proxy['/api'] = api
-//   proxy['/pid'] = {
-//     target: api + '/api',
-//     changeOrigin: true,
-//     pathRewrite: {
-//       '^/pid': '/pid'
-//     }
-//   }
-//   process.env.NUXT_PUBLIC_API_SERVER = api
-// }
+if (process.env.NODE_ENV === 'development') {
+  const api = 'http://localhost'
+  proxy['/api'] = api
+  proxy['/pid'] = {
+    target: api + '/api',
+    changeOrigin: true,
+    pathRewrite: {
+      '^/pid': '/pid'
+    }
+  }
+  process.env.NUXT_PUBLIC_API_SERVER = api
+}
 
 /**
  * https://nuxt.com/docs/guide/concepts/rendering#hybrid-rendering
@@ -75,8 +75,8 @@ export default defineNuxtConfig({
         }
       },
       api: {
-        client: 'https://dbrepo.arisnet.ac.at',
-        server: 'https://dbrepo.arisnet.ac.at',
+        client: 'http://localhost',
+        server: 'http://gateway-service',
       },
       upload: {
         client: 'http://localhost/api/upload/files',
diff --git a/dbrepo-ui/package.json b/dbrepo-ui/package.json
index 856f56f4f0..a135477820 100644
--- a/dbrepo-ui/package.json
+++ b/dbrepo-ui/package.json
@@ -23,6 +23,7 @@
     "buffer": "^6.0.3",
     "chart.js": "^4.4.1",
     "date-fns": "^3.3.1",
+    "http-status-codes": "^2.3.0",
     "jwt-decode": "^4.0.0",
     "merkle-json": "^2.6.0",
     "moment": "^2.30.1",
diff --git a/dbrepo-ui/pages/database/[database_id]/info.vue b/dbrepo-ui/pages/database/[database_id]/info.vue
index eee94047bc..02c2c8310a 100644
--- a/dbrepo-ui/pages/database/[database_id]/info.vue
+++ b/dbrepo-ui/pages/database/[database_id]/info.vue
@@ -161,27 +161,14 @@
       :items="items"
       class="pa-0 mt-2" />
   </div>
-  <JumboBox
-    v-if="error"
-    :title="$t(errorCodeKey(error).title, { resource: 'database' })"
-    :subtitle="$t(errorCodeKey(error).subtitle)"
-    :text="$t(errorCodeKey(error).text, { resource: 'database' })" />
-  <pre v-if="error">{{ error }}</pre>
 </template>
 
-<script setup>
-import { ref } from 'vue'
-
-const runtimeConfig = useRuntimeConfig()
-const config = ref(runtimeConfig)
-</script>
 <script>
 import DatabaseToolbar from '@/components/database/DatabaseToolbar.vue'
 import Summary from '@/components/identifier/Summary.vue'
 import Select from '@/components/identifier/Select.vue'
 import UserBadge from '@/components/user/UserBadge.vue'
-import JumboBox from '@/components/JumboBox.vue'
-import { sizeToHumanLabel, errorCodeKey } from '@/utils'
+import { sizeToHumanLabel } from '@/utils'
 import { useUserStore } from '@/stores/user'
 import { useCacheStore } from '@/stores/cache'
 
@@ -190,32 +177,11 @@ export default {
     DatabaseToolbar,
     Summary,
     Select,
-    UserBadge,
-    JumboBox
-  },
-  setup () {
-    const userStore = useUserStore()
-    const { database_id } = useRoute().params
-    const { error, data } = useFetch(`${this.config.public.api.server}/api/database/${database_id}`, {
-      immediate: true,
-      method: 'GET',
-      timeout: 90_000,
-      headers: {
-        Accept: 'application/json',
-        Authorization: userStore.getToken ? `Bearer ${this.userStore.getToken}` : null
-      }
-    })
-    if (data.value) {
-      const identifierService = useIdentifierService()
-      useServerHead(identifierService.databaseToServerHead(data.value))
-      useServerSeoMeta(identifierService.databaseToServerSeoMeta(data.value))
-    }
-    return {
-      error
-    }
+    UserBadge
   },
   data () {
     return {
+      error: null,
       items: [
         {
           title: this.$t('navigation.databases'),
@@ -375,9 +341,6 @@ export default {
       }
       return this.database
     }
-  },
-  methods: {
-    errorCodeKey
   }
 }
 </script>
diff --git a/dbrepo-ui/pages/database/[database_id]/persist/[identifier_id]/index.vue b/dbrepo-ui/pages/database/[database_id]/persist/[identifier_id]/index.vue
index 7de1348fdc..a57b439b21 100644
--- a/dbrepo-ui/pages/database/[database_id]/persist/[identifier_id]/index.vue
+++ b/dbrepo-ui/pages/database/[database_id]/persist/[identifier_id]/index.vue
@@ -1,6 +1,9 @@
 <template>
-  <div v-if="canCreateIdentifier || canUpdateIdentifier">
-    <Persist type="database" :database="database" />
+  <div
+    v-if="canCreateIdentifier || canUpdateIdentifier">
+    <Persist
+      type="database"
+      :database="database" />
     <v-breadcrumbs :items="items" class="pa-0 mt-2" />
   </div>
 </template>
diff --git a/dbrepo-ui/pages/database/[database_id]/persist/index.vue b/dbrepo-ui/pages/database/[database_id]/persist/index.vue
index 0981a54790..df675d262e 100644
--- a/dbrepo-ui/pages/database/[database_id]/persist/index.vue
+++ b/dbrepo-ui/pages/database/[database_id]/persist/index.vue
@@ -1,6 +1,9 @@
 <template>
-  <div v-if="canCreateIdentifier || canUpdateIdentifier">
-    <Persist type="database" :database="database" />
+  <div
+    v-if="canCreateIdentifier || canUpdateIdentifier">
+    <Persist
+      type="database"
+      :database="database" />
     <v-breadcrumbs :items="items" class="pa-0 mt-2" />
   </div>
 </template>
diff --git a/dbrepo-ui/pages/database/[database_id]/settings.vue b/dbrepo-ui/pages/database/[database_id]/settings.vue
index 984df4e635..aed13a4e1e 100644
--- a/dbrepo-ui/pages/database/[database_id]/settings.vue
+++ b/dbrepo-ui/pages/database/[database_id]/settings.vue
@@ -242,43 +242,18 @@
     </v-window>
     <v-breadcrumbs :items="items" class="pa-0 mt-2" />
   </div>
-  <JumboBox
-    v-if="error"
-    :title="$t(errorCodeKey(error).title, { resource: 'database' })"
-    :subtitle="$t(errorCodeKey(error).subtitle)"
-    :text="$t(errorCodeKey(error).text, { resource: 'database' })" />
 </template>
 
 <script>
 import DatabaseToolbar from '@/components/database/DatabaseToolbar.vue'
 import EditAccess from '@/components/dialogs/EditAccess.vue'
-import JumboBox from '@/components/JumboBox.vue'
 import { useUserStore } from '@/stores/user'
 import { useCacheStore } from '@/stores/cache'
-import { errorCodeKey } from '@/utils'
 
 export default {
   components: {
     DatabaseToolbar,
-    EditAccess,
-    JumboBox
-  },
-  setup () {
-    const config = useRuntimeConfig()
-    const userStore = useUserStore()
-    const { database_id } = useRoute().params
-    const { error } = useFetch(`${config.public.api.server}/api/database/${database_id}`, {
-      immediate: true,
-      method: 'HEAD',
-      timeout: 90_000,
-      headers: {
-        Accept: 'application/json',
-        Authorization: userStore.getToken ? `Bearer ${userStore.getToken}` : null
-      }
-    })
-    return {
-      error
-    }
+    EditAccess
   },
   data () {
     return {
@@ -488,7 +463,6 @@ export default {
     this.modifyOwner.id = this.database.owner.id
   },
   methods: {
-    errorCodeKey,
     submit () {
       this.$refs.form.validate()
     },
diff --git a/dbrepo-ui/pages/database/[database_id]/subset/[subset_id]/data.vue b/dbrepo-ui/pages/database/[database_id]/subset/[subset_id]/data.vue
index 01ebb72efb..37c34a7167 100644
--- a/dbrepo-ui/pages/database/[database_id]/subset/[subset_id]/data.vue
+++ b/dbrepo-ui/pages/database/[database_id]/subset/[subset_id]/data.vue
@@ -53,30 +53,12 @@ import QueryResults from '@/components/subset/Results.vue'
 import SubsetToolbar from '@/components/subset/SubsetToolbar.vue'
 import { formatTimestampUTCLabel } from '@/utils'
 import { useCacheStore } from '@/stores/cache'
-import {useUserStore} from "~/stores/user.js";
 
 export default {
   components: {
     SubsetToolbar,
     QueryResults
   },
-  setup () {
-    const config = useRuntimeConfig()
-    const userStore = useUserStore()
-    const { database_id, subset_id } = useRoute().params
-    const { error, data } = useFetch(`${config.public.api.server}/api/database/${database_id}/subset/${subset_id}`, {
-      immediate: true,
-      timeout: 90_000,
-      headers: {
-        Accept: 'application/json',
-        Authorization: userStore.getToken ? `Bearer ${userStore.getToken}` : null
-      }
-    })
-    return {
-      subset: data,
-      error
-    }
-  },
   data () {
     return {
       loadingSubset: false,
@@ -111,6 +93,9 @@ export default {
     database () {
       return this.cacheStore.getDatabase
     },
+    subset () {
+      return this.cacheStore.getSubset
+    },
     executionUTC () {
       if (!this.subset) {
         return null
@@ -186,5 +171,3 @@ export default {
   }
 }
 </script>
-<style>
-</style>
diff --git a/dbrepo-ui/pages/database/[database_id]/subset/[subset_id]/info.vue b/dbrepo-ui/pages/database/[database_id]/subset/[subset_id]/info.vue
index 88add5804e..f27153bebf 100644
--- a/dbrepo-ui/pages/database/[database_id]/subset/[subset_id]/info.vue
+++ b/dbrepo-ui/pages/database/[database_id]/subset/[subset_id]/info.vue
@@ -102,28 +102,6 @@ export default {
     SubsetToolbar,
     UserBadge
   },
-  setup () {
-    const config = useRuntimeConfig()
-    const userStore = useUserStore()
-    const { database_id, subset_id } = useRoute().params
-    const { error, data } = useFetch(`${config.public.api.server}/api/database/${database_id}/subset/${subset_id}`, {
-      immediate: true,
-      timeout: 90_000,
-      headers: {
-        Accept: 'application/json',
-        Authorization: userStore.getToken ? `Bearer ${userStore.getToken}` : null
-      }
-    })
-    if (data.value) {
-      const identifierService = useIdentifierService()
-      useServerHead(identifierService.subsetToServerHead(data.value))
-      useServerSeoMeta(identifierService.subsetToServerSeoMeta(data.value))
-    }
-    return {
-      subset: data,
-      error
-    }
-  },
   data () {
     return {
       items: [
@@ -170,6 +148,9 @@ export default {
     access () {
       return this.userStore.getAccess
     },
+    subset () {
+      return this.cacheStore.getSubset
+    },
     user () {
       return this.userStore.getUser
     },
diff --git a/dbrepo-ui/pages/database/[database_id]/subset/[subset_id]/persist/[identifier_id]/index.vue b/dbrepo-ui/pages/database/[database_id]/subset/[subset_id]/persist/[identifier_id]/index.vue
index a3b7306643..b15ecb3292 100644
--- a/dbrepo-ui/pages/database/[database_id]/subset/[subset_id]/persist/[identifier_id]/index.vue
+++ b/dbrepo-ui/pages/database/[database_id]/subset/[subset_id]/persist/[identifier_id]/index.vue
@@ -1,6 +1,9 @@
 <template>
-  <div v-if="canCreateIdentifier || canUpdateIdentifier">
-    <Persist type="subset" :database="database" />
+  <div
+    v-if="canCreateIdentifier || canUpdateIdentifier">
+    <Persist
+      type="subset"
+      :database="database" />
     <v-breadcrumbs :items="items" class="pa-0 mt-2" />
   </div>
 </template>
diff --git a/dbrepo-ui/pages/database/[database_id]/subset/[subset_id]/persist/index.vue b/dbrepo-ui/pages/database/[database_id]/subset/[subset_id]/persist/index.vue
index 01ba88a36c..07be66bc73 100644
--- a/dbrepo-ui/pages/database/[database_id]/subset/[subset_id]/persist/index.vue
+++ b/dbrepo-ui/pages/database/[database_id]/subset/[subset_id]/persist/index.vue
@@ -1,6 +1,10 @@
 <template>
-  <div v-if="canPersistQuery">
-    <Persist type="subset" :database="database" :query="query" />
+  <div
+    v-if="canPersistQuery">
+    <Persist
+      type="subset"
+      :database="database"
+      :query="query" />
     <v-breadcrumbs :items="items" class="pa-0 mt-2" />
   </div>
 </template>
diff --git a/dbrepo-ui/pages/database/[database_id]/subset/create.vue b/dbrepo-ui/pages/database/[database_id]/subset/create.vue
index 5202bc6336..b533dfb1a8 100644
--- a/dbrepo-ui/pages/database/[database_id]/subset/create.vue
+++ b/dbrepo-ui/pages/database/[database_id]/subset/create.vue
@@ -1,5 +1,6 @@
 <template>
-  <div v-if="canCreateSubset">
+  <div
+    v-if="canCreateSubset">
     <Builder />
     <v-breadcrumbs :items="items" class="pa-0 mt-2" />
   </div>
diff --git a/dbrepo-ui/pages/database/[database_id]/subset/index.vue b/dbrepo-ui/pages/database/[database_id]/subset/index.vue
index 7866e6d5de..d031b3f3f6 100644
--- a/dbrepo-ui/pages/database/[database_id]/subset/index.vue
+++ b/dbrepo-ui/pages/database/[database_id]/subset/index.vue
@@ -5,39 +5,16 @@
     <SubsetList />
     <v-breadcrumbs :items="items" class="pa-0 mt-2" />
   </div>
-  <JumboBox
-    v-if="error"
-    :title="$t(errorCodeKey(error).title, { resource: 'subset' })"
-    :subtitle="$t(errorCodeKey(error).subtitle)"
-    :text="$t(errorCodeKey(error).text, { resource: 'subset' })" />
 </template>
 
 <script>
 import SubsetList from '@/components/subset/SubsetList.vue'
-import { errorCodeKey } from '@/utils'
 import { useCacheStore } from '@/stores/cache'
 
 export default {
   components: {
     SubsetList
   },
-  setup () {
-    const config = useRuntimeConfig()
-    const userStore = useUserStore()
-    const { database_id } = useRoute().params
-    const { error } = useFetch(`${config.public.api.server}/api/database/${database_id}`, {
-      immediate: true,
-      method: 'HEAD',
-      timeout: 90_000,
-      headers: {
-        Accept: 'application/json',
-        Authorization: userStore.getToken ? `Bearer ${userStore.getToken}` : null
-      }
-    })
-    return {
-      error
-    }
-  },
   data () {
     return {
       items: [
@@ -68,9 +45,6 @@ export default {
       }
       return this.database
     }
-  },
-  methods: {
-    errorCodeKey
   }
 }
 </script>
diff --git a/dbrepo-ui/pages/database/[database_id]/table/[table_id]/data.vue b/dbrepo-ui/pages/database/[database_id]/table/[table_id]/data.vue
index 10c1bc8ccf..46e7f564a7 100644
--- a/dbrepo-ui/pages/database/[database_id]/table/[table_id]/data.vue
+++ b/dbrepo-ui/pages/database/[database_id]/table/[table_id]/data.vue
@@ -102,30 +102,18 @@
     </v-dialog>
     <v-breadcrumbs :items="items" class="pa-0 mt-2" />
   </div>
-  <JumboBox
-    v-if="error"
-    :title="$t(errorCodeKey(error).title, { resource: 'table' })"
-    :subtitle="$t(errorCodeKey(error).subtitle)"
-    :text="$t(errorCodeKey(error).text, { resource: 'table' })" />
 </template>
 
-<script setup>
-import { ref } from 'vue'
-
-const runtimeConfig = useRuntimeConfig()
-const config = ref(runtimeConfig)
-</script>
 <script>
 import TableHistory from '@/components/table/TableHistory.vue'
 import TimeDrift from '@/components/TimeDrift.vue'
 import TableToolbar from '@/components/table/TableToolbar.vue'
-import { errorCodeKey, formatTimestamp } from '@/utils'
+import { formatTimestamp } from '@/utils'
 import { useUserStore } from '@/stores/user'
 import { useCacheStore } from '@/stores/cache'
 import EditTuple from '@/components/dialogs/EditTuple.vue'
 import BlobDownload from '@/components/table/BlobDownload.vue'
 import QueryResults from '@/components/subset/Results.vue'
-import JumboBox from '@/components/JumboBox.vue'
 
 export default {
   components: {
@@ -134,24 +122,7 @@ export default {
     EditTuple,
     TableHistory,
     TableToolbar,
-    TimeDrift,
-    JumboBox
-  },
-  setup () {
-    const userStore = useUserStore()
-    const { database_id, table_id } = useRoute().params
-    const { error } = useFetch(`${this.config.public.api.server}/api/database/${database_id}/table/${table_id}`, {
-      immediate: true,
-      method: 'HEAD',
-      timeout: 90_000,
-      headers: {
-        Accept: 'application/json',
-        Authorization: userStore.getToken ? `Bearer ${userStore.getToken}` : null
-      }
-    })
-    return {
-      error
-    }
+    TimeDrift
   },
   data () {
     return {
@@ -325,7 +296,6 @@ export default {
     this.reload()
   },
   methods: {
-    errorCodeKey,
     addTuple () {
       this.tuple = {}
       this.columns.forEach((c) => {
diff --git a/dbrepo-ui/pages/database/[database_id]/table/[table_id]/import.vue b/dbrepo-ui/pages/database/[database_id]/table/[table_id]/import.vue
index 0e51854700..9da3e1c9fd 100644
--- a/dbrepo-ui/pages/database/[database_id]/table/[table_id]/import.vue
+++ b/dbrepo-ui/pages/database/[database_id]/table/[table_id]/import.vue
@@ -26,46 +26,16 @@
     </v-card>
     <v-breadcrumbs :items="items" class="pa-0 mt-2" />
   </div>
-  <JumboBox
-    v-if="error"
-    :title="$t(errorCodeKey(error).title, { resource: 'table' })"
-    :subtitle="$t(errorCodeKey(error).subtitle)"
-    :text="$t(errorCodeKey(error).text, { resource: 'table' })" />
 </template>
 
-<script setup>
-import { ref } from 'vue'
-
-const runtimeConfig = useRuntimeConfig()
-const config = ref(runtimeConfig)
-</script>
 <script>
 import TableImport from '@/components/table/TableImport.vue'
-import JumboBox from '@/components/JumboBox.vue'
 import { useUserStore } from '@/stores/user'
 import { useCacheStore } from '@/stores/cache'
-import { errorCodeKey } from '@/utils'
 
 export default {
   components: {
-    TableImport,
-    JumboBox
-  },
-  setup () {
-    const userStore = useUserStore()
-    const { database_id, table_id } = useRoute().params
-    const { error } = useFetch(`${this.config.public.api.server}/api/database/${database_id}/table/${table_id}`, {
-      immediate: true,
-      method: 'HEAD',
-      timeout: 90_000,
-      headers: {
-        Accept: 'application/json',
-        Authorization: userStore.getToken ? `Bearer ${userStore.getToken}` : null
-      }
-    })
-    return {
-      error
-    }
+    TableImport
   },
   data () {
     return {
@@ -125,9 +95,6 @@ export default {
       }
       return this.roles.includes('insert-table-data')
     }
-  },
-  methods: {
-    errorCodeKey
   }
 }
 </script>
diff --git a/dbrepo-ui/pages/database/[database_id]/table/[table_id]/info.vue b/dbrepo-ui/pages/database/[database_id]/table/[table_id]/info.vue
index 5171d1861a..8108e0677e 100644
--- a/dbrepo-ui/pages/database/[database_id]/table/[table_id]/info.vue
+++ b/dbrepo-ui/pages/database/[database_id]/table/[table_id]/info.vue
@@ -116,57 +116,22 @@
     </v-card>
     <v-breadcrumbs :items="items" class="pa-0 mt-2" />
   </div>
-  <JumboBox
-    v-if="error"
-    :title="$t(errorCodeKey(error).title, { resource: 'table' })"
-    :subtitle="$t(errorCodeKey(error).subtitle)"
-    :text="$t(errorCodeKey(error).text, { resource: 'table' })" />
 </template>
 
-<script setup>
-import { ref } from 'vue'
-
-const runtimeConfig = useRuntimeConfig()
-const config = ref(runtimeConfig)
-</script>
 <script>
 import TableToolbar from '@/components/table/TableToolbar.vue'
-import JumboBox from '@/components/JumboBox.vue'
 import Select from '@/components/identifier/Select.vue'
 import Summary from '@/components/identifier/Summary.vue'
 import UserBadge from '@/components/user/UserBadge.vue'
 import { useUserStore } from '@/stores/user'
 import { useCacheStore } from '@/stores/cache'
-import { errorCodeKey } from '@/utils'
 
 export default {
   components: {
     Summary,
     Select,
     TableToolbar,
-    UserBadge,
-    JumboBox
-  },
-  setup () {
-    const userStore = useUserStore()
-    const { database_id, table_id } = useRoute().params
-    const { error, data } = useFetch(`${this.config.public.api.server}/api/database/${database_id}/table/${table_id}`, {
-      immediate: true,
-      method: 'GET',
-      timeout: 90_000,
-      headers: {
-        Accept: 'application/json',
-        Authorization: userStore.getToken ? `Bearer ${userStore.getToken}` : null
-      }
-    })
-    if (data.value) {
-      const identifierService = useIdentifierService()
-      useServerHead(identifierService.databaseToServerHead(data.value))
-      useServerSeoMeta(identifierService.databaseToServerSeoMeta(data.value))
-    }
-    return {
-      error
-    }
+    UserBadge
   },
   data () {
     return {
@@ -319,9 +284,6 @@ export default {
         return this.$t('pages.table.connection.permissions.read')
       }
     }
-  },
-  methods: {
-    errorCodeKey
-  },
+  }
 }
 </script>
diff --git a/dbrepo-ui/pages/database/[database_id]/table/[table_id]/persist/[identifier_id]/index.vue b/dbrepo-ui/pages/database/[database_id]/table/[table_id]/persist/[identifier_id]/index.vue
index d0b72a436e..d444ca4e62 100644
--- a/dbrepo-ui/pages/database/[database_id]/table/[table_id]/persist/[identifier_id]/index.vue
+++ b/dbrepo-ui/pages/database/[database_id]/table/[table_id]/persist/[identifier_id]/index.vue
@@ -4,46 +4,16 @@
     <Persist type="table" :database="database" />
     <v-breadcrumbs :items="items" class="pa-0 mt-2" />
   </div>
-  <JumboBox
-    v-if="error"
-    :title="$t(errorCodeKey(error).title, { resource: 'identifier' })"
-    :subtitle="$t(errorCodeKey(error).subtitle)"
-    :text="$t(errorCodeKey(error).text, { resource: 'identifier' })" />
 </template>
 
-<script setup>
-import { ref } from 'vue'
-
-const runtimeConfig = useRuntimeConfig()
-const config = ref(runtimeConfig)
-</script>
 <script>
 import Persist from '@/components/identifier/Persist.vue'
-import JumboBox from '@/components/JumboBox.vue'
 import { useUserStore } from '@/stores/user'
 import { useCacheStore } from '@/stores/cache'
-import { errorCodeKey } from '@/utils'
 
 export default {
   components: {
-    Persist,
-    JumboBox
-  },
-  setup () {
-    const userStore = useUserStore()
-    const { database_id, table_id } = useRoute().params
-    const { error } = useFetch(`${this.config.public.api.server}/api/database/${database_id}/table/${table_id}`, {
-      immediate: true,
-      method: 'HEAD',
-      timeout: 90_000,
-      headers: {
-        Accept: 'application/json',
-        Authorization: userStore.getToken ? `Bearer ${userStore.getToken}` : null
-      }
-    })
-    return {
-      error
-    }
+    Persist
   },
   data () {
     return {
@@ -104,9 +74,6 @@ export default {
       }
       return this.roles.includes('modify-identifier-metadata')
     }
-  },
-  methods: {
-    errorCodeKey
   }
 }
 </script>
diff --git a/dbrepo-ui/pages/database/[database_id]/table/[table_id]/persist/index.vue b/dbrepo-ui/pages/database/[database_id]/table/[table_id]/persist/index.vue
index f807001353..af5b613df9 100644
--- a/dbrepo-ui/pages/database/[database_id]/table/[table_id]/persist/index.vue
+++ b/dbrepo-ui/pages/database/[database_id]/table/[table_id]/persist/index.vue
@@ -9,46 +9,16 @@
       :items="items"
       class="pa-0 mt-2" />
   </div>
-  <JumboBox
-    v-if="error"
-    :title="$t(errorCodeKey(error).title, { resource: 'identifier' })"
-    :subtitle="$t(errorCodeKey(error).subtitle)"
-    :text="$t(errorCodeKey(error).text, { resource: 'identifier' })" />
 </template>
 
-<script setup>
-import { ref } from 'vue'
-
-const runtimeConfig = useRuntimeConfig()
-const config = ref(runtimeConfig)
-</script>
 <script>
 import Persist from '@/components/identifier/Persist.vue'
-import JumboBox from '@/components/JumboBox.vue'
 import { useUserStore } from '@/stores/user'
 import { useCacheStore } from '@/stores/cache'
-import { errorCodeKey } from '@/utils'
 
 export default {
   components: {
-    Persist,
-    JumboBox
-  },
-  setup () {
-    const userStore = useUserStore()
-    const { database_id, table_id } = useRoute().params
-    const { error, data } = useFetch(`${this.config.public.api.server}/api/database/${database_id}/table/${table_id}`, {
-      immediate: true,
-      method: 'HEAD',
-      timeout: 90_000,
-      headers: {
-        Accept: 'application/json',
-        Authorization: userStore.getToken ? `Bearer ${userStore.getToken}` : null
-      }
-    })
-    return {
-      error
-    }
+    Persist
   },
   data () {
     return {
@@ -102,9 +72,6 @@ export default {
       const userService = useUserService()
       return userService.hasReadAccess(this.access)
     }
-  },
-  methods: {
-    errorCodeKey
   }
 }
 </script>
diff --git a/dbrepo-ui/pages/database/[database_id]/table/[table_id]/schema.vue b/dbrepo-ui/pages/database/[database_id]/table/[table_id]/schema.vue
index 320ebe3d75..0c92401672 100644
--- a/dbrepo-ui/pages/database/[database_id]/table/[table_id]/schema.vue
+++ b/dbrepo-ui/pages/database/[database_id]/table/[table_id]/schema.vue
@@ -118,46 +118,16 @@
       :items="items"
       class="pa-0 mt-2" />
   </div>
-  <JumboBox
-    v-if="error"
-    :title="$t(errorCodeKey(error).title, { resource: 'table' })"
-    :subtitle="$t(errorCodeKey(error).subtitle)"
-    :text="$t(errorCodeKey(error).text, { resource: 'table' })" />
 </template>
 
-<script setup>
-import { ref } from 'vue'
-
-const runtimeConfig = useRuntimeConfig()
-const config = ref(runtimeConfig)
-</script>
 <script>
 import TableToolbar from '@/components/table/TableToolbar.vue'
-import JumboBox from '@/components/JumboBox.vue'
 import { useUserStore } from '@/stores/user'
 import { useCacheStore } from '@/stores/cache'
-import { errorCodeKey } from '@/utils'
 
 export default {
   components: {
-    TableToolbar,
-    JumboBox
-  },
-  setup () {
-    const userStore = useUserStore()
-    const { database_id, table_id } = useRoute().params
-    const { error } = useFetch(`${this.config.public.api.server}/api/database/${database_id}/table/${table_id}`, {
-      immediate: true,
-      method: 'HEAD',
-      timeout: 90_000,
-      headers: {
-        Accept: 'application/json',
-        Authorization: userStore.getToken ? `Bearer ${userStore.getToken}` : null
-      }
-    })
-    return {
-      error
-    }
+    TableToolbar
   },
   data () {
     return {
@@ -268,7 +238,6 @@ export default {
     }
   },
   methods: {
-    errorCodeKey,
     extra (column) {
       if (column.type === 'float') {
         return `precision=${column.size}`
diff --git a/dbrepo-ui/pages/database/[database_id]/table/[table_id]/settings.vue b/dbrepo-ui/pages/database/[database_id]/table/[table_id]/settings.vue
index f51851b220..201917c5c0 100644
--- a/dbrepo-ui/pages/database/[database_id]/table/[table_id]/settings.vue
+++ b/dbrepo-ui/pages/database/[database_id]/table/[table_id]/settings.vue
@@ -112,46 +112,17 @@
       :items="items"
       class="pa-0 mt-2" />
   </div>
-  <JumboBox
-    v-if="error"
-    :title="$t(errorCodeKey(error).title, { resource: 'table' })"
-    :subtitle="$t(errorCodeKey(error).subtitle)"
-    :text="$t(errorCodeKey(error).text, { resource: 'table' })" />
 </template>
 
-<script setup>
-import { ref } from 'vue'
-
-const runtimeConfig = useRuntimeConfig()
-const config = ref(runtimeConfig)
-</script>
 <script>
-import JumboBox from '@/components/JumboBox.vue'
 import TableToolbar from '@/components/table/TableToolbar.vue'
 import { useUserStore } from '@/stores/user'
 import { useCacheStore } from '@/stores/cache'
-import { errorCodeKey, max } from '@/utils'
+import { max } from '@/utils'
 
 export default {
   components: {
-    TableToolbar,
-    JumboBox
-  },
-  setup () {
-    const userStore = useUserStore()
-    const { database_id, table_id } = useRoute().params
-    const { error } = useFetch(`${this.config.public.api.server}/api/database/${database_id}/table/${table_id}`, {
-      immediate: true,
-      method: 'HEAD',
-      timeout: 90_000,
-      headers: {
-        Accept: 'application/json',
-        Authorization: userStore.getToken ? `Bearer ${userStore.getToken}` : null
-      }
-    })
-    return {
-      error
-    }
+    TableToolbar
   },
   data () {
     return {
@@ -283,7 +254,6 @@ export default {
   },
   methods: {
     max,
-    errorCodeKey,
     submit () {
       this.$refs.form.validate()
     },
diff --git a/dbrepo-ui/pages/database/[database_id]/table/create/dataset.vue b/dbrepo-ui/pages/database/[database_id]/table/create/dataset.vue
index 2d1729d7cd..b031c846ea 100644
--- a/dbrepo-ui/pages/database/[database_id]/table/create/dataset.vue
+++ b/dbrepo-ui/pages/database/[database_id]/table/create/dataset.vue
@@ -217,22 +217,11 @@
     </v-form>
     <v-breadcrumbs :items="items" class="pa-0 mt-2"/>
   </div>
-  <JumboBox
-    v-if="error"
-    :title="$t(errorCodeKey(error).title, { resource: 'table' })"
-    :subtitle="$t(errorCodeKey(error).subtitle)"
-    :text="$t(errorCodeKey(error).text, { resource: 'table' })" />
 </template>
 
-<script setup>
-import { ref } from 'vue'
-
-const runtimeConfig = useRuntimeConfig()
-const config = ref(runtimeConfig)
-</script>
 <script>
 import TableSchema from '@/components/table/TableSchema.vue'
-import { notEmpty, errorCodeKey } from '@/utils'
+import { notEmpty } from '@/utils'
 import { useUserStore } from '@/stores/user'
 import { useCacheStore } from '@/stores/cache'
 
@@ -240,22 +229,6 @@ export default {
   components: {
     TableSchema
   },
-  setup () {
-    const userStore = useUserStore()
-    const { database_id } = useRoute().params
-    const { error } = useFetch(`${this.config.public.api.server}/api/database/${database_id}`, {
-      immediate: true,
-      method: 'HEAD',
-      timeout: 90_000,
-      headers: {
-        Accept: 'application/json',
-        Authorization: userStore.getToken ? `Bearer ${userStore.getToken}` : null
-      }
-    })
-    return {
-      error
-    }
-  },
   data() {
     return {
       step: 1,
@@ -392,7 +365,6 @@ export default {
   },
   methods: {
     notEmpty,
-    errorCodeKey,
     submit() {
       this.$refs.form.validate()
     },
diff --git a/dbrepo-ui/pages/database/[database_id]/table/create/schema.vue b/dbrepo-ui/pages/database/[database_id]/table/create/schema.vue
index 946b084ba8..5f433013bf 100644
--- a/dbrepo-ui/pages/database/[database_id]/table/create/schema.vue
+++ b/dbrepo-ui/pages/database/[database_id]/table/create/schema.vue
@@ -183,30 +183,17 @@
     </v-card>
     <v-breadcrumbs :items="items" class="pa-0 mt-2" />
   </div>
-  <JumboBox
-    v-if="error"
-    :title="$t(errorCodeKey(error).title, { resource: 'table' })"
-    :subtitle="$t(errorCodeKey(error).subtitle)"
-    :text="$t(errorCodeKey(error).text, { resource: 'table' })" />
 </template>
 
-<script setup>
-import { ref } from 'vue'
-
-const runtimeConfig = useRuntimeConfig()
-const config = ref(runtimeConfig)
-</script>
 <script>
 import TableSchema from '@/components/table/TableSchema.vue'
-import JumboBox from '@/components/JumboBox.vue'
-import { notEmpty, errorCodeKey } from '@/utils'
+import { notEmpty } from '@/utils'
 import { useUserStore } from '@/stores/user'
 import { useCacheStore } from '@/stores/cache'
 
 export default {
   components: {
-    TableSchema,
-    JumboBox
+    TableSchema
   },
   data () {
     return {
@@ -320,7 +307,6 @@ export default {
   },
   methods: {
     notEmpty,
-    errorCodeKey,
     submit () {
       this.$refs.form.validate()
     },
diff --git a/dbrepo-ui/pages/database/[database_id]/table/index.vue b/dbrepo-ui/pages/database/[database_id]/table/index.vue
index 6511f963c6..2f1cf87ec8 100644
--- a/dbrepo-ui/pages/database/[database_id]/table/index.vue
+++ b/dbrepo-ui/pages/database/[database_id]/table/index.vue
@@ -10,24 +10,12 @@
       :items="items"
       class="pa-0 mt-2" />
   </div>
-  <JumboBox
-    v-if="error"
-    :title="$t(errorCodeKey(error).title, { resource: 'table' })"
-    :subtitle="$t(errorCodeKey(error).subtitle)"
-    :text="$t(errorCodeKey(error).text, { resource: 'table' })" />
 </template>
 
-<script setup>
-import { ref } from 'vue'
-
-const runtimeConfig = useRuntimeConfig()
-const config = ref(runtimeConfig)
-</script>
 <script>
 import TableList from '@/components/table/TableList.vue'
 import DatabaseToolbar from '@/components/database/DatabaseToolbar.vue'
 import { useCacheStore } from '@/stores/cache'
-import { errorCodeKey } from '@/utils'
 
 export default {
   name: 'Tables',
@@ -35,22 +23,6 @@ export default {
     TableList,
     DatabaseToolbar
   },
-  setup () {
-    const userStore = useUserStore()
-    const { database_id } = useRoute().params
-    const { error } = useFetch(`${this.config.public.api.server}/api/database/${database_id}`, {
-      immediate: true,
-      method: 'HEAD',
-      timeout: 90_000,
-      headers: {
-        Accept: 'application/json',
-        Authorization: userStore.getToken ? `Bearer ${userStore.getToken}` : null
-      }
-    })
-    return {
-      error
-    }
-  },
   data () {
     return {
       tab: 0,
@@ -82,9 +54,6 @@ export default {
       }
       return this.database
     }
-  },
-  methods: {
-    errorCodeKey
   }
 }
 </script>
diff --git a/dbrepo-ui/pages/database/[database_id]/view/[view_id]/data.vue b/dbrepo-ui/pages/database/[database_id]/view/[view_id]/data.vue
index 3f0ebc1844..f4c81f43f0 100644
--- a/dbrepo-ui/pages/database/[database_id]/view/[view_id]/data.vue
+++ b/dbrepo-ui/pages/database/[database_id]/view/[view_id]/data.vue
@@ -32,47 +32,17 @@
     </v-card>
     <v-breadcrumbs :items="items" class="pa-0 mt-2" />
   </div>
-  <JumboBox
-    v-if="error"
-    :title="$t(errorCodeKey(error).title, { resource: 'view' })"
-    :subtitle="$t(errorCodeKey(error).subtitle)"
-    :text="$t(errorCodeKey(error).text, { resource: 'view' })" />
 </template>
 
-<script setup>
-import { ref } from 'vue'
-
-const runtimeConfig = useRuntimeConfig()
-const config = ref(runtimeConfig)
-</script>
 <script>
 import TimeDrift from '@/components/TimeDrift.vue'
-import JumboBox from '@/components/JumboBox.vue'
 import QueryResults from '@/components/subset/Results.vue'
 import { useUserStore } from '@/stores/user'
-import { errorCodeKey } from '@/utils'
 
 export default {
   components: {
     QueryResults,
-    TimeDrift,
-    JumboBox
-  },
-  setup () {
-    const userStore = useUserStore()
-    const { database_id, view_id } = useRoute().params
-    const { error } = useFetch(`${this.config.public.api.server}/api/database/${database_id}/view/${view_id}`, {
-      immediate: true,
-      method: 'HEAD',
-      timeout: 90_000,
-      headers: {
-        Accept: 'application/json',
-        Authorization: userStore.getToken ? `Bearer ${userStore.getToken}` : null
-      }
-    })
-    return {
-      error
-    }
+    TimeDrift
   },
   data () {
     return {
@@ -143,7 +113,6 @@ export default {
     this.reload()
   },
   methods: {
-    errorCodeKey,
     reload () {
       this.$refs.queryResults.reExecute(Number(this.$route.params.view_id))
       this.$refs.queryResults.reExecuteCount(Number(this.$route.params.view_id))
diff --git a/dbrepo-ui/pages/database/[database_id]/view/[view_id]/info.vue b/dbrepo-ui/pages/database/[database_id]/view/[view_id]/info.vue
index 61bdb4c379..43bfb2b390 100644
--- a/dbrepo-ui/pages/database/[database_id]/view/[view_id]/info.vue
+++ b/dbrepo-ui/pages/database/[database_id]/view/[view_id]/info.vue
@@ -57,26 +57,14 @@
     </v-window>
     <v-breadcrumbs :items="items" class="pa-0 mt-2" />
   </div>
-  <JumboBox
-    v-if="error"
-    :title="$t(errorCodeKey(error).title, { resource: 'view' })"
-    :subtitle="$t(errorCodeKey(error).subtitle)"
-    :text="$t(errorCodeKey(error).text, { resource: 'view' })" />
 </template>
 
-<script setup>
-import { ref } from 'vue'
-
-const runtimeConfig = useRuntimeConfig()
-const config = ref(runtimeConfig)
-</script>
 <script>
 import ViewToolbar from '@/components/view/ViewToolbar.vue'
 import Summary from '@/components/identifier/Summary.vue'
 import Select from '@/components/identifier/Select.vue'
 import UserBadge from '@/components/user/UserBadge.vue'
-import JumboBox from '@/components/JumboBox.vue'
-import { formatTimestampUTCLabel, errorCodeKey } from '@/utils'
+import { formatTimestampUTCLabel } from '@/utils'
 import { useUserStore } from '@/stores/user'
 import { useCacheStore } from '@/stores/cache'
 
@@ -85,30 +73,7 @@ export default {
     Select,
     Summary,
     ViewToolbar,
-    UserBadge,
-    JumboBox
-  },
-  setup () {
-    const userStore = useUserStore()
-    const { database_id, view_id } = useRoute().params
-    const { error, data } = useFetch(`${this.config.public.api.server}/api/database/${database_id}/view/${view_id}`, {
-      immediate: true,
-      method: 'GET',
-      timeout: 90_000,
-      headers: {
-        Accept: 'application/json',
-        Authorization: userStore.getToken ? `Bearer ${userStore.getToken}` : null
-      }
-    })
-    if (data.value) {
-      const identifierService = useIdentifierService()
-      useServerHead(identifierService.viewToServerHead(data.value))
-      useServerSeoMeta(identifierService.viewToServerSeoMeta(data.value))
-    }
-    return {
-      view: data,
-      error
-    }
+    UserBadge
   },
   data () {
     return {
@@ -221,7 +186,6 @@ export default {
     }
   },
   methods: {
-    errorCodeKey,
     formatUTC (timestamp) {
       return formatTimestampUTCLabel(timestamp)
     }
diff --git a/dbrepo-ui/pages/database/[database_id]/view/[view_id]/persist/[identifier_id]/index.vue b/dbrepo-ui/pages/database/[database_id]/view/[view_id]/persist/[identifier_id]/index.vue
index 11b0f60c00..86db06f196 100644
--- a/dbrepo-ui/pages/database/[database_id]/view/[view_id]/persist/[identifier_id]/index.vue
+++ b/dbrepo-ui/pages/database/[database_id]/view/[view_id]/persist/[identifier_id]/index.vue
@@ -6,46 +6,16 @@
       :database="database" />
     <v-breadcrumbs :items="items" class="pa-0 mt-2" />
   </div>
-  <JumboBox
-    v-if="error"
-    :title="$t(errorCodeKey(error).title, { resource: 'view' })"
-    :subtitle="$t(errorCodeKey(error).subtitle)"
-    :text="$t(errorCodeKey(error).text, { resource: 'view' })" />
 </template>
 
-<script setup>
-import { ref } from 'vue'
-
-const runtimeConfig = useRuntimeConfig()
-const config = ref(runtimeConfig)
-</script>
 <script>
 import Persist from '@/components/identifier/Persist.vue'
-import JumboBox from '@/components/JumboBox.vue'
 import { useUserStore } from '@/stores/user'
 import { useCacheStore } from '@/stores/cache'
-import { errorCodeKey } from '@/utils'
 
 export default {
   components: {
-    Persist,
-    JumboBox
-  },
-  setup () {
-    const userStore = useUserStore()
-    const { database_id, view_id } = useRoute().params
-    const { error } = useFetch(`${this.config.public.api.server}/api/database/${database_id}/view/${view_id}`, {
-      immediate: true,
-      method: 'HEAD',
-      timeout: 90_000,
-      headers: {
-        Accept: 'application/json',
-        Authorization: userStore.getToken ? `Bearer ${userStore.getToken}` : null
-      }
-    })
-    return {
-      error
-    }
+    Persist
   },
   data () {
     return {
@@ -106,9 +76,6 @@ export default {
       }
       return this.roles.includes('modify-identifier-metadata')
     }
-  },
-  methods: {
-    errorCodeKey
   }
 }
 </script>
diff --git a/dbrepo-ui/pages/database/[database_id]/view/[view_id]/persist/index.vue b/dbrepo-ui/pages/database/[database_id]/view/[view_id]/persist/index.vue
index 3a2f0f793f..f3a3e18f9d 100644
--- a/dbrepo-ui/pages/database/[database_id]/view/[view_id]/persist/index.vue
+++ b/dbrepo-ui/pages/database/[database_id]/view/[view_id]/persist/index.vue
@@ -7,46 +7,16 @@
       :view="view" />
     <v-breadcrumbs :items="items" class="pa-0 mt-2" />
   </div>
-  <JumboBox
-    v-if="error"
-    :title="$t(errorCodeKey(error).title, { resource: 'view' })"
-    :subtitle="$t(errorCodeKey(error).subtitle)"
-    :text="$t(errorCodeKey(error).text, { resource: 'view' })" />
 </template>
 
-<script setup>
-import { ref } from 'vue'
-
-const runtimeConfig = useRuntimeConfig()
-const config = ref(runtimeConfig)
-</script>
 <script>
 import Persist from '@/components/identifier/Persist.vue'
-import JumboBox from '@/components/JumboBox.vue'
 import { useUserStore } from '@/stores/user'
 import { useCacheStore } from '@/stores/cache'
-import { errorCodeKey } from '@/utils'
 
 export default {
   components: {
-    Persist,
-    JumboBox
-  },
-  setup () {
-    const userStore = useUserStore()
-    const { database_id, view_id } = useRoute().params
-    const { error } = useFetch(`${this.config.public.api.server}/api/database/${database_id}/view/${view_id}`, {
-      immediate: true,
-      method: 'HEAD',
-      timeout: 90_000,
-      headers: {
-        Accept: 'application/json',
-        Authorization: userStore.getToken ? `Bearer ${userStore.getToken}` : null
-      }
-    })
-    return {
-      error
-    }
+    Persist
   },
   data () {
     return {
@@ -102,9 +72,6 @@ export default {
       const userService = useUserService()
       return userService.hasReadAccess(this.access)
     }
-  },
-  methods: {
-    errorCodeKey
   }
 }
 </script>
diff --git a/dbrepo-ui/pages/database/[database_id]/view/[view_id]/schema.vue b/dbrepo-ui/pages/database/[database_id]/view/[view_id]/schema.vue
index e8a8435d88..e126e19d90 100644
--- a/dbrepo-ui/pages/database/[database_id]/view/[view_id]/schema.vue
+++ b/dbrepo-ui/pages/database/[database_id]/view/[view_id]/schema.vue
@@ -49,46 +49,16 @@
       :items="items"
       class="pa-0 mt-2" />
   </div>
-  <JumboBox
-    v-if="error"
-    :title="$t(errorCodeKey(error).title, { resource: 'view' })"
-    :subtitle="$t(errorCodeKey(error).subtitle)"
-    :text="$t(errorCodeKey(error).text, { resource: 'view' })" />
 </template>
 
-<script setup>
-import { ref } from 'vue'
-
-const runtimeConfig = useRuntimeConfig()
-const config = ref(runtimeConfig)
-</script>
 <script>
 import TableToolbar from '@/components/table/TableToolbar.vue'
-import JumboBox from '@/components/JumboBox.vue'
 import { useUserStore } from '@/stores/user'
 import { useCacheStore } from '@/stores/cache'
-import { errorCodeKey } from '@/utils'
 
 export default {
   components: {
-    TableToolbar,
-    JumboBox
-  },
-  setup () {
-    const userStore = useUserStore()
-    const { database_id, view_id } = useRoute().params
-    const { error } = useFetch(`${this.config.public.api.server}/api/database/${database_id}/view/${view_id}`, {
-      immediate: true,
-      method: 'HEAD',
-      timeout: 90_000,
-      headers: {
-        Accept: 'application/json',
-        Authorization: userStore.getToken ? `Bearer ${userStore.getToken}` : null
-      }
-    })
-    return {
-      error
-    }
+    TableToolbar
   },
   data () {
     return {
@@ -173,7 +143,6 @@ export default {
     }
   },
   methods: {
-    errorCodeKey,
     extra (column) {
       if (column.type === 'float') {
         return `precision=${column.size}`
diff --git a/dbrepo-ui/pages/database/[database_id]/view/[view_id]/settings.vue b/dbrepo-ui/pages/database/[database_id]/view/[view_id]/settings.vue
index 8a65a34f27..27444c9e89 100644
--- a/dbrepo-ui/pages/database/[database_id]/view/[view_id]/settings.vue
+++ b/dbrepo-ui/pages/database/[database_id]/view/[view_id]/settings.vue
@@ -88,46 +88,16 @@
       :items="items"
       class="pa-0 mt-2" />
   </div>
-  <JumboBox
-    v-if="error"
-    :title="$t(errorCodeKey(error).title, { resource: 'view' })"
-    :subtitle="$t(errorCodeKey(error).subtitle)"
-    :text="$t(errorCodeKey(error).text, { resource: 'view' })" />
 </template>
 
-<script setup>
-import { ref } from 'vue'
-
-const runtimeConfig = useRuntimeConfig()
-const config = ref(runtimeConfig)
-</script>
 <script>
 import ViewToolbar from '@/components/view/ViewToolbar.vue'
-import JumboBox from '@/components/JumboBox.vue'
 import { useUserStore } from '@/stores/user'
 import { useCacheStore } from '@/stores/cache'
-import { errorCodeKey } from '@/utils'
 
 export default {
   components: {
-    ViewToolbar,
-    JumboBox
-  },
-  setup () {
-    const userStore = useUserStore()
-    const { database_id } = useRoute().params
-    const { error } = useFetch(`${this.config.public.api.server}/api/database/${database_id}`, {
-      immediate: true,
-      method: 'HEAD',
-      timeout: 90_000,
-      headers: {
-        Accept: 'application/json',
-        Authorization: userStore.getToken ? `Bearer ${userStore.getToken}` : null
-      }
-    })
-    return {
-      error
-    }
+    ViewToolbar
   },
   data () {
     return {
@@ -252,7 +222,6 @@ export default {
     this.modify.description = this.view.description
   },
   methods: {
-    errorCodeKey,
     submit () {
       this.$refs.form.validate()
     },
diff --git a/dbrepo-ui/pages/database/[database_id]/view/create.vue b/dbrepo-ui/pages/database/[database_id]/view/create.vue
index d1202980ec..060d186252 100644
--- a/dbrepo-ui/pages/database/[database_id]/view/create.vue
+++ b/dbrepo-ui/pages/database/[database_id]/view/create.vue
@@ -4,45 +4,15 @@
     <Builder mode="view" />
     <v-breadcrumbs :items="items" class="pa-0 mt-2" />
   </div>
-  <JumboBox
-    v-if="error"
-    :title="$t(errorCodeKey(error).title, { resource: 'view' })"
-    :subtitle="$t(errorCodeKey(error).subtitle)"
-    :text="$t(errorCodeKey(error).text, { resource: 'view' })" />
 </template>
 
-<script setup>
-import { ref } from 'vue'
-
-const runtimeConfig = useRuntimeConfig()
-const config = ref(runtimeConfig)
-</script>
 <script>
 import Builder from '@/components/subset/Builder.vue'
-import JumboBox from '@/components/JumboBox.vue'
 import { useUserStore } from '@/stores/user'
-import { errorCodeKey } from '@/utils'
 
 export default {
   components: {
-    Builder,
-    JumboBox
-  },
-  setup () {
-    const userStore = useUserStore()
-    const { database_id } = useRoute().params
-    const { error } = useFetch(`${this.config.public.api.server}/api/database/${database_id}`, {
-      immediate: true,
-      method: 'HEAD',
-      timeout: 90_000,
-      headers: {
-        Accept: 'application/json',
-        Authorization: userStore.getToken ? `Bearer ${userStore.getToken}` : null
-      }
-    })
-    return {
-      error
-    }
+    Builder
   },
   data () {
     return {
@@ -81,9 +51,6 @@ export default {
       }
       return this.roles.includes('create-database-view')
     }
-  },
-  methods: {
-    errorCodeKey
   }
 }
 </script>
diff --git a/dbrepo-ui/pages/database/[database_id]/view/index.vue b/dbrepo-ui/pages/database/[database_id]/view/index.vue
index ab244bbe8a..4172797328 100644
--- a/dbrepo-ui/pages/database/[database_id]/view/index.vue
+++ b/dbrepo-ui/pages/database/[database_id]/view/index.vue
@@ -10,49 +10,18 @@
       :items="items"
       class="pa-0 mt-2" />
   </div>
-  <JumboBox
-    v-if="error"
-    :title="$t(errorCodeKey(error).title, { resource: 'view' })"
-    :subtitle="$t(errorCodeKey(error).subtitle)"
-    :text="$t(errorCodeKey(error).text, { resource: 'view' })" />
 </template>
 
-<script setup>
-import { ref } from 'vue'
-
-const runtimeConfig = useRuntimeConfig()
-const config = ref(runtimeConfig)
-</script>
 <script>
 import DatabaseToolbar from '@/components/database/DatabaseToolbar.vue'
-import JumboBox from '@/components/JumboBox.vue'
 import ViewList from '@/components/view/ViewList.vue'
 import { useCacheStore } from '@/stores/cache'
-import { errorCodeKey } from '@/utils'
 
 export default {
   name: 'Views',
   components: {
     ViewList,
-    DatabaseToolbar,
-    JumboBox
-  },
-  setup () {
-    const config = useRuntimeConfig()
-    const userStore = useUserStore()
-    const { database_id } = useRoute().params
-    const { error } = useFetch(`${this.config.public.api.server}/api/database/${database_id}`, {
-      immediate: true,
-      method: 'HEAD',
-      timeout: 90_000,
-      headers: {
-        Accept: 'application/json',
-        Authorization: userStore.getToken ? `Bearer ${userStore.getToken}` : null
-      }
-    })
-    return {
-      error
-    }
+    DatabaseToolbar
   },
   data () {
     return {
@@ -85,9 +54,6 @@ export default {
       }
       return this.database
     }
-  },
-  methods: {
-    errorCodeKey
   }
 }
 </script>
diff --git a/dbrepo-ui/pages/search.vue b/dbrepo-ui/pages/search.vue
index d822643204..b13a0f0fc2 100644
--- a/dbrepo-ui/pages/search.vue
+++ b/dbrepo-ui/pages/search.vue
@@ -52,6 +52,8 @@
           <div
             v-if="tags(result).length > 0"
             class="mt-2 db-tags">
+            <ResourceStatus
+              :resource="result" />
             <v-chip
               v-for="(tag, i) in tags(result)"
               :key="i"
@@ -196,12 +198,6 @@ export default {
       }
       return this.type === 'identifier'
     },
-    isPublic (item) {
-      if (this.isDatabase(item) || this.isTable(item) || this.isColumn(item) || this.isView(item) || this.isIdentifier(item)) {
-        return item.is_public
-      }
-      return null
-    },
     title (item) {
       if (this.isDatabase(item) || this.isTable(item) || this.isColumn(item) || this.isView(item)) {
         return item.name
@@ -260,10 +256,6 @@ export default {
     },
     tags (item) {
       const tags = []
-      if (this.isPublic(item) === true || this.isPublic(item) === false) {
-        const text = this.isPublic(item) ? this.$t('toolbars.database.public') : this.$t('toolbars.database.private')
-        tags.push({ color: this.isPublic(item) ? 'success' : null, text })
-      }
       if (this.isDatabase(item)) {
       } else if (this.isTable(item)) {
       } else if (this.isColumn(item)) {
diff --git a/dbrepo-ui/stores/cache.js b/dbrepo-ui/stores/cache.js
index 13fcea5861..3574b24d7c 100644
--- a/dbrepo-ui/stores/cache.js
+++ b/dbrepo-ui/stores/cache.js
@@ -23,25 +23,25 @@ export const useCacheStore = defineStore('cache', {
     getUploadProgress: (state) => state.uploadProgress,
   },
   actions: {
-    setDatabase (database) {
+    setDatabase(database) {
       this.database = database
     },
-    setTable (table) {
+    setTable(table) {
       this.table = table
     },
-    setView (view) {
+    setView(view) {
       this.view = view
     },
-    setSubset (subset) {
+    setSubset(subset) {
       this.subset = subset
     },
-    setOntologies (ontologies) {
+    setOntologies(ontologies) {
       this.ontologies = ontologies
     },
-    setUploadProgress (uploadProgress) {
+    setUploadProgress(uploadProgress) {
       this.uploadProgress = uploadProgress
     },
-    reloadMessages () {
+    reloadMessages() {
       const messageService = useMessageService()
       messageService.findAll('active')
         .then(messages => this.messages = messages)
@@ -49,7 +49,7 @@ export const useCacheStore = defineStore('cache', {
           console.error('Failed to reload messages', error)
         })
     },
-    reloadOntologies () {
+    reloadOntologies() {
       const ontologyService = useOntologyService()
       ontologyService.findAll()
         .then(ontologies => this.ontologies = ontologies)
@@ -57,7 +57,7 @@ export const useCacheStore = defineStore('cache', {
           console.error('Failed to reload ontologies', error)
         })
     },
-    reloadDatabase () {
+    reloadDatabase() {
       const databaseService = useDatabaseService()
       databaseService.findOne(this.database.id)
         .then(database => this.database = database)
@@ -65,7 +65,7 @@ export const useCacheStore = defineStore('cache', {
           console.error('Failed to reload database', error)
         })
     },
-    reloadTable () {
+    reloadTable() {
       const tableService = useTableService()
       tableService.findOne(this.table.database_id, this.table.id)
         .then(table => this.table = table)
@@ -73,7 +73,7 @@ export const useCacheStore = defineStore('cache', {
           console.error('Failed to reload table', error)
         })
     },
-    reloadView () {
+    reloadView() {
       const viewService = useViewService()
       viewService.findOne(this.table.database_id, this.view.id)
         .then(view => this.view = view)
@@ -82,19 +82,24 @@ export const useCacheStore = defineStore('cache', {
         })
     },
     setRouteDatabase (databaseId) {
-      if (!databaseId) {
-        this.database = null
-        return
-      }
-      const databaseService = useDatabaseService()
-      databaseService.findOne(databaseId)
-        .then(database => this.database = database)
-        .catch((error) => {
+      return new Promise((resolve, reject) => {
+        if (!databaseId) {
           this.database = null
-          console.error('Failed to set route database', error)
-        })
+          reject()
+        }
+        const databaseService = useDatabaseService()
+        databaseService.findOne(databaseId, true)
+          .then((database) => {
+            this.database = database
+            resolve(database)
+          })
+          .catch((error) => {
+            this.database = null
+            reject(error)
+          })
+      })
     },
-    setRouteTable (databaseId, tableId) {
+    setRouteTable(databaseId, tableId) {
       if (!databaseId || !tableId) {
         this.table = null
         console.error('Cannot set route table: missing database id', databaseId, 'or table id', tableId)
@@ -103,11 +108,8 @@ export const useCacheStore = defineStore('cache', {
       const tableService = useTableService()
       tableService.findOne(databaseId, tableId)
         .then(table => this.table = table)
-        .catch((error) => {
-          console.error('Failed to set route table', error)
-        })
     },
-    setRouteView (databaseId, viewId) {
+    setRouteView(databaseId, viewId) {
       if (!databaseId || !viewId) {
         this.view = null
         console.error('Cannot set route view: database view id', databaseId, 'or view id', viewId)
@@ -116,11 +118,8 @@ export const useCacheStore = defineStore('cache', {
       const viewService = useViewService()
       viewService.findOne(databaseId, viewId)
         .then(view => this.view = view)
-        .catch((error) => {
-          console.error('Failed to set route view', error)
-        })
     },
-    setRouteSubset (databaseId, subsetId) {
+    setRouteSubset(databaseId, subsetId) {
       if (!databaseId || !subsetId) {
         this.subset = null
         console.error('Cannot set route subset: missing database id', databaseId, 'or subset id', subsetId)
@@ -129,9 +128,6 @@ export const useCacheStore = defineStore('cache', {
       const subsetService = useQueryService()
       subsetService.findOne(databaseId, subsetId)
         .then(subset => this.subset = subset)
-        .catch((error) => {
-          console.error('Failed to set route subset', error)
-        })
     }
   },
 })
diff --git a/dbrepo-ui/utils/index.ts b/dbrepo-ui/utils/index.ts
index 46a5e9e555..694a9258e9 100644
--- a/dbrepo-ui/utils/index.ts
+++ b/dbrepo-ui/utils/index.ts
@@ -1,7 +1,7 @@
-import {format} from 'date-fns'
 import moment from 'moment'
-import type {AxiosError} from 'axios'
-import type {H3Error} from "h3";
+import {AxiosError, type AxiosResponse, type InternalAxiosRequestConfig} from 'axios'
+import { format } from 'date-fns'
+import { getStatusText } from 'http-status-codes'
 
 
 export function notEmpty(str: string) {
@@ -25,24 +25,36 @@ export function notFile(files: [File[]]) {
   return files.length === 1
 }
 
-export function errorCodeKey(error: H3Error): any {
-  switch (error.statusCode) {
+export function makeError(status: number, code: string | null, message: string | null ): AxiosError {
+  const config: InternalAxiosRequestConfig = {}
+  const response: AxiosResponse = {
+    data: {},
+    status,
+    statusText: getStatusText(status).toUpperCase(),
+    config,
+    headers: {}
+  }
+  return new AxiosError(message, code, undefined, null, response)
+}
+
+export function errorCodeKey(error: AxiosError): any {
+  switch (error?.response?.status) {
     case 404:
       return {
         title: 'error.missing.title',
-        subtitle: 'ERR_NOT_FOUND',
+        subtitle: 'ERR_' + error?.response?.data?.status,
         text: 'error.missing.text'
       }
     case 403:
       return {
         title: 'error.permission.title',
-        subtitle: 'ERR_NOT_AUTHORIZED',
+        subtitle: 'ERR_' + error?.response?.data?.status,
         text: 'error.permission.text'
       }
     default:
       return {
         title: 'error.gone.title',
-        subtitle: 'ERR_GONE',
+        subtitle: 'ERR_' + error?.response?.data?.status,
         text: 'error.gone.text'
       }
   }
-- 
GitLab