Commit Graph

30 Commits

Author SHA1 Message Date
Alexander e49cc25372 Add GetArtists RPC with artist monitor state (monitored/unmonitored/excluded) 2026-05-08 22:27:56 +02:00
Alexander 60c94935b2 Persist metadata to DB, poll download worker, metadata service layer 2026-05-08 11:00:04 +02:00
Alexander 66264e1314 Add database schema, ERD, and repository layer 2026-05-08 10:03:28 +02:00
Alexander 84a6fe8ec7 Refactor MonitorAlbum into focused methods 2026-05-07 23:28:35 +02:00
Alexander 8ad2734964 Implement MonitorAlbum: search, parse, filter by quality, add best to qbittorrent 2026-05-07 23:21:21 +02:00
Alexander 79f3f145de Add indexer cache with River queue for scheduled refresh 2026-05-07 21:41:17 +02:00
Alexander 2041c154cf Add the proxing to metadata-agregator 2026-05-07 12:00:37 +02:00
Alexander 97a57c10fd Added add endpoint 2026-05-07 10:27:20 +02:00
Alexander 6071bc7980 Implement the list endpoint for qbittorrent 2026-05-06 22:53:55 +02:00
Alexander 36416081c1 Create torrent proto stub 2026-05-06 22:26:40 +02:00
Alexander 3249bdc35c Add gRPC observability: logging, metrics, recovery interceptors 2026-05-06 21:58:24 +02:00
Alexander 67f46f740b Remove HTTP/REST server, keep gRPC only 2026-05-06 21:45:48 +02:00
Alexander 5fa46b2890 Add attr to differentiate trackers for future 2026-05-06 21:42:05 +02:00
Alexander b8fcbacb07 Update rutracker categories 2026-05-06 21:27:03 +02:00
Alexander 2400c6345a Refactor return type of the search 2026-05-05 14:41:45 +02:00
Alexander b41ea7d023 More parser tests + fixes 2026-05-04 23:17:38 +02:00
Alexander bfef1b6c79 Implement Jackett search entpoint 2026-05-04 22:48:14 +02:00
Alexander 8ffa92276e Add Jacket indexer with capabilities implemented 2026-05-04 18:40:31 +02:00
Alexander 32eb8c931e Create indexer proto 2026-05-04 16:45:22 +02:00
Alexander f8040ec088 Default values for config 2026-05-04 16:27:04 +02:00
Alexander 268ee57913 Grpc hello service implementation 2026-05-04 14:56:05 +02:00
Alexander 6baa895c6c Configure routing 2026-05-03 16:10:24 +02:00
Alexander 58aa4ef23b Added config, added logging 2026-05-03 15:49:35 +02:00
Alexander 8067cd93c5 Start from the beginning 2026-04-29 17:31:07 +02:00
Alexander 945aab82c2 WIP 2026-04-29 17:29:58 +02:00
Alexander 3ecc6aee62 feat: add download tracking endpoints (sections 4.1, 4.2, 4.3, 4.4) 2026-04-29 13:44:01 +02:00
Alexander c307c68d88 feat: add album management endpoints (sections 2.1, 2.2, 2.3) 2026-04-29 13:34:20 +02:00
Alexander ff49403fd5 feat: add edit artist endpoint (section 1.4)
- Add GET/PUT /api/artists/{id} for artist settings
- Update sync to create artists table entry (library settings)
- Support partial updates for monitored, path, quality/metadata profiles
- Add e2e tests for get, edit, partial update flows
2026-04-29 13:22:14 +02:00
Alexander b08a0b1646 feat: add refresh and delete artist endpoints (sections 1.2, 1.3)
- Add POST /api/artists/{id}/refresh to re-fetch metadata from gRPC service
- Add DELETE /api/artists/{id} with cascade delete via PostgreSQL
- Add e2e tests for both flows covering happy path, not found, idempotency
- Extend testutil with GetArtistUpdatedAt, CountAlbumsByArtist, DELETE helper
2026-04-29 13:08:53 +02:00
Alexander 41fb033d30 refactor: rewrite project from Rust to Go
- Replace Axum with Chi router
- Replace sqlx with pgx for PostgreSQL
- Replace tonic/prost with grpc-go
- Replace tracing with zerolog
- Update flake.nix for Go build with protoc generation
- Preserve all existing endpoints and functionality

Stack: Chi, pgx, grpc-go, zerolog, yaml.v3
2026-04-29 10:45:05 +02:00