/ src / api / evaluations.ts
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  };