diff options
author | Minteck <contact@minteck.org> | 2023-02-23 19:34:56 +0100 |
---|---|---|
committer | Minteck <contact@minteck.org> | 2023-02-23 19:34:56 +0100 |
commit | 3d1cd02f27518f1a04374c7c8320cd5d82ede6e9 (patch) | |
tree | 75be5fba4368472fb11c8015aee026b2b9a71888 /includes/external/school/node_modules/pronote-api/src/fetch/menu.js | |
parent | 8cc1f13c17fa2fb5a4410542d39e650e02945634 (diff) | |
download | pluralconnect-3d1cd02f27518f1a04374c7c8320cd5d82ede6e9.tar.gz pluralconnect-3d1cd02f27518f1a04374c7c8320cd5d82ede6e9.tar.bz2 pluralconnect-3d1cd02f27518f1a04374c7c8320cd5d82ede6e9.zip |
Updated 40 files, added 37 files, deleted 1103 files and renamed 3905 files (automated)
Diffstat (limited to 'includes/external/school/node_modules/pronote-api/src/fetch/menu.js')
-rw-r--r-- | includes/external/school/node_modules/pronote-api/src/fetch/menu.js | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/includes/external/school/node_modules/pronote-api/src/fetch/menu.js b/includes/external/school/node_modules/pronote-api/src/fetch/menu.js new file mode 100644 index 0000000..6f2872c --- /dev/null +++ b/includes/external/school/node_modules/pronote-api/src/fetch/menu.js @@ -0,0 +1,41 @@ +const getMenu = require('./pronote/menu'); + +async function menu(session, user, from = new Date(), to = null) +{ + if (!to || to < from) { + to = new Date(from.getTime()); + to.setDate(to.getDate() + 1); + to.setHours(to.getHours() - 1); + } + + const result = []; + const date = new Date(from.getTime()); + + // eslint-disable-next-line no-unmodified-loop-condition + while (date < to) { + const menus = await getMenu(session, user, date); + if (!menus) { + return null; + } + + for (const menu of menus.menus) { + if (menu.date < from || menu.date > to) { + continue; + } + + result.push({ + date: menu.date, + meals: menu.meals.map(m => m.content.map(c => c.lines.map(({ name, labels }) => ({ + name, + labels: labels.map(({ name, color }) => ({ name, color })) + })))) + }); + } + + date.setDate(date.getDate() + 7); + } + + return result; +} + +module.exports = menu; |