feat(admin) : show Lunaris version and link guide cards
CI / Verify (push) Successful in 1m4s
CI / Build immutable images and deploy (push) Successful in 1m53s

This commit is contained in:
2026-09-03 15:39:44 +07:00 Unverified
parent dbfb9de2e8
commit 5700b55d78
3 changed files with 16 additions and 6 deletions
+9 -1
View File
@@ -1,6 +1,7 @@
import "server-only";
import { and, asc, eq, inArray, isNotNull, isNull } from "drizzle-orm";
import * as z from "zod";
import { getDb } from "@/db";
import {
@@ -20,7 +21,9 @@ import {
teamMembers,
weaponRecommendations,
} from "@/db/schema";
import { publicMediaUrl } from "@/lib/media/storage";
import { getMediaStorage, publicMediaUrl } from "@/lib/media/storage";
const catalogVersionSchema = z.object({ version: z.string() });
function catalogCharacterWithUrls(item: typeof catalogCharacters.$inferSelect) {
return {
@@ -48,7 +51,12 @@ export async function getActiveCatalog() {
db.select().from(catalogArtifacts).orderBy(asc(catalogArtifacts.name)),
]);
if (!characters.length) return null;
const storage = await getMediaStorage();
const { version } = catalogVersionSchema.parse(
await storage.file("catalog/current.json").json(),
);
return {
version,
characters: characters.map(catalogCharacterWithUrls),
weapons: weapons.map((item) => ({ ...item, imageUrl: publicMediaUrl(item.imageKey) })),
artifacts: artifacts.map((item) => ({ ...item, imageUrl: publicMediaUrl(item.imageKey) })),