ecoledirecte.js
Version:
Good-looking client for EcoleDirecte's private API.
26 lines (25 loc) • 971 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.cleanMessages = exports.getMessages = void 0;
const v3_1 = require("ecoledirecte-api-types/v3");
const util_1 = require("../util");
const classes_1 = require("../../classes");
async function getMessages(id, token, direction = "received", context = {}) {
const body = await (0, util_1.makeRequest)({
method: "POST",
path: v3_1.Routes.studentMailbox(id, { typeRecuperation: direction }),
body: { token },
guard: true,
}, { userId: id, action: "getMessages", ...context });
return body;
}
exports.getMessages = getMessages;
function cleanMessages(mailboxRes, student) {
const { received, sent } = mailboxRes.data.messages;
const all = [...received, ...sent];
const messages = all
.map(v => new classes_1.Message(v, student))
.sort((a, b) => a.id - b.id);
return messages;
}
exports.cleanMessages = cleanMessages;