Commit Graph

6 Commits

Author SHA1 Message Date
Matthieu B
6ebafbf328 fix: deduplicate wizard steps in multi-server setups and add bundle selection to API
Default wizard steps were duplicated once per server instance of the same
type (e.g., 2 Plex servers → 6 steps instead of 3). Deduplicate the
server type list before loading steps so each type's steps appear only once.

Also add the missing wizard_bundle_id parameter to the invitation creation
API, matching the existing web UI capability.

Closes #1219
2026-04-01 22:33:27 +02:00
Matthieu B
41ca8856f0 fix: add missing created_at column to User model (#1182)
Add created_at column to the User model, an Alembic migration to
backfill existing rows via server_default, and update the API
serialization and OpenAPI spec from the stale `created` field to
`created_at` so the joined/created date is no longer returned as null.
2026-03-29 16:11:05 +02:00
Mully
18715f3a6c feat: add GET /admins endpoint
+ Created admins namespace in api_routes for new /admins endpoint

+ GET /admins endpoint added to api_routes (similar to GET /users)

GET /admins returns:
- Admin account info (admins)
- Total # of admins (count)

For each admin in admins:
- ID (id)
- Username (username)
- # of Passkeys (passkeys)
- Creation date (created)

More detailed information can be found in the small models.py diff
2025-10-06 10:48:04 -04:00
Matthieu B
cc4c0dad86 feat: add user expiry update endpoint and models 2025-09-19 22:11:44 +02:00
Matthieu B
1723e876b6 Refactor API models and invitation flow; add comprehensive tests
- Updated `InvitationCreateRequest` model to change `server_ids` from required to optional with improved description.
- Enhanced `library_model` to include `external_id`, `server_name`, and `enabled` fields.
- Modified `InvitationFlowManager` to prioritize new many-to-many relationship checks for invitations.
- Created a new migration file to merge branches related to API key and foreign key improvements.
- Added comprehensive tests for API endpoints, including status, users, invitations, libraries, servers, and API key management.
- Implemented error handling tests for malformed JSON and inactive API keys.
2025-08-13 20:58:11 +02:00
Matthieu B
b27167e4eb Merge latest changes from main
Resolved conflicts in:
- app/models.py: Combined ApiKey and ExpiredUser models
- app/logging_config.py: Combined API logger and alembic logger configurations
- app/blueprints/public/routes.py: Combined server resolution approaches with fallback
2025-08-13 20:15:05 +02:00