alex
1a4f56cdd9
feat: add backup dashboard summary endpoint
2026-05-11 21:41:49 +02:00
alex
6b0f2df629
feat: add backup monitoring API endpoints
2026-05-11 21:34:52 +02:00
alex
836f733a2e
feat: Add API key authentication for backup tool
...
- Add get_api_key() and require_api_key() to auth.py
- Add generic key-value settings storage to SettingsStore
- Add test_api_key_auth to verify the implementation
- Uses secrets.compare_digest for timing-safe comparison
- Auto-generates API key on first use and stores in settings DB
2026-05-11 21:25:46 +02:00
alex
f912623677
feat: add backup alert background poller
2026-05-11 20:47:08 +02:00
alex
cc8056d398
feat: add backup alert generation engine
2026-05-11 20:41:33 +02:00
alex
dd375a7e16
feat: add backup monitoring CRUD operations
2026-05-11 20:38:13 +02:00
alex
bd9765d4d9
feat: add backup monitoring pydantic models
2026-05-11 20:27:28 +02:00
alex
83d05ffea4
feat: add backup monitoring database schema
2026-05-11 20:22:23 +02:00
alex
80d38ed86d
fixes and improvements
2026-05-11 17:00:46 +02:00
alex
67a619e148
fixes and improvements
2026-05-11 16:27:07 +02:00
alex
befddf93ce
fix: pass jellyfin/jellyseerr secrets via get_machine_config and add placeholder for set fields
2026-05-07 23:39:59 +02:00
alex
7e80733837
fixes and improvements
2026-05-07 23:09:08 +02:00
alex
a5910b0fd6
fixes and improvements
2026-05-07 22:49:56 +02:00
alex
fe66aaf2f0
fixes and improvements
2026-05-07 21:20:55 +02:00
alex
3934893099
Auto-start collectors when saving machines
2026-05-07 21:09:05 +02:00
alex
02f6617f71
Validate SSH when saving machines
2026-05-07 20:59:23 +02:00
alex
0fa97633ce
fixes and improvements
2026-05-07 20:44:38 +02:00
alex
c73cfa27c3
fixes and improvements
2026-05-07 20:36:37 +02:00
alex
420dc34272
fixes and improvements
2026-05-07 20:07:54 +02:00
alex
84dc2bd2f6
Add SSH connection validation for settings
2026-05-07 18:31:49 +02:00
alex
2219a5730f
Fix SSH key handling for monitoring
2026-05-07 17:39:59 +02:00
alex
6d8b08d30f
fixes and improvements
2026-05-07 15:43:22 +02:00
alex
1d1f052d18
Add hybrid app version labels
2026-05-07 15:17:31 +02:00
alex
1113fac144
fixes and improvements
2026-05-07 14:04:07 +02:00
alex
efc9b247c7
fixes and improvements
2026-05-07 13:48:10 +02:00
alex
bba23165ab
fixes and improvements
2026-05-07 12:34:16 +02:00
alex
2ecca84892
fixes and improvements
2026-05-07 10:17:58 +02:00
alex
016e3255f5
Add missing frontend and backend files
2026-05-06 23:46:08 +02:00
alex
b0d84399ab
fixes and improvements
2026-05-06 21:25:12 +02:00
alex
5277f21577
fixes and improvements
2026-05-06 16:33:02 +02:00
alex
d8d80867ce
now supports multi machine monitoring
2026-05-06 15:09:15 +02:00
alex
8f0a9650b0
refactor frontend and backend modules
2026-05-04 22:57:57 +02:00
alex
7950bc9f64
redesign
2026-05-04 17:24:41 +02:00
alex
f1694ac99b
bugfixes
2026-05-04 17:07:44 +02:00
alex
4cdb4b144c
simplifications and refactorings
2026-05-04 16:59:06 +02:00
alex
26f6f3d41f
deployment fixes
2026-05-04 16:03:39 +02:00
alex
e5e31d5a3b
deployment fixes
2026-05-04 15:23:34 +02:00
alex
4226628d5a
Phase 2: Docker and OIDC auth
2026-05-04 13:50:53 +02:00
alex
47baee854b
Add comprehensive test suite for backend (133 tests)
...
Test coverage:
- test_utils.py: formatting helpers (human_size, ticks_to_minutes,
format_duration, format_bitrate, ffprobe summaries, stream parsing)
- test_path_utils.py: path resolution (prefix, media root mapping,
edge cases with spaces/special chars)
- test_domain_media.py: Jellyfin item normalization (HDR detection,
media sources, stream extraction, display formatting)
- test_jobs.py: job template rendering and shell quoting safety
- test_media_index.py: SQLite index CRUD, querying, filtering,
sorting, pagination
- test_config.py: pydantic-settings env loading
- test_api.py: full FastAPI integration tests with mocked SSH/Jellyfin
(all endpoints: dashboard, monitoring, media, files, jobs)
All tests run without network/SSH dependencies using mocks.
2026-05-03 12:45:14 +02:00
alex
51b10438a9
Restructure into backend/ and frontend/ subprojects
...
- backend/ uses proper Python src layout (src/media_library_viewer_api/)
with pyproject.toml, hatchling build, and PYTHONPATH=src convention
- frontend/ is a Vite + React + TypeScript SPA
- archive/ preserves the original Streamlit prototype for reference
- Cleaned up root to only contain docs, license, and subproject dirs
- Updated README for the new dual-subproject architecture
2026-04-30 21:48:46 +02:00