[package] name = "api" version = "0.1.0" edition = "2024" default-run = "api" [features] default = ["sqlite", "auth-axum-login", "auth-oidc", "auth-jwt"] sqlite = ["infra/sqlite", "tower-sessions-sqlx-store/sqlite"] postgres = ["infra/postgres", "tower-sessions-sqlx-store/postgres"] auth-axum-login = ["infra/auth-axum-login"] auth-oidc = ["infra/auth-oidc"] auth-jwt = ["infra/auth-jwt"] auth-full = ["auth-axum-login", "auth-oidc", "auth-jwt"] [dependencies] k-core = { git = "https://git.gabrielkaszewski.dev/GKaszewski/k-core", features = [ "logging", "db-sqlx", "sqlite", "http", "auth", "sessions-db", ] } domain = { path = "../domain" } infra = { path = "../infra", default-features = false, features = ["sqlite"] } #Web framework axum = { version = "0.8.8", features = ["macros"] } tower = "0.5.2" tower-http = { version = "0.6.2", features = ["cors", "trace"] } # Authentication # Moved to infra tower-sessions-sqlx-store = { version = "0.15", features = ["sqlite"] } # password-auth removed time = "0.3" async-trait = "0.1.89" # Async runtime tokio = { version = "1.48.0", features = ["full"] } # Serialization serde = { version = "1.0.228", features = ["derive"] } serde_json = "1.0" # Validation validator = { version = "0.20", features = ["derive"] } # Error handling thiserror = "2.0.17" anyhow = "1.0" # Utilities chrono = { version = "0.4.42", features = ["serde"] } uuid = { version = "1.19.0", features = ["v4", "serde"] } # Logging tracing = "0.1" tracing-subscriber = { version = "0.3.22", features = ["env-filter"] } dotenvy = "0.15.7" config = "0.15.19" tower-sessions = "0.14.0"