Spaces:
Sleeping
Sleeping
import { MutationCtx } from '../_generated/server'; | |
import { Id } from '../_generated/dataModel'; | |
import { engineInsertInput } from '../engine/abstractGame'; | |
import { InputNames, InputArgs } from './inputs'; | |
export async function insertInput<Name extends InputNames>( | |
ctx: MutationCtx, | |
worldId: Id<'worlds'>, | |
name: Name, | |
args: InputArgs<Name>, | |
): Promise<Id<'inputs'>> { | |
const worldStatus = await ctx.db | |
.query('worldStatus') | |
.withIndex('worldId', (q) => q.eq('worldId', worldId)) | |
.unique(); | |
if (!worldStatus) { | |
throw new Error(`World for engine ${worldId} not found`); | |
} | |
return await engineInsertInput(ctx, worldStatus.engineId, name, args); | |
} | |