fix(report): aligner payloads corrections/ee et eo sur contrat backend réel

This commit is contained in:
Hermann_Kitio 2026-04-20 03:45:52 +03:00
parent d7b084d05a
commit 1dbca24c35
3 changed files with 17 additions and 8 deletions

View file

@ -13,9 +13,16 @@
import { apiFetch } from '@/shared/lib/api-client' import { apiFetch } from '@/shared/lib/api-client'
import type { CorrectEePayload, CorrectEoPayload, Report } from './types' import type { CorrectEePayload, CorrectEoPayload, Report } from './types'
/** Récupère un rapport existant. Endpoint : `GET /simulations/:id`. */
export function getReport(id: string): Promise<Report> {
return apiFetch<Report>(`/simulations/${id}`)
}
const CORRECTION_TIMEOUT_MS = 30_000 const CORRECTION_TIMEOUT_MS = 30_000
/** Soumet une production écrite pour correction. Endpoint : `POST /corrections/ee`. */ /** Soumet une production écrite pour correction. Endpoint : `POST /corrections/ee`.
* Payload : { simulationId, contenu, tache }
*/
export function correctEe(payload: CorrectEePayload): Promise<Report> { export function correctEe(payload: CorrectEePayload): Promise<Report> {
return apiFetch<Report>('/corrections/ee', { return apiFetch<Report>('/corrections/ee', {
method: 'POST', method: 'POST',
@ -26,7 +33,7 @@ export function correctEe(payload: CorrectEePayload): Promise<Report> {
/** /**
* Soumet une production orale pour correction. Endpoint : `POST /corrections/eo`. * Soumet une production orale pour correction. Endpoint : `POST /corrections/eo`.
* audio_url : URL pré-signée après upload Supabase Storage (implémenté Sprint 4). * Payload : { simulationId, transcript, tache } transcript implémenté Sprint 4.
*/ */
export function correctEo(payload: CorrectEoPayload): Promise<Report> { export function correctEo(payload: CorrectEoPayload): Promise<Report> {
return apiFetch<Report>('/corrections/eo', { return apiFetch<Report>('/corrections/eo', {

View file

@ -45,17 +45,19 @@ export interface Report {
/** Corps de `POST /corrections/ee`. */ /** Corps de `POST /corrections/ee`. */
export interface CorrectEePayload { export interface CorrectEePayload {
simulation_id: string simulationId: string
texte: string contenu: string
tache: string
} }
/** /**
* Corps de `POST /corrections/eo`. * Corps de `POST /corrections/eo`.
* audio_url : URL pré-signée après upload vers Supabase Storage (Sprint 4). * transcript : transcription audio envoyée au backend (implémenté Sprint 4).
*/ */
export interface CorrectEoPayload { export interface CorrectEoPayload {
simulation_id: string simulationId: string
audio_url: string transcript: string
tache: string
} }
/** Sections du rapport dont la visibilité dépend du plan. */ /** Sections du rapport dont la visibilité dépend du plan. */

View file

@ -49,7 +49,7 @@ export function useSimulation() {
function submitText(texte: string): void { function submitText(texte: string): void {
if (!production) return if (!production) return
correctMutation.mutate({ simulation_id: production.id, texte }) correctMutation.mutate({ simulationId: production.id, contenu: texte, tache: production.tache })
} }
function reset(): void { function reset(): void {