From 657c7317f7b92e4b013af3c9399ec6174adfb82f Mon Sep 17 00:00:00 2001 From: imbytecat Date: Mon, 11 May 2026 20:51:24 +0800 Subject: [PATCH] =?UTF-8?q?feat(api):=20=E6=9A=B4=E9=9C=B2=E7=94=B5?= =?UTF-8?q?=E6=B1=A0=20ORPC=20=E5=A5=91=E7=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/api/contracts/battery.contract.ts | 13 +++++++++++++ src/server/api/contracts/index.ts | 4 ++-- 2 files changed, 15 insertions(+), 2 deletions(-) create mode 100644 src/server/api/contracts/battery.contract.ts diff --git a/src/server/api/contracts/battery.contract.ts b/src/server/api/contracts/battery.contract.ts new file mode 100644 index 0000000..00932f3 --- /dev/null +++ b/src/server/api/contracts/battery.contract.ts @@ -0,0 +1,13 @@ +import { oc } from '@orpc/contract' +import { z } from 'zod' +import { batteriesResponseSchema, dashboardSnapshotSchema } from '@/domain/battery' + +export const dashboard = oc.input(z.void()).output(dashboardSnapshotSchema) + +export const batteries = oc + .input( + z.object({ + mac: z.string().min(1).optional(), + }), + ) + .output(batteriesResponseSchema) diff --git a/src/server/api/contracts/index.ts b/src/server/api/contracts/index.ts index 669cfd5..a4adbe7 100644 --- a/src/server/api/contracts/index.ts +++ b/src/server/api/contracts/index.ts @@ -1,7 +1,7 @@ -import * as todo from './todo.contract' +import * as battery from './battery.contract' export const contract = { - todo, + battery, } export type Contract = typeof contract