6c295866a0
feat: atomic wrapup, movie, integration writes
...
Ride writes: WrapUpRequested/Completed (wrapup create/set_complete),
MovieDiscovered (resolve upsert, new+ext id only), PosterSynced (poster
handler upsert), MovieDeleted (delete_movie), WatchEventIngested (save).
Deps drop event_publisher: wrapup, ingest, delete_review, watchlist add,
review logger.
Remaining .publish( sites:
announce-only: users/delete_account UserDeleted, person/get +
get_credits PersonEnrichmentRequested, jobs/enrichment_staleness,
http-axum search, movies/sync_poster + poster_sync_handler +
image-converter backfill + users/update_profile ImageStored (object
storage), activitypub federation_event_bridge (reacting to events).
rides write, deferred: social/execute (see report),
activitypub review_handler MovieEnrichmentRequested (after
save_remote_review).
2026-10-26 01:02:34 +01:00
62ad9f4017
feat: atomic goal, watchlist, profile writes
2026-10-26 00:49:28 +01:00
8526b77f18
test: move application tests to tests/
...
test_support/test_helpers -> tests/support; watched_at unified w/ domain test_watched_at (2024-03-15).
Kept inline: users::diary_filter tests (feed_sort_to_direction_all_variants, paged_user_filter_builds_correctly) - pub(super) helpers in private module.
Dropped stale never-compiled users/tests/get_users.rs (old execute signature).
2026-10-25 22:36:52 +01:00
5256c6e851
test: refusing fakes, failure-path tests, shared panic stubs
2026-10-25 22:25:36 +01:00
06eec2feae
test: cascading in-memory store
2026-10-25 22:19:24 +01:00
51d92e08a7
test: shared factories and command builders
2026-10-25 22:08:17 +01:00
e303ae7f08
insights-correlations ( #22 )
...
CI / Check / Test (push) Has been cancelled
Reviewed-on: #22
2026-10-12 18:56:55 +00:00
c9715baab8
structural refactor and codebase improvements
2026-08-09 14:58:14 +02:00
5266646b0b
fix: remove unused watch_event_query binding, prefix dead field for clippy -D warnings
2026-07-10 04:32:54 +02:00
dee013c7eb
refactor: remaining MEDIUM — CQRS splits, DI Deps, profile dedup, event Value, response enum
...
M1: MovieRepository→MovieCommand/MovieQuery, WatchEventRepository→
WatchEventCommand/WatchEventQuery
M2: goals/ and import/ use Deps structs
M7: extract upload_image helper in update_profile
M8: FederationDeliveryRequested activity_json String→serde_json::Value
M11: UserProfileResponse uses ProfileViewData enum
2026-07-10 03:50:43 +02:00
12da356a40
refactor: fix HIGH+MEDIUM architectural violations from code review
...
HIGH: fix watch_medium data-loss bug, standardize error handling on
ApiError, fix dep direction (rss/template-askama no longer dep on
application), extract ImageFetcher port (remove reqwest from app layer),
move event construction from save_review to use case, extract
infra-wiring crate (DbPool/EventBusBackend dedup), deduplicate
presentation helpers (encode_error, export streaming, multipart parsing)
MEDIUM: split LocalApContentQuery god-trait 10→3 methods, dedup movie
resolution orchestration, add RemoteActorDto/PersonDto mappers, move
AppConfig to infra-wiring, fix SocialQueryPort Uuid→UserId, replace
stringly-typed api-types with domain enums, move count_reviews_in_year
to StatsRepository, dedup event publisher cfg blocks, extract
should_enrich, move group_by_month to application, dedup
count_local_posts, add FederationFlags Default, TUI input helper +
ShowError rename + typed auth errors, api-types cleanup
(UserSettingsDto/UserProfileBase/PreviewRowData)
102 files changed, -681 lines net
2026-07-10 02:08:39 +02:00
57520c00f3
refactor: move AppContext to presentation crate, structurally enforce boundary
CI / Check / Test (push) Successful in 39m33s
2026-06-11 23:18:28 +02:00
b552c1d156
refactor(watchlist): WatchlistAddDeps, scoped Arc deps
2026-06-11 21:40:48 +02:00
70b3ca0f5c
refactor: split domain models, move presentation logic out of app layer
...
CI / Check / Test (push) Failing after 47s
Split domain/models/mod.rs (630 lines) into focused files:
movie.rs, review.rs, user.rs, stats.rs, enrichment.rs, feed.rs.
Move URL/date formatting from application use cases to
presentation mappers — use cases now return raw domain data.
Delete watchlist/get_page.rs (was pure presentation logic),
replace with presentation/mappers/watchlist.rs.
Document signature conventions in CONTRIBUTING.md.
2026-06-09 02:29:11 +02:00
d867a14b28
add 400+ unit tests for domain and application layers
...
CI / Check / Test (push) Has been cancelled
Extract ReviewLogger trait to decouple import/integrations
from diary::log_review (cross-module coupling smell).
Add in-memory fakes for all repository ports, enabling
isolated testing of every use case module without a database.
Coverage: domain+application 22% → 80%, 427 tests.
2026-06-09 02:07:26 +02:00
28170c95d4
chore: fmt + remove dead federation module
CI / Check / Test (push) Failing after 5m58s
2026-06-02 20:44:08 +02:00
dcc9244d4e
refactor: group use cases into DDD bounded contexts
...
Flat use_cases/ (44 files) + monolithic commands.rs/queries.rs
split into diary/, movies/, watchlist/, import/, auth/, users/,
integrations/, search/, person/, federation/ — each with own
commands.rs, queries.rs, and use case modules.
Inline tests extracted to sibling tests/ dirs.
2026-06-02 19:49:09 +02:00