File size: 1,040 Bytes
5da61b4 831f161 cad3e14 831f161 cad3e14 831f161 82fcab7 831f161 cad3e14 067b52a 831f161 067b52a cad3e14 5da61b4 cad3e14 5da61b4 cad3e14 5da61b4 82fcab7 cad3e14 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
import type { LayoutServerLoad } from "./$types";
import { collections } from "$lib/server/database";
import type { Conversation } from "$lib/types/Conversation";
import { UrlDependency } from "$lib/types/UrlDependency";
export const load: LayoutServerLoad = async ({ locals, depends }) => {
const { conversations } = collections;
depends(UrlDependency.ConversationList);
depends(UrlDependency.Settings);
const settings = await collections.settings.findOne({ sessionId: locals.sessionId });
return {
conversations: await conversations
.find({
sessionId: locals.sessionId,
})
.sort({ updatedAt: -1 })
.project<Pick<Conversation, "title" | "_id" | "updatedAt" | "createdAt">>({
title: 1,
_id: 1,
updatedAt: 1,
createdAt: 1,
})
.map((conv) => ({ id: conv._id.toString(), title: conv.title }))
.toArray(),
settings: {
shareConversationsWithModelAuthors: settings?.shareConversationsWithModelAuthors ?? true,
ethicsModalAcceptedAt: settings?.ethicsModalAcceptedAt ?? null,
},
};
};
|