perf: 데몬 소유 명령의 중첩 transaction을 제거

This commit is contained in:
2026-08-16 18:04:57 +00:00
parent 86733b99b7
commit eb47de0e76
13 changed files with 273 additions and 52 deletions
@@ -1,10 +1,10 @@
import { TRPCError } from '@trpc/server';
import { z } from 'zod';
import { authedProcedure } from '../../../trpc.js';
import { engineAuthedProcedure } from '../../../trpc.js';
import { getMyGeneral } from '../../shared/general.js';
export const appoint = authedProcedure
export const appoint = engineAuthedProcedure
.input(
z.object({
destGeneralId: z.number().int().nonnegative(),
@@ -16,6 +16,7 @@ export const appoint = authedProcedure
const general = await getMyGeneral(ctx);
const result = await ctx.turnDaemon.requestCommand({
type: 'appoint',
...(ctx.requestId ? { requestId: `${ctx.requestId}:nation.appoint:engine:0:appoint` } : {}),
generalId: general.id,
destGeneralId: input.destGeneralId,
destCityId: input.destCityId,
@@ -1,10 +1,10 @@
import { TRPCError } from '@trpc/server';
import { z } from 'zod';
import { authedProcedure } from '../../../trpc.js';
import { engineAuthedProcedure } from '../../../trpc.js';
import { getMyGeneral } from '../../shared/general.js';
export const changePermission = authedProcedure
export const changePermission = engineAuthedProcedure
.input(
z.object({
isAmbassador: z.boolean(),
@@ -18,6 +18,9 @@ export const changePermission = authedProcedure
const general = await getMyGeneral(ctx);
const result = await ctx.turnDaemon.requestCommand({
type: 'changePermission',
...(ctx.requestId
? { requestId: `${ctx.requestId}:nation.changePermission:engine:0:changePermission` }
: {}),
generalId: general.id,
isAmbassador: input.isAmbassador,
targetGeneralIds: input.targetGeneralIds,
@@ -1,15 +1,16 @@
import { TRPCError } from '@trpc/server';
import { z } from 'zod';
import { authedProcedure } from '../../../trpc.js';
import { engineAuthedProcedure } from '../../../trpc.js';
import { getMyGeneral } from '../../shared/general.js';
export const kick = authedProcedure
export const kick = engineAuthedProcedure
.input(z.object({ destGeneralId: z.number().int().positive() }))
.mutation(async ({ ctx, input }) => {
const general = await getMyGeneral(ctx);
const result = await ctx.turnDaemon.requestCommand({
type: 'kick',
...(ctx.requestId ? { requestId: `${ctx.requestId}:nation.kick:engine:0:kick` } : {}),
generalId: general.id,
destGeneralId: input.destGeneralId,
});