From bc62ca7eb43db46373544a0cbf95982ec641c5b4 Mon Sep 17 00:00:00 2001 From: Lanskikh Date: Wed, 4 Jun 2025 16:41:58 +0500 Subject: [PATCH] upd --- src/controllers/sessionsController.ts | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/src/controllers/sessionsController.ts b/src/controllers/sessionsController.ts index 7000958..b9ae7b2 100644 --- a/src/controllers/sessionsController.ts +++ b/src/controllers/sessionsController.ts @@ -1,8 +1,11 @@ -import Elysia, { t } from "elysia"; +import Elysia, { error, t } from "elysia"; import authMiddleware from "../middlewares/auth"; import createSession from "../services/sessions/create"; import getSessions from "../services/sessions/get"; import updateSession from "../services/sessions/update"; +import db from "../db"; +import { eq } from "drizzle-orm"; +import { sessionsTable } from "../db/schema/sessions"; const sessionsController = new Elysia({ prefix: "/sessions" }) .use(authMiddleware) @@ -15,6 +18,28 @@ const sessionsController = new Elysia({ prefix: "/sessions" }) query: t.Object({ limit: t.Optional(t.Number()) }), } ) + .get("/:id", async ({ params }) => { + try { + const session = await db.query.sessionsTable.findFirst({ + where: eq(sessionsTable.id, params.id), + with: { + client: true, + app: true, + server: true, + owner: { + columns: { + password: false, + fullname: true, + }, + }, + }, + }); + return session; + } catch (err) { + console.log((err as Error).message); + return error(404, "Session not found"); + } + }) .post( "/", async ({ body, auth }) => {