UNPKG

ecoledirecte.js

Version:

Good-looking client for EcoleDirecte's private API.

63 lines (62 loc) 2.17 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.tickAssignement = exports.getTextbookPage = exports.getUpcomingAssignementDates = void 0; const v3_1 = require("ecoledirecte-api-types/v3"); const util_1 = require("../util"); /** * @param id Account id * @param token Auth token */ async function getUpcomingAssignementDates(id, token, context = {}) { const body = await (0, util_1.makeRequest)({ method: "POST", path: v3_1.Routes.studentHomework(id), body: { token }, guard: true, }, { userId: id, action: "getUpcomingAssignementDates", ...context }); const dates = Object.keys(body.data); // .map((date) => new Date(date)); return { dates, token: body.token || token }; } exports.getUpcomingAssignementDates = getUpcomingAssignementDates; /** * @param id Account id * @param token Auth token * @param date Date of the textbook page (YYYY-MM-DD) */ async function getTextbookPage(id, token, date, context = {}) { const body = await (0, util_1.makeRequest)({ method: "POST", path: v3_1.Routes.studentHomeworkDate(id, date), body: { token }, guard: true, }, { userId: id, action: "getTextbookPage", ...context }); return body; } exports.getTextbookPage = getTextbookPage; async function tickAssignement(id, token, assignement, state, context = {}) { var _a; if (!("aFaire" in assignement)) throw Error("No work in this assignement."); if (state === undefined) state = !((_a = assignement.aFaire) === null || _a === void 0 ? void 0 : _a.effectue); const data = { token: token, }; if (state) data.idDevoirsEffectues = [assignement.id]; if (!state) data.idDevoirsNonEffectues = [assignement.id]; const body = await (0, util_1.makeRequest)({ method: "POST", path: v3_1.Routes.studentHomework(id, { verbe: "put" }), body: data, guard: true, }, { userId: id, assignementId: assignement.id, action: "tickAssignement", ...context, }); return body; } exports.tickAssignement = tickAssignement;