Spaces:
Runtime error
Runtime error
| import type { PageServerLoad } from "./$types"; | |
| import { collections } from "$lib/server/database"; | |
| import { ObjectId } from "mongodb"; | |
| import { error } from "@sveltejs/kit"; | |
| export const load: PageServerLoad = async (event) => { | |
| // todo: add validation on params.id | |
| const conversation = await collections.conversations.findOne({ | |
| _id: new ObjectId(event.params.id), | |
| sessionId: event.locals.sessionId, | |
| }); | |
| if (!conversation) { | |
| const conversationExists = | |
| (await collections.conversations.countDocuments({ | |
| _id: new ObjectId(event.params.id), | |
| })) !== 0; | |
| if (conversationExists) { | |
| throw error( | |
| 403, | |
| "You don't have access to this conversation. If someone gave you this link, ask them to use the 'share' feature instead." | |
| ); | |
| } | |
| throw error(404, "Conversation not found."); | |
| } | |
| return { | |
| messages: conversation.messages, | |
| title: conversation.title, | |
| }; | |
| }; | |