evaluations.ts
1 import { RequestFN } from "~/core/request-function"; 2 import { decodeEvaluation } from "~/decoders/evaluation"; 3 import { encodePeriod } from "~/encoders/period"; 4 import { type Evaluation, type Period, type SessionHandle, TabLocation } from "~/models"; 5 import { apiProperties } from "./private/api-properties"; 6 7 export const evaluations = async (session: SessionHandle, period: Period): Promise<Array<Evaluation>> => { 8 const properties = apiProperties(session); 9 10 const request = new RequestFN(session, "DernieresEvaluations", { 11 [properties.signature]: { onglet: TabLocation.Evaluations }, 12 13 [properties.data]: { 14 periode: encodePeriod(period) 15 } 16 }); 17 18 const response = await request.send(); 19 20 return response.data[properties.data].listeEvaluations.V 21 .map(decodeEvaluation); 22 };