diff options
author | Minteck <contact@minteck.org> | 2022-10-18 08:59:09 +0200 |
---|---|---|
committer | Minteck <contact@minteck.org> | 2022-10-18 08:59:09 +0200 |
commit | 2c4ae43e688a9873e86211ea0e7aeb9ba770dd77 (patch) | |
tree | 17848d95522dab25d3cdeb9c4a6450e2a234861f /alarm/node_modules/pronote-api/src/fetch/files.js | |
parent | 108525534c28013cfe1897c30e4565f9893f3766 (diff) | |
download | pluralconnect-2c4ae43e688a9873e86211ea0e7aeb9ba770dd77.tar.gz pluralconnect-2c4ae43e688a9873e86211ea0e7aeb9ba770dd77.tar.bz2 pluralconnect-2c4ae43e688a9873e86211ea0e7aeb9ba770dd77.zip |
Update
Diffstat (limited to 'alarm/node_modules/pronote-api/src/fetch/files.js')
-rw-r--r-- | alarm/node_modules/pronote-api/src/fetch/files.js | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/alarm/node_modules/pronote-api/src/fetch/files.js b/alarm/node_modules/pronote-api/src/fetch/files.js new file mode 100644 index 0000000..7703ee4 --- /dev/null +++ b/alarm/node_modules/pronote-api/src/fetch/files.js @@ -0,0 +1,32 @@ +const { parseDate } = require('../data/dates'); +const { getFileURL } = require('../data/files'); +const { withId, checkDuplicates } = require('../data/id'); + +const getFiles = require('./pronote/files'); + +async function files(session, user) { + const files = await getFiles(session, user); + if (!files) { + return null; + } + + const result = []; + + const subjects = {}; + for (const subject of files.listeMatieres.V) { + subjects[subject.N] = subject.L; + } + + for (const file of files.listeRessources.V) { + result.push(withId({ + time: parseDate(file.date.V), + subject: subjects[file.matiere.V.N], + name: file.ressource.V.L, + url: getFileURL(session, { id: file.ressource.V.N, name: file.ressource.V.L, type: file.ressource.V.G }) + }, 'subject', 'name')); + } + + return checkDuplicates(result); +} + +module.exports = files; |