Commit Graph

150 Commits

Author SHA1 Message Date
4b9fd8168d feat: add SQLite and PostgreSQL event queue adapters with migrations 2026-05-10 17:46:16 +02:00
d9613308a3 feat: implement SQLite and Postgres event queue adapters
- Added SQLite and Postgres event queue implementations with migrations and payload structures.
- Created migration scripts for both SQLite and Postgres event queues.
- Implemented event publishing and consumption logic for both adapters.
- Added serialization and deserialization for domain events to database payloads.
- Updated presentation and worker crates to support new event queue features.
- Refactored event handling to utilize the new database-backed event queues.
2026-05-10 16:09:36 +02:00
1f5c05a5a2 nats adapter 2026-05-10 13:42:28 +02:00
3342905e22 background worker 2026-05-10 11:12:52 +02:00
c8fe4a77d1 feat: add futures dependency to Cargo.lock 2026-05-10 02:53:02 +02:00
ed8ca1d220 feat: add futures workspace dep, upgrade EventConsumer to BoxStream 2026-05-10 02:52:37 +02:00
fdd5dbc935 feat: add EventConsumer port to domain 2026-05-10 02:50:58 +02:00
6cab2166a7 feat: add TMDB metadata provider, prefer over OMDB when TMDB_API_KEY is set 2026-05-10 02:30:53 +02:00
5bf750e0fc feat: feature flags 2026-05-10 02:26:18 +02:00
3d905fc39b feat: postgresql adapter 2026-05-10 01:57:10 +02:00
35fffeef67 feat: admin role 2026-05-10 01:15:48 +02:00
d668d54cc3 feat: show profile RSS in footer when viewing another user's profile 2026-05-10 00:46:51 +02:00
0d32de993b feat: ux improvements 2026-05-10 00:41:43 +02:00
8d78babda0 feat: feed ux improvements 2026-05-10 00:16:29 +02:00
cf99332dc4 feat: update README with enhanced feature descriptions and API documentation 2026-05-09 22:40:54 +02:00
0b1824d874 feat: integrate axum-governor for rate limiting and update dependencies 2026-05-09 22:35:08 +02:00
e445a5eaf4 feat: implement CSRF protection across forms and routes 2026-05-09 22:09:19 +02:00
a714c53a07 feat: add activity feed and user profile endpoints with corresponding DTOs 2026-05-09 21:40:45 +02:00
ae7ff757d0 feat: add documentation crate and integrate OpenAPI specifications
- Added a new crate `doc` for API documentation.
- Integrated `utoipa` for OpenAPI support in the presentation layer.
- Updated routes to include social features (follow, unfollow, etc.) and diary export.
- Enhanced API request and response structures with new DTOs for social interactions.
- Updated `Cargo.toml` files to include new dependencies and features.
- Modified Dockerfile to copy the new documentation crate.
- Refactored existing handlers and routes to accommodate new API endpoints.
- Updated tests to cover new functionality and ensure proper API behavior.

Co-authored-by: Copilot <copilot@github.com>
2026-05-09 21:29:20 +02:00
6323322d97 feat: add export diary functionality and update API routes 2026-05-09 20:59:30 +02:00
fe55d694f9 fix: add missing export adapter Cargo.toml to Dockerfile 2026-05-09 20:52:29 +02:00
dda8b32e6a export feature 2026-05-09 20:51:29 +02:00
d75db17ece Refactor test stubs and consolidate panic implementations
- Removed redundant panic repository implementations in `event_handlers.rs` and `extractors.rs`.
- Introduced a single `Panic` struct to serve as a stub for various repository and service traits.
- Simplified test state creation by using a factory function `make_test_state` to reduce code duplication.
- Updated tests to utilize the new panic implementation and streamlined router setup for better readability.
2026-05-09 20:07:44 +02:00
642d7ef3d0 Refactor application context and repository structure
- Updated `AppContext` to include separate repositories for movies, reviews, diaries, and stats.
- Modified use cases to utilize the new repository structure, ensuring that the correct repositories are called for their respective operations.
- Introduced `DiaryRepository` and `StatsRepository` traits to encapsulate diary and statistics-related operations.
- Updated all relevant use cases, handlers, and tests to reflect the changes in repository usage.
- Ensured that panic repositories are updated to implement the new traits for testing purposes.
2026-05-09 18:58:29 +02:00
5df26b69a0 refactor: remove unused actor_handler import from ActivityPubService 2026-05-09 18:42:57 +02:00
c3af91ea7b refactor: standardize user ID route parameter in ActivityPubService 2026-05-09 18:37:55 +02:00
4425c72f36 Implement local follow and unfollow functionality in ActivityPubService 2026-05-09 18:28:44 +02:00
e7e5d9935d Refactor ActivityPub integration and add SQLite federation support
- Removed event-publisher dependency from Cargo.lock and Cargo.toml.
- Introduced sqlite-federation crate with necessary dependencies and implementation.
- Updated activitypub crate to use new ActivityPubPort trait for better abstraction.
- Refactored event handling to utilize domain ports instead of direct dependencies.
- Adjusted presentation layer to accommodate new ActivityPub service structure.
- Removed unused test setup for ActivityPub service in favor of NoopActivityPubService.
- Cleaned up SQLite adapter to remove unnecessary dependencies and streamline functionality.
2026-05-09 18:21:16 +02:00
6d2b415075 activitypub: remove files moved to activitypub-base 2026-05-09 17:27:57 +02:00
87cb36f9fe dockerfile: add activitypub-base stub 2026-05-09 17:26:26 +02:00
bacf7b7252 separation of activitypub 2026-05-09 17:23:06 +02:00
c4b6d52196 federation improvements 2026-05-09 15:45:08 +02:00
ffb323dbbf clean up 2026-05-09 14:42:03 +02:00
0a18992a73 todo: exporter
Co-authored-by: Copilot <copilot@github.com>
2026-05-09 14:30:11 +02:00
b0ce316c30 local file system 2026-05-09 14:17:25 +02:00
0d3c2c937d federation refinement 2026-05-09 13:53:45 +02:00
86909ecede activity-pub implementation 2026-05-08 21:26:50 +02:00
482575aed0 feat: add favicon to the base template 2026-05-08 14:23:15 +02:00
377ee1d176 fix: windowed pagination — show 1…current±2…last instead of all pages 2026-05-08 13:47:34 +02:00
9cda5b4681 feat: add uuid dependency to Cargo.lock and create deploy script 2026-05-08 13:39:44 +02:00
74fb893751 fix: profile delete redirect and open redirect via // 2026-05-08 13:33:59 +02:00
32b114cecd fix: guard total_pages division in render_diary_page 2026-05-08 13:28:04 +02:00
bd571b3b51 feat: add page-number navigation to paginated views 2026-05-08 13:20:06 +02:00
f226071cbd feat: preserve pagination offset after review delete 2026-05-08 13:15:47 +02:00
aaa9cb0a1e feat: accept date-only watched_at in review form 2026-05-08 13:12:56 +02:00
31dba4ca95 feat(config): add rate limit configuration to AppConfig and update related usages 2026-05-08 10:11:19 +02:00
1b3f906312 feat(tui): update keyring initialization and enhance token handling in main function 2026-05-07 21:24:01 +02:00
465d233ae9 feat(tui): call init_keyring at startup before first keyring operation 2026-05-07 21:10:57 +02:00
1f03889b30 feat(tui): fix keyring import path, add init_keyring() with platform feature flags 2026-05-07 21:09:21 +02:00
4159e60148 chore(tui): add keyring platform feature flags 2026-05-07 21:00:30 +02:00