Commit Graph

69 Commits

Author SHA1 Message Date
9c11ac2bcc feat: add TMDB metadata provider, prefer over OMDB when TMDB_API_KEY is set 2026-05-10 02:30:53 +02:00
597685520c feat: postgresql adapter 2026-05-10 01:57:10 +02:00
9be7af50d2 feat: admin role 2026-05-10 01:15:48 +02:00
be30a1d77c feat: show profile RSS in footer when viewing another user's profile 2026-05-10 00:46:51 +02:00
66f9ef887e feat: ux improvements 2026-05-10 00:41:43 +02:00
9f894ebdf2 feat: feed ux improvements 2026-05-10 00:16:29 +02:00
d89d373a91 feat: implement CSRF protection across forms and routes 2026-05-09 22:09:19 +02:00
fa501706cd 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.
2026-05-09 21:29:20 +02:00
dcfc17f542 export feature 2026-05-09 20:51:29 +02:00
89e78a0d1f 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
29a5972c01 refactor: remove unused actor_handler import from ActivityPubService 2026-05-09 18:42:57 +02:00
eb4d17885e refactor: standardize user ID route parameter in ActivityPubService 2026-05-09 18:37:55 +02:00
e1f84b6796 Implement local follow and unfollow functionality in ActivityPubService 2026-05-09 18:28:44 +02:00
2120044f1a 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
7a43eb4de6 activitypub: remove files moved to activitypub-base 2026-05-09 17:27:57 +02:00
8819266cf9 separation of activitypub 2026-05-09 17:23:06 +02:00
69f6587623 federation improvements 2026-05-09 15:45:08 +02:00
ebab30b1ea local file system 2026-05-09 14:17:25 +02:00
470b29c9e1 federation refinement 2026-05-09 13:53:45 +02:00
df71748897 activity-pub implementation 2026-05-08 21:26:50 +02:00
940c33047c feat: add favicon to the base template 2026-05-08 14:23:15 +02:00
06b3761401 fix: windowed pagination — show 1…current±2…last instead of all pages 2026-05-08 13:47:34 +02:00
a282539151 fix: profile delete redirect and open redirect via // 2026-05-08 13:33:59 +02:00
5f8eba9f84 fix: guard total_pages division in render_diary_page 2026-05-08 13:28:04 +02:00
e335b6ea9b feat: add page-number navigation to paginated views 2026-05-08 13:20:06 +02:00
8919c36ef6 feat: preserve pagination offset after review delete 2026-05-08 13:15:47 +02:00
53b7ac2e41 feat: accept date-only watched_at in review form 2026-05-08 13:12:56 +02:00
b5cd932bfb feat: per-page titles, OG/SEO tags, HOST/PORT env vars, BASE_URL in config 2026-05-04 22:38:58 +02:00
2934a3c3fd fix: use pixel bar heights and show avg rating values in trends chart 2026-05-04 21:22:47 +02:00
bb14b26dcd fix: count distinct movies per user in users list, not total reviews 2026-05-04 21:10:32 +02:00
549b0bbe09 feat: add rss_url to HtmlPageContext, use it in nav 2026-05-04 20:55:31 +02:00
a3b6f3d894 fix: remove unused feed_title from RssAdapter 2026-05-04 20:54:32 +02:00
72ce31ded2 feat: add title param to render_feed, use dynamic title in RSS adapter 2026-05-04 20:52:07 +02:00
6565ec6e66 fix: derive heatmap color from primary instead of hardcoded blue 2026-05-04 20:38:13 +02:00
f5129c8ee7 fix: count distinct movies in user stats, not total reviews 2026-05-04 20:35:48 +02:00
1ad0684249 fix: remove email from top bar nav 2026-05-04 20:13:14 +02:00
6bd1ce8c4a fix: pagination underflow, remove |safe, move bar_height_pct to adapter 2026-05-04 19:09:28 +02:00
af945bcd54 fix: adjust domain accessors and template adapter for Askama compatibility 2026-05-04 19:03:48 +02:00
89dd2f3a47 feat: add activity feed, users, and profile HTML templates 2026-05-04 19:03:44 +02:00
77e1e04a44 fix: correct relative_time future guard, heatmap exact match, max clarity 2026-05-04 18:57:17 +02:00
b15b18409d feat: add Askama template structs for feed/users/profile 2026-05-04 18:55:18 +02:00
e9b01eea2b fix: address code review issues in SQLite adapter 2026-05-04 18:46:31 +02:00
f5fe8aeaff feat: implement feed/stats/history/trends SQLite queries 2026-05-04 18:42:45 +02:00
bb1337c5b1 feat: impl UserRepository::list_with_stats 2026-05-04 18:40:58 +02:00
70c8676ae3 feat: add feed/stats SQLite row types 2026-05-04 18:32:59 +02:00
02d8741ea5 feat: update color scheme to use primary variables for consistency in styling 2026-05-04 17:47:00 +02:00
2a347dbdc2 feat: enhance movie rating display with star icons and improved styling 2026-05-04 15:43:02 +02:00
41da6e1f56 feat: enhance styling and layout; add background image and improve UI elements 2026-05-04 15:39:15 +02:00
7e7c1ee1f4 Refactor movie review logging and resolution strategies
- Introduced `MovieResolver` and associated strategies for resolving movie data based on external metadata ID, manual title, or manual entry.
- Updated `log_review` use case to utilize the new `MovieResolver` for fetching movie details.
- Simplified the `LogReviewData` structure and its conversion to `LogReviewCommand`.
- Enhanced error handling for date parsing in review forms and requests.
- Updated dependencies in `Cargo.toml` and `Cargo.lock` to include necessary crates for async operations.
- Added tests for new functionality in `movie_resolver.rs` to ensure correct behavior of resolution strategies.
2026-05-04 15:08:04 +02:00
7c704f39b3 feat(template): add user_id to HtmlPageContext and delete button to diary 2026-05-04 14:31:12 +02:00