43 lines
1.0 KiB
TypeScript
43 lines
1.0 KiB
TypeScript
import Elysia, { t } from "elysia";
|
|
import * as HospitalController from "../controllers/hospital";
|
|
|
|
// 医院路由
|
|
export const hospitalRouter = new Elysia()
|
|
.get("/hospital", HospitalController.list) // 获取医院列表
|
|
.get("/hospital/:id", HospitalController.one) // 获取单个医院
|
|
.post(
|
|
"/hospital",
|
|
async ({ body }) => HospitalController.create({ body }),
|
|
{
|
|
body: t.Object({
|
|
name: t.String(),
|
|
description: t.Optional(t.String()),
|
|
}),
|
|
}
|
|
) // 创建医院
|
|
.put(
|
|
"/hospital/:id",
|
|
async ({ params, body }) => HospitalController.update({ params, body }),
|
|
{
|
|
params: t.Object({
|
|
id: t.String(),
|
|
}),
|
|
body: t.Object({
|
|
name: t.Optional(t.String()),
|
|
description: t.Optional(t.String()),
|
|
isActive: t.Optional(t.Boolean()),
|
|
}),
|
|
}
|
|
) // 更新医院
|
|
.delete(
|
|
"/hospital/:id",
|
|
async ({ params }) => HospitalController.remove({ params }),
|
|
{
|
|
params: t.Object({
|
|
id: t.String(),
|
|
}),
|
|
}
|
|
); // 删除医院
|
|
|
|
|