summaryrefslogtreecommitdiff
path: root/alarm/node_modules/pronote-api/bin/fetch.js
diff options
context:
space:
mode:
authorMinteck <contact@minteck.org>2023-01-10 14:54:04 +0100
committerMinteck <contact@minteck.org>2023-01-10 14:54:04 +0100
commit99c1d9af689e5325f3cf535c4007b3aeb8325229 (patch)
treee663b3c2ebdbd67c818ac0c5147f0ce1d2463cda /alarm/node_modules/pronote-api/bin/fetch.js
parent9871b03912fc28ad38b4037ebf26a78aa937baba (diff)
downloadpluralconnect-99c1d9af689e5325f3cf535c4007b3aeb8325229.tar.gz
pluralconnect-99c1d9af689e5325f3cf535c4007b3aeb8325229.tar.bz2
pluralconnect-99c1d9af689e5325f3cf535c4007b3aeb8325229.zip
Update - This is an automated commit
Diffstat (limited to 'alarm/node_modules/pronote-api/bin/fetch.js')
-rwxr-xr-xalarm/node_modules/pronote-api/bin/fetch.js120
1 files changed, 0 insertions, 120 deletions
diff --git a/alarm/node_modules/pronote-api/bin/fetch.js b/alarm/node_modules/pronote-api/bin/fetch.js
deleted file mode 100755
index d9e88e7..0000000
--- a/alarm/node_modules/pronote-api/bin/fetch.js
+++ /dev/null
@@ -1,120 +0,0 @@
-#!/usr/bin/env node
-
-/* eslint no-console: off */
-
-const fs = require('fs').promises;
-const pronote = require('..');
-
-if (process.argv.length < 5) {
- console.log('Syntax: pronote-fetch <URL> <username> <password> [cas(ex: none)] [AccountType (ex: Student)]');
- return;
-}
-
-const [,, url, username, password, cas = 'none', accountType] = process.argv;
-
-async function fetch()
-{
- let result;
- switch (accountType)
- {
- case 'parent':
- result = await parent();
- break;
- default:
- result = await student();
- break;
- }
-
- await fs.writeFile('result.json', JSON.stringify(result, null, 4));
-
- console.log('Wrote \'result.json\'');
-}
-
-async function student()
-{
- const session = await pronote.login(url, username, password, cas);
- console.log(`Logged as student '${session.user.name}' (${session.user.studentClass.name})`);
-
- const { from, to } = getFetchDate(session);
-
- const timetable = await session.timetable(from, to);
- const marks = await session.marks();
- const evaluations = await session.evaluations();
- const absences = await session.absences();
- const infos = await session.infos();
- const contents = await session.contents(from, to);
- const homeworks = await session.homeworks(from, to);
- const menu = await session.menu(from, to);
- const files = await session.files();
-
- return {
- name: session.user.name,
- studentClass: session.user.studentClass.name,
- avatar: session.user.avatar,
-
- timetable, marks, evaluations, absences,
- infos, contents, homeworks, menu, files
- };
-}
-
-async function parent()
-{
- const session = await pronote.loginParent(url, username, password, cas);
- console.log(`Logged as parent '${session.user.name}' (${session.user.students.length} students)`);
-
- const { from, to } = getFetchDate(session);
-
- const students = [];
- for (const student of session.user.students) {
- console.log(`Fetching data of user '${student.name}' (${student.studentClass.name})`);
-
- const timetable = await session.timetable(student, from, to);
- const marks = await session.marks(student);
- const evaluations = await session.evaluations(student);
- const absences = await session.absences(student);
- const infos = await session.infos(student);
- const contents = await session.contents(student, from, to);
- const homeworks = await session.homeworks(student, from, to);
- const menu = await session.menu(student, from, to);
- const files = await session.files(student);
-
- students.push({
- name: student.name,
- studentClass: student.studentClass.name,
- avatar: student.avatar,
-
- timetable, marks, evaluations, absences,
- infos, contents, homeworks, menu, files
- });
- }
-
- return {
- name: session.user.name,
- students
- };
-}
-
-function getFetchDate(session)
-{
- let from = new Date();
- if (from < session.params.firstDay) {
- from = session.params.firstDay;
- }
-
- const to = new Date(from.getTime());
- to.setDate(to.getDate() + 15);
-
- return { from, to };
-}
-
-fetch().catch(err => {
- if (err.code === pronote.errors.WRONG_CREDENTIALS.code) {
- return console.error('Invalid credentials, did you chose the right CAS ?');
- }
-
- if (err.code !== undefined) {
- console.error(`ERROR: [${err.code}] ${err.message}`);
- } else {
- console.error(err);
- }
-});