Printer not found handler

This commit is contained in:
Douglas Barone 2023-07-10 09:19:27 -04:00
parent a0c5613d81
commit 8df7132a6f
2 changed files with 19 additions and 13 deletions

View File

@ -11,6 +11,13 @@ const routes = [
name: 'Login', name: 'Login',
component: () => component: () =>
import(/* webpackChunkName: "login" */ '@/views/Login.vue') import(/* webpackChunkName: "login" */ '@/views/Login.vue')
},
{
path: '/:pathMatch(.*)*',
name: 'NotFound',
component: () =>
import(/* webpackChunkName: "notfound" */ '@/views/404.vue')
} }
] ]
}, },
@ -26,13 +33,6 @@ const routes = [
// which is lazy-loaded when the route is visited. // which is lazy-loaded when the route is visited.
component: () => component: () =>
import(/* webpackChunkName: "home" */ '@/views/Home.vue') import(/* webpackChunkName: "home" */ '@/views/Home.vue')
},
{
path: '/:pathMatch(.*)*',
name: 'NotFound',
component: () =>
import(/* webpackChunkName: "notfound" */ '@/views/404.vue')
} }
] ]
}, },

View File

@ -18,22 +18,28 @@
<script lang="ts" setup> <script lang="ts" setup>
import { api } from '@/api' import { api } from '@/api'
import { Printer } from '@prisma/client' import { Printer } from '@prisma/client'
import { useRoute } from 'vue-router' import { useRouter } from 'vue-router'
import { ref } from 'vue' import { ref } from 'vue'
import PrinterCard from '@/components/PrinterCard.vue' import PrinterCard from '@/components/PrinterCard.vue'
import PrinterTonerChart from '@/components/PrinterTonerChart.vue' import PrinterTonerChart from '@/components/PrinterTonerChart.vue'
import PrinterCounterChart from '@/components/PrinterCounterChart.vue' import PrinterCounterChart from '@/components/PrinterCounterChart.vue'
const route = useRoute() const router = useRouter()
const printer = ref() const printer = ref()
const serialNumber = route.params.serialNumber as string const serialNumber = router.currentRoute.value.params.serialNumber as string
async function getPrinter() { async function getPrinter() {
try {
printer.value = await api<Printer>(`printer/${serialNumber}`, { printer.value = await api<Printer>(`printer/${serialNumber}`, {
method: 'GET' method: 'GET'
}) })
} catch (error: any) {
if (error.message == 'Printer not found') {
router.push({ name: 'NotFound' })
} else console.log(error.message)
}
} }
getPrinter() getPrinter()