- Added JWT authentication with token generation and validation. - Introduced user registration functionality with email and password. - Integrated Argon2 for password hashing. - Created SQLite user repository for user data persistence. - Updated application context to include user repository and configuration settings. - Added environment variable support for JWT secret and registration allowance. - Enhanced error handling for unauthorized access and validation errors. - Updated presentation layer to handle login and registration requests.
37 lines
1.2 KiB
TOML
37 lines
1.2 KiB
TOML
[workspace]
|
|
members = [
|
|
"crates/adapters/auth",
|
|
"crates/adapters/metadata",
|
|
"crates/adapters/rss",
|
|
"crates/adapters/sqlite", "crates/adapters/template-askama",
|
|
"crates/application",
|
|
"crates/common",
|
|
"crates/domain",
|
|
"crates/presentation",
|
|
]
|
|
resolver = "2"
|
|
|
|
[workspace.dependencies]
|
|
tokio = { version = "1.0", features = ["full"] }
|
|
dotenvy = "0.15"
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
serde_json = "1.0"
|
|
anyhow = "1.0"
|
|
thiserror = "2.0"
|
|
tracing = "0.1"
|
|
tracing-subscriber = { version = "0.3.23", features = ["env-filter"] }
|
|
async-trait = "0.1"
|
|
uuid = { version = "1.23.0", features = ["v4", "serde"] }
|
|
chrono = { version = "0.4", features = ["serde"] }
|
|
sqlx = { version = "0.8.6", features = ["runtime-tokio-rustls", "sqlite", "uuid", "macros"] }
|
|
template-askama = { path = "crates/adapters/template-askama" }
|
|
|
|
domain = { path = "crates/domain" }
|
|
common = { path = "crates/common" }
|
|
application = { path = "crates/application" }
|
|
presentation = { path = "crates/presentation" }
|
|
auth = { path = "crates/adapters/auth" }
|
|
metadata = { path = "crates/adapters/metadata" }
|
|
rss = { path = "crates/adapters/rss" }
|
|
sqlite = { path = "crates/adapters/sqlite" }
|