feat: GamePrisma를 사용하여 데이터베이스 클라이언트 및 관련 타입 정의 업데이트
This commit is contained in:
+11
-112
@@ -1,6 +1,6 @@
|
||||
import { z } from 'zod';
|
||||
import type { GameSessionTokenPayload } from '@sammo-ts/common';
|
||||
import type { DatabaseClient as InfraDatabaseClient, RedisConnector } from '@sammo-ts/infra';
|
||||
import type { DatabaseClient as InfraDatabaseClient, RedisConnector, GamePrisma } from '@sammo-ts/infra';
|
||||
|
||||
import type { TurnDaemonTransport } from './daemon/transport.js';
|
||||
import type { BattleSimTransport } from './battleSim/transport.js';
|
||||
@@ -26,119 +26,18 @@ export const zWorldStateMeta = z.object({
|
||||
});
|
||||
export type WorldStateMeta = z.infer<typeof zWorldStateMeta>;
|
||||
|
||||
export interface WorldStateRow {
|
||||
scenarioCode: string;
|
||||
currentYear: number;
|
||||
currentMonth: number;
|
||||
tickSeconds: number;
|
||||
config: unknown;
|
||||
meta: unknown;
|
||||
updatedAt: Date;
|
||||
}
|
||||
export type WorldStateRow = GamePrisma.WorldStateGetPayload<{}>;
|
||||
export type GeneralRow = GamePrisma.GeneralGetPayload<{}>;
|
||||
export type GeneralTurnRow = GamePrisma.GeneralTurnGetPayload<{}>;
|
||||
export type NationTurnRow = GamePrisma.NationTurnGetPayload<{}>;
|
||||
export type CityRow = GamePrisma.CityGetPayload<{}>;
|
||||
export type NationRow = GamePrisma.NationGetPayload<{}>;
|
||||
export type TroopRow = GamePrisma.TroopGetPayload<{}>;
|
||||
|
||||
export interface GeneralRow {
|
||||
id: number;
|
||||
userId: string | null;
|
||||
name: string;
|
||||
nationId: number;
|
||||
cityId: number;
|
||||
troopId: number;
|
||||
leadership: number;
|
||||
strength: number;
|
||||
intel: number;
|
||||
experience: number;
|
||||
dedication: number;
|
||||
officerLevel: number;
|
||||
personalCode: string;
|
||||
specialCode: string;
|
||||
special2Code: string;
|
||||
horseCode: string;
|
||||
weaponCode: string;
|
||||
bookCode: string;
|
||||
itemCode: string;
|
||||
injury: number;
|
||||
gold: number;
|
||||
rice: number;
|
||||
crew: number;
|
||||
crewTypeId: number;
|
||||
train: number;
|
||||
atmos: number;
|
||||
age: number;
|
||||
npcState: number;
|
||||
picture: string | null;
|
||||
meta: unknown;
|
||||
}
|
||||
export type JsonValue = GamePrisma.JsonValue;
|
||||
export type InputJsonValue = GamePrisma.InputJsonValue;
|
||||
|
||||
export interface GeneralTurnRow {
|
||||
id: number;
|
||||
generalId: number;
|
||||
turnIdx: number;
|
||||
actionCode: string;
|
||||
arg: unknown;
|
||||
}
|
||||
|
||||
export interface NationTurnRow {
|
||||
id: number;
|
||||
nationId: number;
|
||||
officerLevel: number;
|
||||
turnIdx: number;
|
||||
actionCode: string;
|
||||
arg: unknown;
|
||||
}
|
||||
|
||||
export interface CityRow {
|
||||
id: number;
|
||||
name: string;
|
||||
nationId: number;
|
||||
level: number;
|
||||
population: number;
|
||||
populationMax: number;
|
||||
agriculture: number;
|
||||
agricultureMax: number;
|
||||
commerce: number;
|
||||
commerceMax: number;
|
||||
security: number;
|
||||
securityMax: number;
|
||||
trust: number;
|
||||
trade: number;
|
||||
supplyState: number;
|
||||
frontState: number;
|
||||
defence: number;
|
||||
defenceMax: number;
|
||||
wall: number;
|
||||
wallMax: number;
|
||||
region: number;
|
||||
meta: unknown;
|
||||
}
|
||||
|
||||
export interface NationRow {
|
||||
id: number;
|
||||
name: string;
|
||||
color: string;
|
||||
capitalCityId: number | null;
|
||||
gold: number;
|
||||
rice: number;
|
||||
tech: number;
|
||||
level: number;
|
||||
typeCode: string;
|
||||
meta: unknown;
|
||||
}
|
||||
|
||||
export interface TroopRow {
|
||||
troopLeaderId: number;
|
||||
nationId: number;
|
||||
name: string;
|
||||
}
|
||||
|
||||
export type DatabaseClient = InfraDatabaseClient<
|
||||
WorldStateRow,
|
||||
GeneralRow,
|
||||
CityRow,
|
||||
NationRow,
|
||||
GeneralTurnRow,
|
||||
NationTurnRow,
|
||||
TroopRow
|
||||
>;
|
||||
export type DatabaseClient = InfraDatabaseClient;
|
||||
|
||||
export interface GameApiContext {
|
||||
db: DatabaseClient;
|
||||
|
||||
Reference in New Issue
Block a user