summaryrefslogtreecommitdiff
path: root/alarm/node_modules/pronote-api/src/fetch/infos.js
diff options
context:
space:
mode:
Diffstat (limited to 'alarm/node_modules/pronote-api/src/fetch/infos.js')
-rw-r--r--alarm/node_modules/pronote-api/src/fetch/infos.js33
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;