Commit Graph

35 Commits

Author SHA1 Message Date
CasVT
aef883e0da Added 2FA in the backend 2025-08-30 23:12:50 +02:00
CasVT
7456561a3a Fixed bug in migration where NS bindings were lost
The migration would recreate the reminders table but by deferring the foreign keys, the entries in the reminder_services table were removed (ON DELETE CASCADE) so no reminder had a notification service selected. Fixed that by completely turning off and on the foreign key system instead of simply deferring them.
2025-08-29 16:16:16 +02:00
CasVT
6496220b54 Fixed docstrings in Server class 2025-08-26 17:26:19 +02:00
CasVT
bafd8abe6a Refactored users.py 2025-08-18 17:05:35 +02:00
CasVT
5bfe6e207d Supply URL prefix when starting server
Before it would be set via a method, but it's more logical for it to just be supplied when starting to run the server, alongside the host and port.
2025-08-18 15:22:29 +02:00
CasVT
c9719ec221 Create Flask app on init of Server class 2025-08-17 16:34:49 +02:00
CasVT
a8ad6712b2 Removed unnecessary call to close DB connection 2025-08-17 16:08:42 +02:00
CasVT
b427c2c1d4 Refactored Flask error handling setup 2025-08-15 16:42:25 +02:00
CasVT
3847e2fa07 Fixed JSON formatting of API responses 2025-08-12 17:56:52 +02:00
CasVT
344214a605 Refactored signaling of restart type on restart 2025-08-12 17:28:28 +02:00
CasVT
b5387a0635 Moved API prefixes from Server to Constants 2025-08-12 16:57:13 +02:00
CasVT
8739e1ab95 Refactored start type handling 2025-08-06 18:46:48 +02:00
CasVT
492674d280 Turned DatabaseBackupHandler methods into classmethods 2025-08-05 12:26:57 +02:00
CasVT
75823c0899 Put closing threads DB connection into own method 2025-08-05 12:18:56 +02:00
CasVT
cc43df13f9 Only allow editing public settings via API 2025-08-04 18:29:02 +02:00
CasVT
129859048d Split internal settings into separate dataclass 2025-08-03 16:44:27 +02:00
CasVT
258c3db83d Refactored settings.py 2025-08-03 13:24:06 +02:00
CasVT
1e09ce1510 Copy over last DB backup timestamp on DB import
When importing a backup from a long time ago (more than one DB backup interval ago), a backup would be created the moment the import was done, regardless of when the previous backup was made (so even when that was minutes ago). Now the schedule is kept, by copying over the timestamp of the last DB backup from the current DB to the imported DB.
2025-08-03 12:20:49 +02:00
CasVT
40473de47a Changes made since startup were carried over on DB import
The changes made since startup, stored in the wal file, were carried over when importing a database. This was because the database file was replaced with the imported database file, but the changes were stored in the wal file. So now we merge all changes into the main database file before replacing them.
2025-08-02 18:54:28 +02:00
CasVT
ba2d89d4ce Moved backup command to DB connection 2025-08-02 18:03:32 +02:00
CasVT
783a5664d5 Refactored db_backup_import.py 2025-08-02 17:07:45 +02:00
CasVT
09b152fabc Refactored db.py 2025-08-01 17:38:23 +02:00
CasVT
4dc682ed59 Refactored db_migration.py 2025-08-01 17:11:03 +02:00
CasVT
51e2891020 Slightly refactored base code and updated docstrings 2025-08-01 16:58:13 +02:00
CasVT
5b1c285ab3 Fixed default value for DB backup folder 2025-06-25 18:36:23 +02:00
CasVT
8fced3c978 Fixed 404 handling 2025-05-17 20:17:08 +02:00
CasVT
312e3978e3 Improved sorting of user list 2025-05-17 20:06:03 +02:00
CasVT
39847f18cd Added backend for resetting setting values 2025-05-17 19:59:00 +02:00
CasVT
a5ec5c5427 Added support for cron schedules in backend (#83)
Fully functioning backend (and API) support for cron schedules. Frontend is coming later.
2025-05-04 18:02:49 +02:00
CasVT
9a91955ff4 Added timezone change handling (#89) 2025-05-04 16:20:11 +02:00
CasVT
59ac864c16 Added DB backup system 2025-04-30 13:52:31 +02:00
CasVT
cd400bb559 Added option to enable/disable reminders (#77) 2025-04-24 21:10:28 +02:00
CasVT
4f77435801 Converted manifest file into dynamic endpoint 2025-04-24 13:51:43 +02:00
CasVT
89ff90a9a4 Fixed closing DB conns in time on shutdown
We needed the close_all_db function to close any remaining database connections on shutdown. But why were there any unclosed db connections anyway? The connections were closed after the thread was already marked as shut down so when exiting the thread wasn't done with closing the database yet and thus sometimes you had an improper shutdown. Now the threads are only marked as stopped when the database connection is also closed so we have guaranteed that they'll be closed when the server returns. So no more need to explicitly close any remaining afterwards.
2025-04-23 23:10:01 +02:00
CasVT
0cbb03151f Refactored backend (Fixes #87) 2025-04-22 23:29:35 +02:00