[package] authors = ["biblius "] description = "Library containing various utilities to aid server development with hexagonal architecture" edition = "2021" homepage = "https://github.com/biblius/hextacy" keywords = ["backend", "hextacy", "hextc", "xtc"] license = "MIT" name = "hextacy" readme = "../README.md" version = "0.1.12" [lib] name = "hextacy" path = "src/lib.rs" [dependencies] chrono = { version = "0.4", features = ["serde"] } serde = { version = "1.0.137", features = ["derive"] } serde_json = "1.0.81" # Config and logging tracing = "0.1.35" tracing-test = "0.2.3" # HTTP & Websocket actix = { version = "0.13.0", optional = true } actix-web = "4" actix-web-actors = { version = "4.1.0", optional = true } cookie = { version = "0.17.0", features = ["secure"] } # Clients diesel = { version = "2.0.1", features = [ "chrono", "postgres", "r2d2", "serde_json", ], optional = true } lettre = { version = "0.10.3", optional = true } mongodb = { version = "2.3.1", features = ["tokio-runtime"], optional = true } r2d2 = { version = "0.8.10", optional = true } redis = { version = "0.22.3", features = ["r2d2"], optional = true } # Crypto bcrypt = "0.14.0" data-encoding = "2.3.2" hmac = "0.12.1" jsonwebtoken = "8.1.1" rand = "0.8.5" rsa = { version = "0.8.2", features = ["pem"] } sha2 = "0.10.6" thotp = "0.1.11" uuid = { version = "1.1.2", features = ["v4"] } # Utility and testing async-trait = "0.1.42" colored = "2.0.0" dotenv = "0.15.0" lazy_static = "1.4.0" mockall = "0.11.3" reqwest = { version = "0.11.14", features = ["json"] } syn = { version = "1.0.107", features = ["full"] } thiserror = "1.0.37" tokio = "1.24.2" # Logger env_logger = "0.10.0" hextacy_derive = { version = "0.1.0", path = "../hextacy_derive" } log4rs = "1.2.0" [features] default = ["full"] full = ["db", "email", "ws"] db = ["dep:diesel", "dep:mongodb", "dep:r2d2", "dep:redis"] ws = ["dep:actix", "dep:actix-web-actors"] diesel = ["dep:diesel"] email = ["dep:lettre"] mongo = ["dep:mongodb"] redis = ["dep:r2d2", "dep:redis"]