summaryrefslogtreecommitdiff
path: root/school/node_modules/pronote-api/src/fetch/infos.js
blob: 0ec03a7fd02e6315ad02c2b5edc8cb7ba3ec8e0c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
const { getFileURL } = require('../data/files');
const fromHTML = require('../data/html');
const { withId, checkDuplicates } = require('../data/id');

const getInfos = require('./pronote/infos');

async function infos(session, user)
{
    const infos = await getInfos(session, user);
    if (!infos) {
        return null;
    }

    const result = [];

    for (const info of infos.infos)
    {
        result.push(withId({
            date: info.date,
            title: info.name,
            author: info.author.name,
            content: fromHTML(info.content[0].text),
            htmlContent: info.content[0].text,
            files: info.content[0].files.map(f => withId({ name: f.name, url: getFileURL(session, f) }, ['name']))
        }, ['date', 'title']));
    }

    checkDuplicates(result).sort((a, b) => a.date - b.date);

    return result;
}

module.exports = infos;