From 3341eb63e5f60193938faf5f59e4b6f5d32236fd Mon Sep 17 00:00:00 2001 From: Lanskikh Date: Wed, 4 Jun 2025 12:34:54 +0500 Subject: [PATCH] upd --- src/controllers/serversController.ts | 16 ++++++++++++- src/services/servers/get.ts | 1 + src/services/servers/update.ts | 35 ++++++++++++++++++++++++++++ src/services/sessions/get.ts | 6 +++++ 4 files changed, 57 insertions(+), 1 deletion(-) create mode 100644 src/services/servers/update.ts diff --git a/src/controllers/serversController.ts b/src/controllers/serversController.ts index abccad4..5b4696f 100644 --- a/src/controllers/serversController.ts +++ b/src/controllers/serversController.ts @@ -2,6 +2,7 @@ import Elysia, { t } from "elysia"; import getServers from "../services/servers/get"; import authMiddleware from "../middlewares/auth"; import createServer from "../services/servers/create"; +import updateServer from "../services/servers/update"; const serversController = new Elysia({ prefix: "/servers" }) .use(authMiddleware) @@ -13,6 +14,19 @@ const serversController = new Elysia({ prefix: "/servers" }) location: t.String(), companyId: t.String(), }), - }); + }) + .put( + "/:id", + async ({ params, body }) => await updateServer({ body, params }), + { + body: t.Object({ + name: t.String(), + location: t.String(), + }), + params: t.Object({ + id: t.String(), + }), + } + ); export default serversController; diff --git a/src/services/servers/get.ts b/src/services/servers/get.ts index 2d9cf6b..6beba0e 100644 --- a/src/services/servers/get.ts +++ b/src/services/servers/get.ts @@ -14,6 +14,7 @@ export default async function getServers( try { const servers = await db.query.serversTable.findMany({ where: eq(serversTable.companyId, auth.companyId), + orderBy: desc(serversTable.createdAt), with: { ...(query?.with ? Object.fromEntries( diff --git a/src/services/servers/update.ts b/src/services/servers/update.ts new file mode 100644 index 0000000..212772a --- /dev/null +++ b/src/services/servers/update.ts @@ -0,0 +1,35 @@ +import { error } from "elysia"; +import { eq } from "drizzle-orm"; +import db from "../../db"; +import { serversTable } from "../../db/schema/servers"; + +async function updateServer({ + params, + body, +}: { + body: { + name: string; + location: string; + }; + params: { + id: string; + }; +}) { + try { + return ( + await db + .update(serversTable) + .set({ + name: body.name, + location: body.location, + }) + .where(eq(serversTable.id, params.id)) + .returning() + )[0]; + } catch (err) { + console.log((err as Error).message); + return error(500, "Internal Server Error"); + } +} + +export default updateServer; diff --git a/src/services/sessions/get.ts b/src/services/sessions/get.ts index 3e69ef0..c1e55ef 100644 --- a/src/services/sessions/get.ts +++ b/src/services/sessions/get.ts @@ -20,6 +20,12 @@ async function getSessions( client: true, app: true, server: true, + owner: { + columns: { + password: false, + fullname: true, + }, + }, }, limit: query?.limit, orderBy: desc(sessionsTable.createdAt),