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
49 lines
1.8 KiB
TOML
49 lines
1.8 KiB
TOML
[package]
|
|
name = "worker"
|
|
version = "0.1.0"
|
|
edition = "2024"
|
|
|
|
[features]
|
|
default = ["sqlite", "sqlite-federation"]
|
|
sqlite = ["dep:sqlite", "dep:sqlite-event-queue", "dep:sqlite-search", "infra-wiring/sqlite"]
|
|
postgres = ["dep:postgres", "dep:postgres-event-queue", "dep:postgres-search", "infra-wiring/postgres"]
|
|
nats = ["dep:nats", "infra-wiring/nats"]
|
|
federation = ["application/federation"]
|
|
sqlite-federation = ["sqlite", "dep:sqlite-federation", "dep:activitypub", "federation"]
|
|
postgres-federation = ["postgres", "dep:postgres-federation", "dep:activitypub", "federation"]
|
|
|
|
[dependencies]
|
|
domain = { workspace = true, features = ["test-helpers"] }
|
|
application = { workspace = true }
|
|
tokio = { workspace = true }
|
|
anyhow = { workspace = true }
|
|
tracing = { workspace = true }
|
|
tracing-subscriber = { workspace = true }
|
|
dotenvy = { workspace = true }
|
|
auth = { workspace = true }
|
|
metadata = { workspace = true }
|
|
poster-fetcher = { workspace = true }
|
|
object-storage = { workspace = true }
|
|
poster-sync = { workspace = true }
|
|
export = { workspace = true }
|
|
tmdb-enrichment = { workspace = true }
|
|
importer = { workspace = true }
|
|
image-converter = { workspace = true }
|
|
nats = { workspace = true, optional = true }
|
|
sqlx = { workspace = true }
|
|
infra-wiring = { workspace = true }
|
|
async-trait = { workspace = true }
|
|
|
|
# Optional — database backends
|
|
sqlite = { workspace = true, optional = true }
|
|
postgres = { workspace = true, optional = true }
|
|
sqlite-event-queue = { workspace = true, optional = true }
|
|
postgres-event-queue = { workspace = true, optional = true }
|
|
sqlite-search = { workspace = true, optional = true }
|
|
postgres-search = { workspace = true, optional = true }
|
|
|
|
# Optional — federation
|
|
activitypub = { workspace = true, optional = true }
|
|
sqlite-federation = { workspace = true, optional = true }
|
|
postgres-federation = { workspace = true, optional = true }
|