From 32202d8ab58532a0514b7ef7f45ae64f54324638 Mon Sep 17 00:00:00 2001 From: DebaucheryLibrarian Date: Mon, 15 Sep 2025 05:07:02 +0200 Subject: [PATCH] Added rudimentary entity health overview. --- components/admin/admin.vue | 8 ++ pages/admin/+Page.vue | 7 ++ pages/admin/entities/+Page.vue | 157 ++++++++++++++++++++++++ pages/admin/entities/+onBeforeRender.js | 27 ++++ pages/entities/+Page.vue | 10 +- src/entities.js | 48 +++++++- 6 files changed, 248 insertions(+), 9 deletions(-) create mode 100644 pages/admin/entities/+Page.vue create mode 100644 pages/admin/entities/+onBeforeRender.js diff --git a/components/admin/admin.vue b/components/admin/admin.vue index 447523c..f26601f 100644 --- a/components/admin/admin.vue +++ b/components/admin/admin.vue @@ -17,6 +17,14 @@ :class="{ active: pageContext.routeParams.section === 'revisions' && pageContext.routeParams.domain === 'actors' }" >Actor Revisions + + diff --git a/pages/admin/+Page.vue b/pages/admin/+Page.vue index e3e4ac0..96bd754 100644 --- a/pages/admin/+Page.vue +++ b/pages/admin/+Page.vue @@ -16,6 +16,13 @@ class="link" >Actor Revisions + +
  • + Entity Health +
  • diff --git a/pages/admin/entities/+Page.vue b/pages/admin/entities/+Page.vue new file mode 100644 index 0000000..882681a --- /dev/null +++ b/pages/admin/entities/+Page.vue @@ -0,0 +1,157 @@ + + + + + diff --git a/pages/admin/entities/+onBeforeRender.js b/pages/admin/entities/+onBeforeRender.js new file mode 100644 index 0000000..a642d24 --- /dev/null +++ b/pages/admin/entities/+onBeforeRender.js @@ -0,0 +1,27 @@ +import { render } from 'vike/abort'; /* eslint-disable-line import/extensions */ +import { fetchEntityHealths } from '#/src/entities.js'; + +export async function onBeforeRender(pageContext) { + if (!pageContext.user || pageContext.user.role === 'user') { + throw render(404); + } + + const { + entities, + } = await fetchEntityHealths({ + sort: pageContext.urlParsed.search.sort || 'releases', + order: pageContext.urlParsed.search.order || 'desc', + }, pageContext.user); + + return { + pageContext: { + title: pageContext.routeParams.section, + pageProps: { + entities, + }, + routeParams: { + section: 'entities', + }, + }, + }; +} diff --git a/pages/entities/+Page.vue b/pages/entities/+Page.vue index 51089ac..da77520 100644 --- a/pages/entities/+Page.vue +++ b/pages/entities/+Page.vue @@ -61,7 +61,7 @@