Просмотр исходного кода

Информация об ивенте

Vadim 3 месяцев назад
Родитель
Сommit
d35265048c

+ 5 - 3
src/api/v_0.1.0/api.ts

@@ -1,6 +1,7 @@
-import { authApi } from "./shared/auth-api.js";
-import { clientPartEntitiesApi } from "./client/client-pe-api.js";
-import { clientUsersApi } from "./client/client-users-api.js";
+import { authApi } from './shared/auth-api.js';
+import { clientPartEntitiesApi } from './client/client-pe-api.js';
+import { clientUsersApi } from './client/client-users-api.js';
+import { clientEventApi } from './client/client-event-api.js';
 
 export const api = {
   auth: authApi,
@@ -8,5 +9,6 @@ export const api = {
   client: {
     pe: clientPartEntitiesApi,
     users: clientUsersApi,
+    event: clientEventApi,
   },
 };

+ 19 - 0
src/api/v_0.1.0/client/client-event-api.ts

@@ -0,0 +1,19 @@
+import { z } from "zod";
+
+class ClientEventApi {
+  GET_Event = {
+    res: z.object({
+      code: z.enum(["success"]),
+      event: z.object({
+        eventId: z.string().uuid(),
+        eventInstId: z.string().uuid(),
+        code: z.string(),
+        eventTypeCode: z.string(),
+        publicName: z.string(),
+        timezone: z.string(),
+      }),
+    }),
+  };
+}
+
+export const clientEventApi = new ClientEventApi();

+ 6 - 1
src/main.ts

@@ -45,7 +45,12 @@ app.use("/api/auth/", authRouter);
 
 import authMiddleware from "#middlewares/auth-middleware.js";
 app.use("/api/", authMiddleware());
-// client
+
+// -- CLIENT --
+// event
+import cEventRouter from "./modules/client/event/c-event-router.js";
+app.use("/api/client/event/", cEventRouter);
+
 // user
 import cUsersRouter from "./modules/client/users/c-users-router.js";
 app.use("/api/client/users/", cUsersRouter);

+ 17 - 0
src/modules/client/event/c-event-controller.ts

@@ -0,0 +1,17 @@
+import { api } from "#api/current-api.js";
+import sessionService from "#modules/users/auth/services/session-service.js";
+import { RouterUtils } from "#utils/router-utils.js";
+import type { Request, Response } from "express";
+
+class ClientEventController {
+  async getEvent(req: Request, res: Response) {
+    const event = await sessionService.getCurrentEventFromReq(req);
+
+    RouterUtils.validAndSendResponse(api.client.event.GET_Event.res, res, {
+      code: "success",
+      event,
+    });
+  }
+}
+
+export const clientEventController = new ClientEventController();

+ 8 - 0
src/modules/client/event/c-event-router.ts

@@ -0,0 +1,8 @@
+import { Router } from "express";
+import { clientEventController } from "./c-event-controller.js";
+
+const router = Router();
+
+router.get("/", clientEventController.getEvent);
+
+export default router;