CG-Feedback-Monitor/server/db/queries/conversationEntries.ts
2026-07-06 19:08:24 +02:00

20 lines
1.6 KiB
TypeScript

import { getAllRows, getRowsWhereEquals, getRowsWhereIn, insertRow, updateRow, deleteRowById, deleteRowsWhereEquals } from '../crud'
import type { ConversationEntry, ConversationSkillScore } from '../../../src/db/types'
export const listConversationEntriesForMeeting = (meetingInstanceId: number): ConversationEntry[] =>
getRowsWhereEquals<ConversationEntry>('conversationEntries', 'meetingInstanceId', meetingInstanceId)
.sort((a, b) => a.sequenceIndex - b.sequenceIndex)
export const listConversationEntriesForMeetings = (meetingInstanceIds: number[]): ConversationEntry[] =>
getRowsWhereIn<ConversationEntry>('conversationEntries', 'meetingInstanceId', meetingInstanceIds)
export const addConversationEntry = (e: Omit<ConversationEntry, 'id'>): number => insertRow('conversationEntries', e)
export const updateConversationEntry = (id: number, patch: Partial<ConversationEntry>): number =>
updateRow('conversationEntries', id, patch)
export const deleteConversationEntry = (id: number): void => deleteRowById('conversationEntries', id)
export const listConversationSkillScoresAll = (): ConversationSkillScore[] => getAllRows<ConversationSkillScore>('conversationSkillScores')
export const addConversationSkillScore = (s: Omit<ConversationSkillScore, 'id'>): number => insertRow('conversationSkillScores', s)
export const updateConversationSkillScore = (id: number, patch: Partial<ConversationSkillScore>): number =>
updateRow('conversationSkillScores', id, patch)
export const deleteConversationSkillScoresForEntry = (conversationEntryId: number): number =>
deleteRowsWhereEquals('conversationSkillScores', 'conversationEntryId', conversationEntryId)