diff --git a/server/api/stats.get.ts b/server/api/stats.get.ts index c8119fb..38762ea 100644 --- a/server/api/stats.get.ts +++ b/server/api/stats.get.ts @@ -1,12 +1,10 @@ -import type { H3Event } from 'h3' +export default defineCachedEventHandler(async (event) => { + const { wakatime } = useRuntimeConfig(event) -export default defineEventHandler(async (event) => { - const [coding, editors, os, languages] = await Promise.all([ - cachedWakatimeCoding(event), - cachedWakatimeEditors(event), - cachedWakatimeOs(event), - cachedWakatimeLanguages(event) - ]) + const coding = await $fetch(`https://wakatime.com/share/${wakatime.userId}/${wakatime.coding}.json`) + const editors = await $fetch(`https://wakatime.com/share/${wakatime.userId}/${wakatime.editors}.json`) + const os = await $fetch(`https://wakatime.com/share/${wakatime.userId}/${wakatime.os}.json`) + const languages = await $fetch(`https://wakatime.com/share/${wakatime.userId}/${wakatime.languages}.json`) return { coding, @@ -14,42 +12,7 @@ export default defineEventHandler(async (event) => { os, languages } -}) - -const cachedWakatimeCoding = defineCachedFunction(async (event: H3Event) => { - const { wakatime } = useRuntimeConfig(event) - - return await $fetch(`https://wakatime.com/share/${wakatime.userId}/${wakatime.coding}.json`) }, { maxAge: 24 * 60 * 60, - name: 'wakatime', - getKey: () => 'coding' -}) - -const cachedWakatimeEditors = defineCachedFunction(async (event: H3Event) => { - const { wakatime } = useRuntimeConfig(event) - - return await $fetch(`https://wakatime.com/share/${wakatime.userId}/${wakatime.editors}.json`) -}, { - maxAge: 24 * 60 * 60, - name: 'wakatime', - getKey: () => 'editors' -}) - -const cachedWakatimeOs = defineCachedFunction(async (event: H3Event) => { - const { wakatime } = useRuntimeConfig(event) - return await $fetch(`https://wakatime.com/share/${wakatime.userId}/${wakatime.os}.json`) -}, { - maxAge: 24 * 60 * 60, - name: 'wakatime', - getKey: () => 'os' -}) - -const cachedWakatimeLanguages = defineCachedFunction(async (event: H3Event) => { - const { wakatime } = useRuntimeConfig(event) - return await $fetch(`https://wakatime.com/share/${wakatime.userId}/${wakatime.languages}.json`) -}, { - maxAge: 24 * 60 * 60, - name: 'wakatime', - getKey: () => 'languages' + name: 'wakatime' })