From 38bda66933410f5d728a6a31bca3c59675a0f730 Mon Sep 17 00:00:00 2001 From: asepharyana Date: Sun, 16 Aug 2026 14:51:47 +0700 Subject: [PATCH] style: fix Biome dead-code warnings from oRPC migration (CI lint gate) --- services/backend/src/http/app.ts | 4 +- services/backend/src/http/server.ts | 2 +- .../src/modules/chatbot/chatbot.repository.ts | 4 +- .../src/modules/chatbot/chatbot.tools.ts | 3 +- services/backend/src/orpc/router.ts | 47 ++++++++++--------- services/backend/src/orpc/ws.ts | 6 ++- services/backend/tests/chatbot-tools.test.ts | 2 +- 7 files changed, 37 insertions(+), 31 deletions(-) diff --git a/services/backend/src/http/app.ts b/services/backend/src/http/app.ts index bc76f80..37a1fc5 100644 --- a/services/backend/src/http/app.ts +++ b/services/backend/src/http/app.ts @@ -1,5 +1,5 @@ -import { RPCHandler } from "@orpc/server/node"; import { onError } from "@orpc/server"; +import { RPCHandler } from "@orpc/server/node"; import express, { type Express, type NextFunction, @@ -9,8 +9,8 @@ import express, { import helmet from "helmet"; import { createChildLogger } from "@/shared/logger/index"; import { createHealthRouter } from "../modules/health/index.js"; -import { errorHandler } from "../shared/middlewares/index.js"; import { appRouter } from "../orpc/router"; +import { errorHandler } from "../shared/middlewares/index.js"; // Auth removed — dashboard is public. // All data APIs (dashboard, messages, moderation, media, voice, recordings, diff --git a/services/backend/src/http/server.ts b/services/backend/src/http/server.ts index aaa2125..c42a42a 100644 --- a/services/backend/src/http/server.ts +++ b/services/backend/src/http/server.ts @@ -1,8 +1,8 @@ import { createServer, type Server } from "node:http"; import { createChildLogger } from "@/shared/logger/index"; +import { createORPCWebSocketServer } from "../orpc/ws.js"; import { config } from "../shared/config/index.js"; import { initializeDatabase } from "../shared/database/index.js"; -import { createORPCWebSocketServer } from "../orpc/ws.js"; import { startRedisBridge } from "../ws/redis-bridge.js"; import { createWebSocketServer } from "../ws/server.js"; import { createHttpApp } from "./app.js"; diff --git a/services/backend/src/modules/chatbot/chatbot.repository.ts b/services/backend/src/modules/chatbot/chatbot.repository.ts index 7119393..4876fc4 100644 --- a/services/backend/src/modules/chatbot/chatbot.repository.ts +++ b/services/backend/src/modules/chatbot/chatbot.repository.ts @@ -1,6 +1,6 @@ -import { and, desc, eq, type SQL, sql } from "drizzle-orm"; +import { desc, eq } from "drizzle-orm"; import { getDatabase } from "../../shared/database/index.js"; -import { pgChatbotMessagesTable, pgMessagesTable } from "../../shared/index.js"; +import { pgChatbotMessagesTable } from "../../shared/index.js"; import { createChildLogger } from "../../shared/logger/index.js"; const logger = createChildLogger("chatbot.repository"); diff --git a/services/backend/src/modules/chatbot/chatbot.tools.ts b/services/backend/src/modules/chatbot/chatbot.tools.ts index f546bb3..14d2d80 100644 --- a/services/backend/src/modules/chatbot/chatbot.tools.ts +++ b/services/backend/src/modules/chatbot/chatbot.tools.ts @@ -9,7 +9,6 @@ import { pgUserReputationsTable, pgVoiceRecordingsTable, } from "../../shared/index.js"; -import { tools } from "./chatbot.toolDefs.js"; /** * Executor for the chatbot's server-watcher tools. The tool *definitions* @@ -430,7 +429,7 @@ async function moderationTimeline( return JSON.stringify(rows); } -async function corrections(guildId?: string, limit = 10): Promise { +async function corrections(_guildId?: string, limit = 10): Promise { const db = getDatabase(); const rows = await db .select({ diff --git a/services/backend/src/orpc/router.ts b/services/backend/src/orpc/router.ts index 9366fc4..0b00d89 100644 --- a/services/backend/src/orpc/router.ts +++ b/services/backend/src/orpc/router.ts @@ -5,8 +5,17 @@ import { chatRequestSchema } from "../modules/chatbot/chatbot.schema"; import { chatbotService } from "../modules/chatbot/chatbot.service"; // ── Service imports ────────────────────────────────────────────── import { dashboardService } from "../modules/dashboard/dashboard.service"; -import { mediaLoopSchema, mediaQueueSchema } from "../modules/media/media.schema"; -import { getStatus, queue, setLoop, skip, stop } from "../modules/media/media.service"; +import { + mediaLoopSchema, + mediaQueueSchema, +} from "../modules/media/media.schema"; +import { + getStatus, + queue, + setLoop, + skip, + stop, +} from "../modules/media/media.service"; import { messageQuerySchema } from "../modules/messages/messages.schema"; import { messagesService } from "../modules/messages/messages.service"; import { moderationService } from "../modules/moderation/moderation.service"; @@ -27,7 +36,9 @@ import { publishCommandNoReply } from "../shared/redis/index"; const dashboardRouter = { stats: os.handler(() => dashboardService.getStats()), activity: os - .input(z.object({ days: z.coerce.number().int().min(1).max(90).default(14) })) + .input( + z.object({ days: z.coerce.number().int().min(1).max(90).default(14) }), + ) .handler(({ input }) => dashboardService.getActivity(input.days)), users: os .input( @@ -152,12 +163,10 @@ const moderationRouter = { // ── Media ──────────────────────────────────────────────────────── const mediaRouter = { status: os.handler(() => getStatus()), - queue: os - .input(mediaQueueSchema) - .handler(async ({ input }) => { - await queue(input.source, input.mode); - return getStatus(); - }), + queue: os.input(mediaQueueSchema).handler(async ({ input }) => { + await queue(input.source, input.mode); + return getStatus(); + }), skip: os.handler(async () => { await skip(); return getStatus(); @@ -166,12 +175,10 @@ const mediaRouter = { await stop(); return getStatus(); }), - loop: os - .input(mediaLoopSchema) - .handler(async ({ input }) => { - await setLoop(input.loop); - return getStatus(); - }), + loop: os.input(mediaLoopSchema).handler(async ({ input }) => { + await setLoop(input.loop); + return getStatus(); + }), }; // ── Voice ───────────────────────────────────────────────────────── @@ -220,12 +227,10 @@ const recordingsRouter = { cursor: input.cursor, }), ), - delete: os - .input(z.object({ id: z.string() })) - .handler(async ({ input }) => { - await recordingsService.deleteById(input.id); - return { ok: true }; - }), + delete: os.input(z.object({ id: z.string() })).handler(async ({ input }) => { + await recordingsService.deleteById(input.id); + return { ok: true }; + }), }; // ── Analysis (search) ────────────────────────────────────────────── diff --git a/services/backend/src/orpc/ws.ts b/services/backend/src/orpc/ws.ts index 2967bc4..dde9bcd 100644 --- a/services/backend/src/orpc/ws.ts +++ b/services/backend/src/orpc/ws.ts @@ -1,7 +1,7 @@ import type { IncomingMessage, Server } from "node:http"; import type { Duplex } from "node:stream"; -import { RPCHandler } from "@orpc/server/ws"; import { onError } from "@orpc/server"; +import { RPCHandler } from "@orpc/server/ws"; import { WebSocketServer } from "ws"; import { createChildLogger } from "@/shared/logger/index"; import { appRouter } from "./router"; @@ -24,7 +24,9 @@ const logger = createChildLogger("orpc.ws"); */ export function createORPCWebSocketServer(server: Server): WebSocketServer { const handler = new RPCHandler(appRouter, { - interceptors: [onError((error) => logger.error({ error }, "oRPC WS error"))], + interceptors: [ + onError((error) => logger.error({ error }, "oRPC WS error")), + ], }); const wss = new WebSocketServer({ noServer: true, perMessageDeflate: false }); diff --git a/services/backend/tests/chatbot-tools.test.ts b/services/backend/tests/chatbot-tools.test.ts index e594275..7bfb993 100644 --- a/services/backend/tests/chatbot-tools.test.ts +++ b/services/backend/tests/chatbot-tools.test.ts @@ -30,7 +30,7 @@ describe("chatbot tool definitions", () => { ] as const) { const tool = byName.get(name); expect(tool, `missing tool ${name}`).toBeDefined(); - expect(tool!.function.parameters.required).toContain(required); + expect(tool?.function.parameters.required).toContain(required); } });