diff --git a/server/server/api/v1/client/saves/[gameid]/[slotindex]/push.post.ts b/server/server/api/v1/client/saves/[gameid]/[slotindex]/push.post.ts index 5e04881f..1f4552f4 100644 --- a/server/server/api/v1/client/saves/[gameid]/[slotindex]/push.post.ts +++ b/server/server/api/v1/client/saves/[gameid]/[slotindex]/push.post.ts @@ -39,7 +39,13 @@ export default defineClientEventHandler( if (!game) throw createError({ statusCode: 400, statusMessage: "Invalid game ID" }); - await saveManager.pushSave(gameId, user.id, slotIndex, h3.node.req); + await saveManager.pushSave( + gameId, + user.id, + slotIndex, + h3.node.req, + client.id + ); return; } diff --git a/server/server/internal/saves/index.ts b/server/server/internal/saves/index.ts index a70a291d..5a9d23d8 100644 --- a/server/server/internal/saves/index.ts +++ b/server/server/internal/saves/index.ts @@ -20,7 +20,8 @@ class SaveManager { gameId: string, userId: string, index: number, - stream: IncomingMessage + stream: IncomingMessage, + clientId: string | undefined = undefined ) { const save = await prisma.saveSlot.findUnique({ where: { @@ -84,6 +85,7 @@ class SaveManager { historyChecksums: { push: hash, }, + ...(clientId && { lastUsedClientId: clientId }), }, });