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
/build
/dist
# misc
.DS_Store
+3 -22
View File
@@ -208,36 +208,17 @@ export const sessionController = new Elysia({ prefix: "/sessions" })
}),
}
)
// GET /sessions/:id - получить информацию о конкретной сессии (optional auth)
.get("/:id", async ({ params, currentUser, status }) => {
// GET /sessions/:id - получить информацию о конкретной сессии (доступен всем)
.get("/:id", async ({ params, status }) => {
const { id } = params;
// Для авторизованных пользователей - проверяем ownership
if (currentUser) {
const session = await serverSessionService.findByIdForUser(
id,
currentUser.id
);
if (!session) {
return status(404, "Session not found");
}
return { session };
}
// Для неавторизованных - просто находим сессию по ID
// Получаем сессию по ID
const session = await serverSessionService.findById(id);
if (!session) {
return status(404, "Session not found");
}
// Проверяем, что это сессия без userId (неавторизованная)
if (session.userId) {
return status(403, "This session belongs to an authenticated user");
}
return { session };
})
// Все остальные роуты требуют авторизации