import { rpc } from '../rpcClient' import type { FeedbackDraft, AssignmentFeedback, FeedbackCategoryRating, FeedbackDimensionText, FeedbackCategoryText, } from '../types' export const getFeedbackDraft = (assignmentId: number, instituteeId: number): Promise => rpc('assignmentFeedback', 'getFeedbackDraft', assignmentId, instituteeId) export const addFeedbackDraft = (d: Omit): Promise => rpc('assignmentFeedback', 'addFeedbackDraft', d) export const updateFeedbackDraft = (id: number, patch: Partial): Promise => rpc('assignmentFeedback', 'updateFeedbackDraft', id, patch) export const getAssignmentFeedback = (assignmentId: number, instituteeId: number): Promise => rpc('assignmentFeedback', 'getAssignmentFeedback', assignmentId, instituteeId) /** Für die Auswertungsübersicht: Feedback-Status (Entwurf/Final) aller Assignments auf einen Schlag, statt N+1-Abfragen pro Zeile. */ export const listAssignmentFeedbacksAll = (): Promise => rpc('assignmentFeedback', 'listAssignmentFeedbacksAll') export const getAssignmentFeedbackById = (id: number): Promise => rpc('assignmentFeedback', 'getAssignmentFeedbackById', id) export const addAssignmentFeedback = (f: Omit): Promise => rpc('assignmentFeedback', 'addAssignmentFeedback', f) export const updateAssignmentFeedback = (id: number, patch: Partial): Promise => rpc('assignmentFeedback', 'updateAssignmentFeedback', id, patch) export const getOrCreateAssignmentFeedback = ( assignmentId: number, instituteeId: number, ): Promise => rpc('assignmentFeedback', 'getOrCreateAssignmentFeedback', assignmentId, instituteeId) export const listFeedbackCategoryRatings = (assignmentFeedbackId: number): Promise => rpc('assignmentFeedback', 'listFeedbackCategoryRatings', assignmentFeedbackId) export const addFeedbackCategoryRating = (r: Omit): Promise => rpc('assignmentFeedback', 'addFeedbackCategoryRating', r) export const updateFeedbackCategoryRating = (id: number, patch: Partial): Promise => rpc('assignmentFeedback', 'updateFeedbackCategoryRating', id, patch) export const listFeedbackDimensionTexts = (assignmentFeedbackId: number): Promise => rpc('assignmentFeedback', 'listFeedbackDimensionTexts', assignmentFeedbackId) export const getFeedbackDimensionText = ( assignmentFeedbackId: number, feedbackDimensionId: number, ): Promise => rpc('assignmentFeedback', 'getFeedbackDimensionText', assignmentFeedbackId, feedbackDimensionId) export const addFeedbackDimensionText = (t: Omit): Promise => rpc('assignmentFeedback', 'addFeedbackDimensionText', t) export const updateFeedbackDimensionText = (id: number, patch: Partial): Promise => rpc('assignmentFeedback', 'updateFeedbackDimensionText', id, patch) export const listFeedbackCategoryTexts = (assignmentFeedbackId: number): Promise => rpc('assignmentFeedback', 'listFeedbackCategoryTexts', assignmentFeedbackId) export const getFeedbackCategoryText = ( assignmentFeedbackId: number, feedbackCategoryId: number, ): Promise => rpc('assignmentFeedback', 'getFeedbackCategoryText', assignmentFeedbackId, feedbackCategoryId) export const addFeedbackCategoryText = (t: Omit): Promise => rpc('assignmentFeedback', 'addFeedbackCategoryText', t) export const updateFeedbackCategoryText = (id: number, patch: Partial): Promise => rpc('assignmentFeedback', 'updateFeedbackCategoryText', id, patch)