|
import { MONGODB_URL, MONGODB_DB_NAME } from "$env/static/private"; |
|
import { MongoClient } from "mongodb"; |
|
import type { Conversation } from "$lib/types/Conversation"; |
|
import type { SharedConversation } from "$lib/types/SharedConversation"; |
|
|
|
const client = new MongoClient(MONGODB_URL, { |
|
|
|
}); |
|
|
|
export const connectPromise = client.connect().catch(console.error); |
|
|
|
const db = client.db(MONGODB_DB_NAME); |
|
|
|
const conversations = db.collection<Conversation>("conversations"); |
|
const sharedConversations = db.collection<SharedConversation>("sharedConversations"); |
|
|
|
export { client, db }; |
|
export const collections = { conversations, sharedConversations }; |
|
|
|
client.on("open", () => { |
|
conversations.createIndex({ sessionId: 1, updatedAt: -1 }); |
|
sharedConversations.createIndex({ hash: 1 }, { unique: true }); |
|
}); |
|
|