diff options
| author | zyoshoka <107108195+zyoshoka@users.noreply.github.com> | 2024-08-30 10:58:59 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-08-30 10:58:59 +0900 |
| commit | 7fe303505961c764561b93e3c34b9e8e83d70698 (patch) | |
| tree | 1574a80d52e559cee452f3a50e346a6a82ad1b13 /packages/frontend/src/pages/admin/queue.chart.vue | |
| parent | refactor(sw): use fully typed locales (#14470) (diff) | |
| download | misskey-7fe303505961c764561b93e3c34b9e8e83d70698.tar.gz misskey-7fe303505961c764561b93e3c34b9e8e83d70698.tar.bz2 misskey-7fe303505961c764561b93e3c34b9e8e83d70698.zip | |
fix(backend): use `prefixItems` in `admin/queue/*-delayed` endpoint schema (#14468)
* fix(backend): represent tuples with `prefixItems`
* refactor(frontend): fix type errors
* fix(backend): add `prefixItems` in `SchemaType`
* fix(backend): add `unevaluatedItems: false` to disallow extra items
* refactor(frontend): consolidate `'deliver' | 'queue'` type def into `queue.vue`
* fix(backend): add `unevaluatedItems` in `SchemaType`
Diffstat (limited to 'packages/frontend/src/pages/admin/queue.chart.vue')
| -rw-r--r-- | packages/frontend/src/pages/admin/queue.chart.vue | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/packages/frontend/src/pages/admin/queue.chart.vue b/packages/frontend/src/pages/admin/queue.chart.vue index 8d3fe35320..960a263a86 100644 --- a/packages/frontend/src/pages/admin/queue.chart.vue +++ b/packages/frontend/src/pages/admin/queue.chart.vue @@ -49,7 +49,9 @@ SPDX-License-Identifier: AGPL-3.0-only <script lang="ts" setup> import { markRaw, onMounted, onUnmounted, ref, shallowRef } from 'vue'; +import * as Misskey from 'misskey-js'; import XChart from './queue.chart.chart.vue'; +import type { ApQueueDomain } from '@/pages/admin/queue.vue'; import number from '@/filters/number.js'; import { misskeyApi } from '@/scripts/misskey-api.js'; import { useStream } from '@/stream.js'; @@ -62,17 +64,17 @@ const activeSincePrevTick = ref(0); const active = ref(0); const delayed = ref(0); const waiting = ref(0); -const jobs = ref<(string | number)[][]>([]); +const jobs = ref<Misskey.Endpoints[`admin/queue/${ApQueueDomain}-delayed`]['res']>([]); const chartProcess = shallowRef<InstanceType<typeof XChart>>(); const chartActive = shallowRef<InstanceType<typeof XChart>>(); const chartDelayed = shallowRef<InstanceType<typeof XChart>>(); const chartWaiting = shallowRef<InstanceType<typeof XChart>>(); const props = defineProps<{ - domain: string; + domain: ApQueueDomain; }>(); -const onStats = (stats) => { +function onStats(stats: Misskey.entities.QueueStats) { activeSincePrevTick.value = stats[props.domain].activeSincePrevTick; active.value = stats[props.domain].active; delayed.value = stats[props.domain].delayed; @@ -82,13 +84,13 @@ const onStats = (stats) => { chartActive.value.pushData(stats[props.domain].active); chartDelayed.value.pushData(stats[props.domain].delayed); chartWaiting.value.pushData(stats[props.domain].waiting); -}; +} -const onStatsLog = (statsLog) => { - const dataProcess = []; - const dataActive = []; - const dataDelayed = []; - const dataWaiting = []; +function onStatsLog(statsLog: Misskey.entities.QueueStatsLog) { + const dataProcess: Misskey.entities.QueueStats[ApQueueDomain]['activeSincePrevTick'][] = []; + const dataActive: Misskey.entities.QueueStats[ApQueueDomain]['active'][] = []; + const dataDelayed: Misskey.entities.QueueStats[ApQueueDomain]['delayed'][] = []; + const dataWaiting: Misskey.entities.QueueStats[ApQueueDomain]['waiting'][] = []; for (const stats of [...statsLog].reverse()) { dataProcess.push(stats[props.domain].activeSincePrevTick); @@ -101,14 +103,12 @@ const onStatsLog = (statsLog) => { chartActive.value.setData(dataActive); chartDelayed.value.setData(dataDelayed); chartWaiting.value.setData(dataWaiting); -}; +} onMounted(() => { - if (props.domain === 'inbox' || props.domain === 'deliver') { - misskeyApi(`admin/queue/${props.domain}-delayed`).then(result => { - jobs.value = result; - }); - } + misskeyApi(`admin/queue/${props.domain}-delayed`).then(result => { + jobs.value = result; + }); connection.on('stats', onStats); connection.on('statsLog', onStatsLog); |