73 Commits

Author SHA1 Message Date
43331ae226 👽 Increase BOLLE App-Version header to 5 2023-10-07 09:44:21 +02:00
c9e48fe8b4 🚑 Prevent duplicate substitutions within a file 2023-08-28 12:14:40 +02:00
cce7bd55da 🚑 Prevent duplicate substitutions
- Prevent duplication if two substitution plan files are the same
2023-08-28 11:19:46 +02:00
7705a299a0 🧑‍💻 Add simple filesystem file provider
- Allows parsing files from a local folder
2023-08-27 18:01:28 +02:00
0cb55eaf68 Add support for other substitution types
- Store and display original substitution type text
- Treat "eigenverantwortliches Arbeiten" as cancellation
2023-08-27 18:00:09 +02:00
70238b4151 🎨 Run updated prettier 2023-08-25 14:42:38 +02:00
57807e7ce0 ⬆️ Upgrade dependencies 2023-08-25 14:42:13 +02:00
f18454c49a 🚑 Fix crash while extracting untis timestamp 2023-08-25 01:18:07 +02:00
108dbc98e8 🛂 Add script for creating an initial admin key 2023-06-30 22:35:16 +02:00
757cec7438 Add key management to admin settings 2023-06-30 20:52:36 +02:00
d984977f59 🐛 Allow keys to have multiple associated sessions 2023-06-30 18:17:25 +02:00
5a4e84f3c7 🚑 Set lesson of substitution to 0 if column empty 2023-06-30 17:32:55 +02:00
f286741557 🚑 Fix server crash on /info call if auth disabled 2023-06-30 17:31:37 +02:00
9aab04d4d2 Include class in history api response 2023-06-23 17:30:56 +02:00
0ae553cca8 🚧 Add admin api and ui for timetable management 2023-06-20 23:10:52 +02:00
41c0d329fb Allow updating remote timetables with permission 2023-06-20 20:22:51 +02:00
5d9317ac01 🛂 Add key-based permission system 2023-06-20 19:53:34 +02:00
917783d114 ⬆️ Upgrade dependencies 2023-06-20 18:39:46 +02:00
8b3809aeda 🚑 Fix insert/delete loop if plans have same date
- Fix loop if multiple plans have the same date but different data
- Instead join them into one single plan to parse all substitutions
- Swap teacher and changedTeacher of "Sondereinsa." substitutions
2023-06-20 15:40:05 +02:00
48364d4c59 Add support for multiple remote timetables
- Add timetable "title" column to db
- Make API return array of timetables
- Add settings page for selecting a timetable
- Add InfoCard if no timetable is selected
2023-06-18 14:30:36 +02:00
16f693fff0 📝 Improve documentation 2023-06-03 14:51:09 +02:00
44f416366f 🔨 Make eslint work for nodejs in server/ 2023-06-03 14:17:38 +02:00
4ada825718 📄 License under GPL v3 2023-06-03 14:14:27 +02:00
0b9c8a5552 Migrate from DSB Mobile to BOLLE 2023-06-02 21:15:52 +02:00
d3b1bacacd Add support for BOLLE 2023-06-02 21:14:33 +02:00
68dfb7cb7c 🥅 Better error-handling on DSB request failure 2023-06-02 20:47:36 +02:00
c6120e5f68 🎨 Make the parser modular
- Move some DSB related functions from parser/index to parser/dsbmobile
- Make the dsb parser a fileProvider with the DSBClient class
- Initialize the parser with a fileProvider and documentParser instance
2023-06-02 16:59:20 +02:00
54fa25f3dd 🐛 Fix crash when trying to renew session 2023-06-02 14:23:40 +02:00
8d910118f7 ⬆️ Update dependencies 2023-06-02 14:19:23 +02:00
b254847e74 🐛 Renew session tokens on api requests 2023-01-12 23:36:57 +01:00
00c2ac9a56 Display times on the timetable 2023-01-03 00:21:08 +01:00
7f51e29e76 🔧 Generate jsconfig with npx jsconfig.json 2023-01-02 16:34:01 +01:00
e2e3113b5b ♻️ Rework authentication
- Move login endpoint `/login` to `/auth/login`
- Add logout route `/auth/logout`
- Add `/api/token` endpoint and `?token=` query parameter for auth
- Refactor `auth.js`
2023-01-01 17:11:42 +01:00
568bfb9782 ♻️ Refactor backend 2022-11-16 19:03:32 +01:00
3666492e90 ⬆️ Upgrade dependencies 2022-11-16 18:16:17 +01:00
4346aa23c5 Implement day navigation gestures with Swiper.js 2022-09-11 20:40:08 +02:00
8d9bcee279 Only use substitutions of first day in file 2022-09-04 22:04:01 +02:00
fa9de85eed 🚑 Fix parser crash if column order is different 2022-08-21 13:16:43 +02:00
6ec9e484eb ✏️ Fix typo 2022-08-21 00:53:24 +02:00
5fd7ae44fd Add "trusted" and "source" to Timetable 2022-08-21 00:50:06 +02:00
b879f48c61 ⬆️ Update dependencies 2022-08-21 00:49:21 +02:00
cc56c7ae7c ⬆️ Upgrade dependencies to the latest version 2022-06-07 12:53:14 +02:00
45f682a718 Store auth sessions in database 2022-06-02 23:18:53 +02:00
5489e6377c 🐛 Fix date parameter not accepting unix timestamp 2022-06-02 21:32:35 +02:00
5c4bf21a77 Save original teacher in substitution entries 2022-06-02 16:30:33 +02:00
50baefabfe 🐛 Fix lessons spanning over more than two lessons 2022-06-01 18:37:46 +02:00
f5795637cf 🛂 Disable auth if no password is set 2022-05-19 23:46:33 +02:00
4150766483 🔇 Stop logging unchanged substitutions 2022-05-19 21:51:47 +02:00
9fad079102 ♻️ Refactor backend and add comments 2022-05-19 00:22:55 +02:00
64196eeab2 Use Vue-based login page 2022-05-05 14:39:41 +02:00