feat: Zod를 사용한 월드 상태 구성 및 메타 타입 추가, 사용자 ID 처리 개선

This commit is contained in:
2026-01-05 14:49:19 +00:00
parent 4391110ab0
commit 1861cbc9c6
17 changed files with 118 additions and 153 deletions
+5 -4
View File
@@ -2,7 +2,6 @@ import {
createGamePostgresConnector,
type InputJsonValue,
type TurnEngineCityUpdateInput,
type TurnEngineDatabaseClient,
type TurnEngineDiplomacyCreateManyInput,
type TurnEngineDiplomacyUpdateInput,
type TurnEngineGeneralCreateManyInput,
@@ -238,7 +237,7 @@ export const createDatabaseTurnHooks = async (
// 턴 처리 결과를 DB에 반영하는 훅을 만든다.
const connector = createGamePostgresConnector({ url: databaseUrl });
await connector.connect();
const prisma = connector.prisma as unknown as TurnEngineDatabaseClient;
const prisma = connector.prisma;
const hooks: TurnDaemonHooks = {
flushChanges: async () => {
@@ -346,8 +345,10 @@ export const createDatabaseTurnHooks = async (
.map((entry) =>
prisma.diplomacy.update({
where: {
srcNationId: entry.fromNationId,
destNationId: entry.toNationId,
srcNationId_destNationId: {
srcNationId: entry.fromNationId,
destNationId: entry.toNationId,
},
},
data: buildDiplomacyUpdate(entry),
})