Update .gitignore to include /dist directory; modify session controller to allow public access to session details without authentication.

This commit is contained in:
2025-10-21 14:16:52 +05:00
parent 9e19a6e03f
commit 44e7370068
2 changed files with 4 additions and 22 deletions
+1
View File
@@ -14,6 +14,7 @@
# production # production
/build /build
/dist
# misc # misc
.DS_Store .DS_Store
+3 -22
View File
@@ -208,36 +208,17 @@ export const sessionController = new Elysia({ prefix: "/sessions" })
}), }),
} }
) )
// GET /sessions/:id - получить информацию о конкретной сессии (optional auth) // GET /sessions/:id - получить информацию о конкретной сессии (доступен всем)
.get("/:id", async ({ params, currentUser, status }) => { .get("/:id", async ({ params, status }) => {
const { id } = params; const { id } = params;
// Для авторизованных пользователей - проверяем ownership // Получаем сессию по ID
if (currentUser) {
const session = await serverSessionService.findByIdForUser(
id,
currentUser.id
);
if (!session) {
return status(404, "Session not found");
}
return { session };
}
// Для неавторизованных - просто находим сессию по ID
const session = await serverSessionService.findById(id); const session = await serverSessionService.findById(id);
if (!session) { if (!session) {
return status(404, "Session not found"); return status(404, "Session not found");
} }
// Проверяем, что это сессия без userId (неавторизованная)
if (session.userId) {
return status(403, "This session belongs to an authenticated user");
}
return { session }; return { session };
}) })
// Все остальные роуты требуют авторизации // Все остальные роуты требуют авторизации