You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

28 lines
905 B
TypeScript

import type { PageContextServer } from "vike/types";
import { createCaller } from "../trpc.js";
export type Data = Awaited<ReturnType<typeof data>>;
export const data = async (pageContext: PageContextServer) => {
const { id } = pageContext.routeParams;
const caller = createCaller({});
const conversation = await caller.conversations.fetchOne({
id,
});
const messages = await caller.conversations.fetchMessages({
conversationId: id,
});
const facts = await caller.facts.fetchByConversationId({
conversationId: id,
});
// Fetch all fact triggers for the conversation's facts
const factTriggerPromises = facts.map(fact =>
caller.factTriggers.fetchByFactId({ factId: fact.id })
);
const factTriggersArrays = await Promise.all(factTriggerPromises);
const factTriggers = factTriggersArrays.flat();
return { conversation, messages, facts, factTriggers };
};