diff --git a/database/lowdb.ts b/database/lowdb.ts index 1db0b27..fbca24d 100644 --- a/database/lowdb.ts +++ b/database/lowdb.ts @@ -121,6 +121,17 @@ const factTriggers: FactTriggerEntity = { (factTrigger) => factTrigger.id === id ); }, + findByConversationId: async (conversationId) => { + const messageIds = await dbClient.data.messages + .filter((m) => m.conversationId === conversationId) + .map((m) => m.id); + const factIds = dbClient.data.facts + .filter((fact) => messageIds.includes(fact.sourceMessageId)) + .map((fact) => fact.id); + return dbClient.data.factTriggers.filter((factTrigger) => + factIds.includes(factTrigger.sourceFactId) + ); + }, update: async (id, data: Partial) => { const factTriggerIndex = dbClient.data.factTriggers.findIndex( (factTrigger) => factTrigger.id === id