summaryrefslogtreecommitdiff
path: root/alarm/node_modules/pronote-api/src/fetch/pronote/infos.js
diff options
context:
space:
mode:
Diffstat (limited to 'alarm/node_modules/pronote-api/src/fetch/pronote/infos.js')
-rw-r--r--alarm/node_modules/pronote-api/src/fetch/pronote/infos.js33
1 files changed, 33 insertions, 0 deletions
diff --git a/alarm/node_modules/pronote-api/src/fetch/pronote/infos.js b/alarm/node_modules/pronote-api/src/fetch/pronote/infos.js
new file mode 100644
index 0000000..6e05ce1
--- /dev/null
+++ b/alarm/node_modules/pronote-api/src/fetch/pronote/infos.js
@@ -0,0 +1,33 @@
+const parse = require('../../data/types');
+const navigate = require('./navigate');
+
+const PAGE_NAME = 'PageActualites';
+const TAB_ID = 8;
+const ACCOUNTS = ['student', 'parent'];
+
+async function getInfos(session, user)
+{
+ const infos = await navigate(session, user, PAGE_NAME, TAB_ID, ACCOUNTS, {
+ estAuteur: false
+ });
+
+ if (!infos) {
+ return null;
+ }
+
+ return {
+ categories: parse(infos.listeCategories, ({ estDefaut }) => ({
+ isDefault: estDefaut
+ })),
+ infos: parse(infos.listeActualites, ({ dateDebut, elmauteur, listeQuestions }) => ({
+ date: parse(dateDebut),
+ author: parse(elmauteur),
+ content: parse(listeQuestions, ({ texte, listePiecesJointes }) => ({
+ text: parse(texte),
+ files: parse(listePiecesJointes)
+ }))
+ }))
+ };
+}
+
+module.exports = getInfos;