[package]
name = "houseflow-types"
version = "0.1.0"
description = "Types for Houseflow"
homepage = "https://github.com/gbaranski/houseflow"
repository = "https://github.com/gbaranski/houseflow"
authors = ["Grzegorz Baranski <root@gbaranski.com>"]
license = "GPL-3.0-or-later"
edition = "2018"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
hex            = "0.4"
rand           = "0.8"
thiserror      = "1.0"
bytes          = "1"
semver         = { version = "1.0.3", features = ["serde"] }

actix-web  	= { version = "4.0.0-beta.7", optional = true, default-features = false }
postgres-types  = { version = "0.2.1", optional = true }

strum          = { version = "0.21.0", features = ["derive"] }

serde          = { version = "1.0", features = ["derive"], optional = true }

houseflow-macros = { path = "../macros", version = "0.1.0", optional = true }
serde_json = { version = "1.0.64", optional = true }
base64 = { version = "0.13.0", optional = true }
hmac = { version = "0.11.0", optional = true }
sha2 = { version = "0.9.5", optional = true }
validator = { version = "0.13.0", features = ["derive"], optional = true }

[features]
default        = [ "serde" ]
actix          = [ "actix-web" ]
token          = [ "base64", "hmac", "sha2" ]
auth           = [ "token", "validator" ]
fulfillment    = [ "token", "lighthouse" ]
lighthouse     = [ "houseflow-macros", "serde_json"  ]
