diff --git a/src/controllers/clientsController.ts b/src/controllers/clientsController.ts index 9fc1644..8895744 100644 --- a/src/controllers/clientsController.ts +++ b/src/controllers/clientsController.ts @@ -4,6 +4,7 @@ import createClient from "../services/clients/createClient"; import getByPhone from "../services/clients/getByPhone"; import getClients from "../services/clients/getClients"; import getCount from "../services/clients/getCount"; +import { editClient } from "../services/clients/editClient"; export const clientsController = new Elysia({ prefix: "/clients" }) .use(authMiddleware) @@ -31,4 +32,16 @@ export const clientsController = new Elysia({ prefix: "/clients" }) phone: t.String(), email: t.Nullable(t.String()), }), - }); + }) + .put( + "/:clientId", + async ({ body, params: { clientId } }) => editClient(clientId, body), + { + params: t.Object({ clientId: t.String() }), + body: t.Object({ + name: t.String(), + phone: t.String(), + email: t.Nullable(t.String()), + }), + } + ); diff --git a/src/index.ts b/src/index.ts index da282e0..1589b17 100644 --- a/src/index.ts +++ b/src/index.ts @@ -31,7 +31,9 @@ app.use(clientsController); app.use(commentsController); app.use(filesController); -app.use(swagger()).listen(3000); +app + .use(swagger({ swaggerOptions: { persistAuthorization: true } })) + .listen(3000); async function checkServersStatus() { const servers = await db.query.serversTable.findMany(); diff --git a/src/services/clients/editClient.ts b/src/services/clients/editClient.ts new file mode 100644 index 0000000..6b61fc6 --- /dev/null +++ b/src/services/clients/editClient.ts @@ -0,0 +1,24 @@ +import db from "../../db"; +import { clientsTable } from "../../db/schema"; +import { eq } from "drizzle-orm"; +import { status } from "elysia"; + +export async function editClient( + clientId: string, + data: { + email: string | null; + phone: string; + name: string; + } +) { + try { + return await db + .update(clientsTable) + .set(data) + .where(eq(clientsTable.id, clientId)) + .returning(); + } catch (error) { + console.log(error); + return status(500, "Internal Server Error"); + } +} diff --git a/src/services/clients/getClients.ts b/src/services/clients/getClients.ts index 83e84bf..37d6a78 100644 --- a/src/services/clients/getClients.ts +++ b/src/services/clients/getClients.ts @@ -32,6 +32,8 @@ async function getClients({ manager: { columns: { password: false } }, app: true, comments: { with: { manager: { columns: { password: false } } } }, + server: true, + client: true, }, }, }, diff --git a/src/services/sessions/getSessions.ts b/src/services/sessions/getSessions.ts index c9af867..489e6fb 100644 --- a/src/services/sessions/getSessions.ts +++ b/src/services/sessions/getSessions.ts @@ -50,7 +50,6 @@ async function getSessions( manager: { columns: { password: false, - fullname: true, }, }, },