refactor: remove serde from domain entities for Clean Architecture compliance

- Remove Serialize/Deserialize from File, Folder, Session, User, Contact entities
- Create contact_persistence_dto.rs for JSONB persistence in infrastructure layer
- Update contact_pg_repository to use persistence DTOs
- Fix dependency on zip crate (downgrade from 7.2.0 to 2.1.0)
- Fix unused variable warnings in main.rs
- Move PathService import from domain to infrastructure
- Add missing fields to CoreServices and RepositoryServices
- Create proper service initialization in main.rs

Clean Architecture improvements:
- Domain layer no longer depends on serde framework
- Persistence concerns isolated to infrastructure layer
- TokenClaims in auth_service.rs is only exception (required for JWT)
This commit is contained in:
Dionisio
2026-02-02 23:56:40 +01:00
parent 6aceb07f3f
commit 52840e57df
88 changed files with 4286 additions and 4847 deletions
+29 -29
View File
@@ -5,45 +5,45 @@ edition = "2021"
[dependencies]
axum = { version = "0.8.3", features = ["multipart", "http1", "tokio", "macros"] }
tokio = { version = "1.44.2", features = ["full"] }
tokio-util = { version = "0.7.14", features = ["io", "codec"] }
tokio-stream = { version = "0.1.17", features = ["fs"] }
bytes = "1.10.1"
tempfile = "3.19.1"
tower = "0.5.2"
tower-http = { version = "0.6.2", features = ["fs", "compression-gzip", "trace", "cors", "add-extension", "request-id"] }
flate2 = "1.1.1"
zip = "2.6.1"
tracing = "0.1.41"
tracing-subscriber = { version = "0.3.19", features = ["env-filter"] }
chrono = { version = "0.4.40", features = ["serde"] }
axum = { version = "0.8.8", features = ["multipart", "http1", "tokio", "macros"] }
tokio = { version = "1.49.0", features = ["full"] }
tokio-util = { version = "0.7.18", features = ["io", "codec"] }
tokio-stream = { version = "0.1.18", features = ["fs"] }
bytes = "1.11.0"
tempfile = "3.24.0"
tower = "0.5.3"
tower-http = { version = "0.6.8", features = ["fs", "compression-gzip", "trace", "cors", "add-extension", "request-id"] }
flate2 = "1.1.8"
zip = "2.1.0"
tracing = "0.1.44"
tracing-subscriber = { version = "0.3.22", features = ["env-filter"] }
chrono = { version = "0.4.43", features = ["serde"] }
http-body = "1.0.1"
serde = { version = "1.0.219", features = ["derive"] }
serde_json = "1.0.140"
serde = { version = "1.0.228", features = ["derive"] }
serde_json = "1.0.149"
futures = "0.3.31"
async-stream = "0.3.6"
mime_guess = "2.0.5"
uuid = { version = "1.16.0", features = ["v4", "serde"] }
async-trait = "0.1.88"
thiserror = "2.0.12"
reqwest = { version = "0.12.15", features = ["json", "multipart"] }
mockall = { version = "0.13.1", optional = true }
rand = "0.9.0"
uuid = { version = "1.20.0", features = ["v4", "serde"] }
async-trait = "0.1.89"
thiserror = "2.0.18"
reqwest = { version = "0.12.18", features = ["json", "multipart"] }
mockall = { version = "0.14.0", optional = true }
rand = "0.9.1"
pin-project-lite = "0.2.16"
sqlx = { version = "0.8.3", features = ["postgres", "runtime-tokio", "tls-rustls", "chrono", "uuid", "json"] }
anyhow = "1.0.97"
sqlx = { version = "0.8.6", features = ["postgres", "runtime-tokio", "tls-rustls", "chrono", "uuid", "json"] }
anyhow = "1.0.100"
jsonwebtoken = "9.3.1"
argon2 = "0.5.3"
rand_core = { version = "0.6.4", features = ["std"] }
time = "0.3.41"
time = "0.3.46"
axum-server = "0.7.2"
hyper = { version = "1.6.0", features = ["full"] }
url = "2.5.4"
quick-xml = "0.37.4"
hyper = { version = "1.8.1", features = ["full"] }
url = "2.5.8"
quick-xml = "0.39.0"
http-body-util = "0.1.3"
openssl = { version = "0.10.72", features = ["vendored"] }
icalendar = "0.16.13"
openssl = { version = "0.10.75", features = ["vendored"] }
icalendar = "0.17.6"
dotenv = "0.15.0"
[features]