wip: migrating game handler

This commit is contained in:
Justin Lin committed 2025-04-18 14:27:36 +08:00
1 parent 61d1871e95
commit 6043226142
26 files changed
+85 -364

No files matched your search

+8 -8
View File
@@ -1,14 +1,14 @@
import { TRPCError } from '@trpc/server'
import { Quest } from '@linux-odyssey/models'
import { QuestDetailResponse } from '@linux-odyssey/constants'
import { z } from 'zod'
import { router, publicProcedure } from '../trpc.js'
import { questManager } from '../models/quest.js'
export const questRouter = router({
getQuests: publicProcedure.query(async () => {
const quests = await Quest.find({})
return quests.map(({ title, _id, requirements }) => ({
_id,
const quests = await questManager.getAll()
return quests.map(({ title, id, requirements }) => ({
id,
title,
requirements,
}))
@@ -16,15 +16,15 @@ export const questRouter = router({
getQuestDetail: publicProcedure
.input(z.string())
.query(async (opts): Promise<QuestDetailResponse> => {
const id = opts.input
const quest = await Quest.findById(id)
const questId = opts.input
const quest = await questManager.get(questId)
if (!quest) {
throw new TRPCError({
code: 'NOT_FOUND',
message: 'Quest not found.',
})
}
const { _id, title, instruction, requirements } = quest
return { _id, title, instruction, requirements }
const { id, title, instruction, requirements } = quest
return { id, title, instruction, requirements }
}),
})
+1 -4
View File
@@ -34,10 +34,7 @@ export const sessionRouter = router({
status: session.status,
createdAt: session.createdAt,
lastActivityAt: session.lastActivityAt,
hints: session.hints,
tasks: session.tasks,
responses: session.responses,
graph: session.graph,
stages: session.stages,
}
}
throw new TRPCError({