diff --git a/server/api/gameVersions.ts b/server/api/gameVersions.ts index daad3a0..e701238 100644 --- a/server/api/gameVersions.ts +++ b/server/api/gameVersions.ts @@ -3,7 +3,7 @@ import type { GameVersionData } from "~~/server/utils/processing/gameVersions/ty export default defineEventHandler(async (event): Promise => { const query = getQuery(event); - const gameVersions = await DB.GameVersions.get(); + const gameVersions = await KV.GameVersions.get(); if (gameVersions instanceof Error) { setResponseStatus(event, 500); diff --git a/server/api/latestDate.ts b/server/api/latestDate.ts index 9057219..ef6acb9 100644 --- a/server/api/latestDate.ts +++ b/server/api/latestDate.ts @@ -1,5 +1,5 @@ export default defineEventHandler(async (event): Promise => { - const gameVersions = await DB.LatestDate.get(); + const gameVersions = await KV.LatestDate.get(); if (gameVersions instanceof Error) { setResponseStatus(event, 500); diff --git a/server/api/stats/global.ts b/server/api/stats/global.ts index fb0fd29..111a61d 100644 --- a/server/api/stats/global.ts +++ b/server/api/stats/global.ts @@ -3,7 +3,7 @@ import type { GlobalStats } from "~~/server/utils/processing/global/types"; export default defineCachedEventHandler( async (event): Promise => { - const globalStats = await DB.GlobalStats.getLatest(); + const globalStats = await KV.GlobalStats.getLatest(); if (globalStats instanceof Error) { consola.error(globalStats.message); diff --git a/server/api/stats/projects.ts b/server/api/stats/projects.ts index b0de9dd..0dd4684 100644 --- a/server/api/stats/projects.ts +++ b/server/api/stats/projects.ts @@ -1,5 +1,5 @@ +import { exportStats } from "~~/server/utils/api/export/projectStats"; import { statStringToExtraction } from "~~/server/utils/api/project"; -import { exportStats } from "~~/server/utils/export/projectStats"; import type { VersionCategories } from "~~/server/utils/processing/gameVersions/types"; import type { ProjectStatCategory } from "~~/server/utils/processing/projects/types"; diff --git a/server/api/stats/time/global.ts b/server/api/stats/time/global.ts index bc3def6..d08ebcc 100644 --- a/server/api/stats/time/global.ts +++ b/server/api/stats/time/global.ts @@ -1,5 +1,5 @@ import consola from "consola"; -import { exportGlobalStatsOverTime } from "~~/server/utils/export/globalStats"; +import { exportGlobalStatsOverTime } from "~~/server/utils/api/export/globalStats"; import { fracture } from "~~/server/utils/processing/aggregate"; import type { GlobalStatCategory } from "~~/server/utils/processing/global/types"; @@ -13,7 +13,7 @@ export default defineCachedEventHandler( async (event): Promise => { const query = getQuery(event); - const dateKey = await DB.LatestDate.get(); + const dateKey = await KV.LatestDate.get(); if (dateKey instanceof Error) { consola.error("no latestDate set"); diff --git a/server/api/stats/time/projects.ts b/server/api/stats/time/projects.ts index 825ee28..6933fa6 100644 --- a/server/api/stats/time/projects.ts +++ b/server/api/stats/time/projects.ts @@ -1,5 +1,5 @@ +import { exportStatsOverTime } from "~~/server/utils/api/export/projectStats"; import { statStringToExtraction } from "~~/server/utils/api/project"; -import { exportStatsOverTime } from "~~/server/utils/export/projectStats"; import type { VersionCategories } from "~~/server/utils/processing/gameVersions/types"; import type { ProjectStatCategory } from "~~/server/utils/processing/projects/types"; diff --git a/server/api/stats/time/revenue.ts b/server/api/stats/time/revenue.ts index b53d439..dcce4c5 100644 --- a/server/api/stats/time/revenue.ts +++ b/server/api/stats/time/revenue.ts @@ -1,4 +1,4 @@ -import { exportRevenueStatsOverTime } from "~~/server/utils/export/revenue"; +import { exportRevenueStatsOverTime } from "~~/server/utils/api/export/revenue"; export default defineCachedEventHandler( async (_event): Promise => { diff --git a/server/tasks/analyze.ts b/server/tasks/analyze.ts index 95b2c1d..82d00d8 100644 --- a/server/tasks/analyze.ts +++ b/server/tasks/analyze.ts @@ -11,7 +11,7 @@ export default defineTask({ description: "Update all the statistics", }, async run() { - const latestDate = await DB.LatestDate.getNotCached(); + const latestDate = await KV.LatestDate.getNotCached(); if (latestDate === dateToKey(new Date())) { LOGGER.debug("data already analyzed"); return { result: "Fail" }; @@ -23,7 +23,7 @@ export default defineTask({ await updateGameVersions(); await updateStatistics(); await updateGlobalStats(); - await DB.LatestDate.set(new Date()); + await KV.LatestDate.set(new Date()); } catch (e) { LOGGER.fail(e); } diff --git a/server/utils/color.ts b/server/utils/api/export/color.ts similarity index 100% rename from server/utils/color.ts rename to server/utils/api/export/color.ts diff --git a/server/utils/export/globalStats.ts b/server/utils/api/export/globalStats.ts similarity index 95% rename from server/utils/export/globalStats.ts rename to server/utils/api/export/globalStats.ts index 05fa18a..06019b8 100644 --- a/server/utils/export/globalStats.ts +++ b/server/utils/api/export/globalStats.ts @@ -32,7 +32,7 @@ export async function exportGlobalStatsOverTime( date = new_date; } - const data = await DB.GlobalStats.getBulk(dates); + const data = await KV.GlobalStats.getBulk(dates); days_to_fetch_left -= data.length; diff --git a/server/utils/export/projectStats.ts b/server/utils/api/export/projectStats.ts similarity index 97% rename from server/utils/export/projectStats.ts rename to server/utils/api/export/projectStats.ts index 9b815d7..022c215 100644 --- a/server/utils/export/projectStats.ts +++ b/server/utils/api/export/projectStats.ts @@ -61,7 +61,7 @@ export async function exportStats( versionTo: string | null, versionFrom: string | null, ): Promise { - const stats = await DB.ProjectStats.getLatest( + const stats = await KV.ProjectStats.getLatest( type, versionCategory, exclusive, @@ -113,7 +113,7 @@ export async function exportStatsOverTime( date = new_date; } - const data = await DB.ProjectStats.getBulk( + const data = await KV.ProjectStats.getBulk( dates, type, versionCategory, diff --git a/server/utils/export/revenue.ts b/server/utils/api/export/revenue.ts similarity index 100% rename from server/utils/export/revenue.ts rename to server/utils/api/export/revenue.ts diff --git a/server/utils/storage.ts b/server/utils/db/kv.ts similarity index 98% rename from server/utils/storage.ts rename to server/utils/db/kv.ts index daa1586..429a26b 100644 --- a/server/utils/storage.ts +++ b/server/utils/db/kv.ts @@ -5,7 +5,7 @@ import type { import type { GlobalStats } from "~~/server/utils/processing/global/types"; import type { ProjectStats } from "~~/server/utils/processing/projects/types"; -export const DB = { +export const KV = { GameVersions: { async set(gameVersions: GameVersions) { const storage = useStorage("metadata"); @@ -51,7 +51,7 @@ export const DB = { return getFromStorageCachedBulk("globalStatistics", keys); }, async getLatest(): Promise { - const dateKey = await DB.LatestDate.get(); + const dateKey = await KV.LatestDate.get(); if (dateKey instanceof Error) return dateKey; const key = `globalStats${dateKey}`; @@ -111,7 +111,7 @@ export const DB = { versionCategory: VersionCategories, exclusive: boolean, ): Promise { - const dateKey = await DB.LatestDate.get(); + const dateKey = await KV.LatestDate.get(); if (dateKey instanceof Error) return dateKey; const key = getProjectStorageKey( diff --git a/server/utils/allowed.ts b/server/utils/processing/allowed.ts similarity index 100% rename from server/utils/allowed.ts rename to server/utils/processing/allowed.ts diff --git a/server/utils/processing/gameVersions/processing.ts b/server/utils/processing/gameVersions/processing.ts index e8ebf7a..3ce786c 100644 --- a/server/utils/processing/gameVersions/processing.ts +++ b/server/utils/processing/gameVersions/processing.ts @@ -11,7 +11,7 @@ export async function updateGameVersions() { const versions = await getGameVersions(); const gameVersions = groupGameVersions(versions); - await DB.GameVersions.set(gameVersions); + await KV.GameVersions.set(gameVersions); } // returns what versionGroup (all, minor, major) a specif projectVersion supports diff --git a/server/utils/processing/global/processing.ts b/server/utils/processing/global/processing.ts index ab0e8e0..198d30a 100644 --- a/server/utils/processing/global/processing.ts +++ b/server/utils/processing/global/processing.ts @@ -6,5 +6,5 @@ export async function updateGlobalStats() { const data = await $modrinthFetch("/statistics"); - await DB.GlobalStats.set(data, new Date()); + await KV.GlobalStats.set(data, new Date()); } diff --git a/server/utils/processing/projects/processing.ts b/server/utils/processing/projects/processing.ts index 53171b6..816ae48 100644 --- a/server/utils/processing/projects/processing.ts +++ b/server/utils/processing/projects/processing.ts @@ -76,15 +76,15 @@ async function updateStatistic(type: ProjectTypes) { } async function saveStats(stats: AllStats, type: ProjectTypes) { - await DB.ProjectStats.set(stats.all.all, type, "all", false); - await DB.ProjectStats.set(stats.all.minor, type, "minor", false); - await DB.ProjectStats.set(stats.all.major, type, "major", false); - await DB.ProjectStats.set(stats.all.unified, type, "unified", false); - - await DB.ProjectStats.set(stats.exclusive.all, type, "all", true); - await DB.ProjectStats.set(stats.exclusive.minor, type, "minor", true); - await DB.ProjectStats.set(stats.exclusive.major, type, "major", true); - await DB.ProjectStats.set(stats.exclusive.unified, type, "unified", true); + await KV.ProjectStats.set(stats.all.all, type, "all", false); + await KV.ProjectStats.set(stats.all.minor, type, "minor", false); + await KV.ProjectStats.set(stats.all.major, type, "major", false); + await KV.ProjectStats.set(stats.all.unified, type, "unified", false); + + await KV.ProjectStats.set(stats.exclusive.all, type, "all", true); + await KV.ProjectStats.set(stats.exclusive.minor, type, "minor", true); + await KV.ProjectStats.set(stats.exclusive.major, type, "major", true); + await KV.ProjectStats.set(stats.exclusive.unified, type, "unified", true); } async function getStatistics(type: ProjectTypes): Promise { @@ -104,7 +104,7 @@ async function getStatistics(type: ProjectTypes): Promise { }, }; - const gameVersions = await DB.GameVersions.get(); + const gameVersions = await KV.GameVersions.get(); if (gameVersions instanceof Error) { return gameVersions;