backend/Cargo.toml
Radical 324137ce8b refactor: rewrite entire codebase in axum instead of actix
Replaces actix with axum for web, allows us to use socket.io and gives us access to the tower ecosystem of middleware

breaks compatibility with our current websocket implementation, needs to be reimplemented for socket.io
2025-07-16 16:36:22 +02:00

65 lines
1.7 KiB
TOML

[package]
name = "backend"
version = "0.1.0"
edition = "2024"
[profile.release]
strip = true
lto = true
codegen-units = 1
# Speed up compilation to make dev bearable
[profile.dev]
debug = 0
strip = "debuginfo"
codegen-units = 512
[dependencies]
thiserror = "2.0.12"
# CLI
clap = { version = "4.5", features = ["derive"] }
log = "0.4"
# async
futures = "0.3"
tokio = { version = "1.46", features = ["full"] }
futures-util = "0.3.31"
# Data (de)serialization
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
toml = "0.9"
bytes = "1.10.1"
rmpv = { version = "1.3.0", features = ["with-serde"] }
# File Storage
bindet = "0.3.2"
bunny-api-tokio = { version = "0.4", features = ["edge_storage"], default-features = false }
# Web Server
axum = { version = "0.8.4", features = ["macros", "multipart"] }
tower-http = { version = "0.6.6", features = ["cors"] }
axum-extra = { version = "0.10.1", features = ["cookie", "typed-header"] }
socketioxide = { version = "0.17.2", features = ["state"] }
url = { version = "2.5", features = ["serde"] }
time = "0.3.41"
# Database
uuid = { version = "1.17", features = ["serde", "v7"] }
redis = { version = "0.32", features= ["tokio-comp"] }
deadpool = "0.12"
diesel = { version = "2.2", features = ["uuid", "chrono"], default-features = false }
diesel-async = { version = "0.6", features = ["deadpool", "postgres", "async-connection-wrapper"] }
diesel_migrations = { version = "2.2.0", features = ["postgres"] }
# Authentication
argon2 = { version = "0.5.3", features = ["std"] }
getrandom = "0.3"
hex = "0.4"
regex = "1.11"
random-string = "1.1"
lettre = { version = "0.11", features = ["tokio1", "tokio1-native-tls"] }
chrono = { version = "0.4.41", features = ["serde"] }
tracing-subscriber = "0.3.19"