13 Commits

Author SHA1 Message Date
cbc1da11fc notification test 2025-07-18 09:23:24 +01:00
af7c1b59f0 notification support 2025-07-17 15:41:47 +01:00
796acd1b4e update stream url if its changed 2025-07-15 19:21:55 +01:00
2034b4211a show max connection next to stream url 2025-07-15 17:54:37 +01:00
842ac5aae2 update expiry 2025-07-15 16:56:48 +01:00
8ac3f498ed docstrings 2025-07-15 15:45:17 +01:00
1c3918354c adding and deleting account is working
All checks were successful
Build and Publish Docker Image / build-and-push (push) Successful in 1m13s
2025-07-14 19:18:47 +01:00
b3054b3dda database connection pooling 2025-07-14 18:32:48 +01:00
8828803754 working config.py setup 2025-07-14 13:42:58 +01:00
79a2f6e944 feat(security): implement AES-GCM for password encryption
Replaces the `pyeasyencrypt` library with a more robust and standard
encryption implementation using `cryptography.hazmat`.

This commit introduces AES-256-GCM for encrypting and decrypting user
account passwords. The `add_account` endpoint now properly encrypts
passwords before database insertion.

Error handling has been added to the `get_user_accounts` endpoint to
manage decryption failures for legacy passwords, which will be returned
as "DECRYPTION_FAILED".

BREAKING CHANGE: The password encryption algorithm has been changed.
All previously stored passwords are now invalid and cannot be decrypted.
2025-07-14 11:12:13 +01:00
4352004ed3 feat(app): restructure as a modern Flask API
This commit refactors the entire backend application into a more structured and maintainable Flask project. It introduces an application factory pattern, consolidates routes into a blueprint, and implements a robust authentication and database layer.

- Introduces a Flask application factory (`create_app` in `main.py`) for better organization and testability.
- Consolidates all API routes into a single blueprint (`routes/api.py`) for modularity.
- Implements a new basic authentication system using a decorator (`@requires_basic_auth`) to secure all endpoints.
- Refactors the database access layer with standardized query execution and connection handling.
- Adds new modules for core logic, including an account checker (`checker.py`) and user retrieval (`get_users.py`).
- Updates the VSCode launch configuration to support the new Flask application structure.

BREAKING CHANGE: The application has been completely restructured. The old `server.py` entry point is removed. The application should now be run via the app factory in `main.py`. All API endpoints now require basic authentication.
2025-07-13 19:40:04 +01:00
445cdc834a latest working sample 2025-05-10 13:58:58 +01:00
Karl Hudgell
a15c68daac initial commit 2023-09-14 12:16:18 +01:00