expand use of react-query for state management

This commit is contained in:
Avraham Sakal
2025-08-31 15:07:01 -04:00
parent 20f6f6918f
commit 84eaab08ea
5 changed files with 428 additions and 129 deletions
+1
View File
@@ -51,6 +51,7 @@ export interface MessageEntity extends Entity<CommittedMessage> {
export type FactTriggerEntity = Entity<FactTrigger> & {
findByFactId: (factId: string) => Promise<Array<FactTrigger>>;
findByConversationId: (conversationId: string) => Promise<Array<FactTrigger>>;
};
export interface ApplicationDatabase {
+13 -3
View File
@@ -184,6 +184,16 @@ const factTriggers: FactTriggerEntity = {
.execute();
return rows;
},
findByConversationId: async (conversationId) => {
const rows = await dbClient
.selectFrom("fact_triggers")
.innerJoin("facts", "facts.id", "fact_triggers.sourceFactId")
.innerJoin("messages", "messages.id", "facts.sourceMessageId")
.selectAll("fact_triggers")
.where("messages.conversationId", "=", conversationId)
.execute();
return rows;
},
};
const messages: MessageEntity = {
@@ -232,12 +242,12 @@ const messages: MessageEntity = {
await dbClient.deleteFrom("messages").where("id", "=", id).execute();
},
findByConversationId: async (conversationId) => {
const rows = await dbClient
const rows = (await dbClient
.selectFrom("messages")
.selectAll()
.where("conversationId", "=", conversationId)
.execute();
return rows as Array<CommittedMessage>;
.execute()) as Array<CommittedMessage>;
return rows;
},
};