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
3d6b57eb88
Refactored api.py endpoint handlers
2025-08-26 16:28:12 +02:00
CasVT
d4d6d0973c
Clean expired API keys every 24h
...
If someone logs in, then never logs back in while the key expires, then the key is stored in the dict and never deleted. So every 24 hours delete all keys that have been expired for more than 24 hours. Avoids a memory leak-like situation.
2025-08-26 02:30:01 +02:00
CasVT
515ef665a2
Changed what's stored in global context vars for API
2025-08-26 01:52:01 +02:00
CasVT
b68284530b
Changed generation and hashing of API keys
...
Moved from generating API keys using os.urandom to secrets.token_hex. Moved from hashing the keys using stdlib.hash to hashlib.sha256.
2025-08-26 00:50:46 +02:00
CasVT
42891f5f32
Moved API inputs to context globals
2025-08-25 23:29:16 +02:00
CasVT
6244aff737
Improved type hinting in api.py
2025-08-25 22:49:35 +02:00
CasVT
b18f305cc5
Run timezone check on startup
2025-08-25 21:11:10 +02:00
CasVT
590c0b25ce
Refactored tz_shifter.py
2025-08-25 20:56:04 +02:00
CasVT
3df51b2cbf
Moved doc string
2025-08-25 20:32:31 +02:00
CasVT
a369e80ab3
Refactored reminder_handler.py
2025-08-21 17:53:31 +02:00
CasVT
61882e609a
Refactored reminders.py
2025-08-21 16:57:23 +02:00
CasVT
85a2f32dad
Refactored static_reminders.py
2025-08-21 15:52:09 +02:00
CasVT
71c3c9b36c
Fixed docstrings in templates.py
2025-08-21 15:38:28 +02:00
CasVT
1f4ac2d433
Updated docstrings in users.py
2025-08-21 15:30:46 +02:00
CasVT
414eae0614
Refactored templates.py
2025-08-21 15:28:40 +02:00
CasVT
08bd642224
Refactored notification_services.py
2025-08-21 15:15:46 +02:00
CasVT
536d1a0b93
Renamed variables in Users class
2025-08-21 15:10:04 +02:00
CasVT
bafd8abe6a
Refactored users.py
2025-08-18 17:05:35 +02:00
CasVT
6da1d3b2f6
Refactored apprise_parser.py
2025-08-18 16:27:10 +02:00
CasVT
d80dd8c2a0
Moved reminders.py, static_reminders.py and templates.py to implementations folder
2025-08-18 15:29: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
48105ef88b
Improved library search
2025-07-01 13:34:08 +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