diff options
Diffstat (limited to 'alarm/node_modules/pronote-api/src/fetch/infos.js')
-rw-r--r-- | alarm/node_modules/pronote-api/src/fetch/infos.js | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/alarm/node_modules/pronote-api/src/fetch/infos.js b/alarm/node_modules/pronote-api/src/fetch/infos.js new file mode 100644 index 0000000..0ec03a7 --- /dev/null +++ b/alarm/node_modules/pronote-api/src/fetch/infos.js @@ -0,0 +1,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; |