Files
api/lnvps_api/Cargo.toml
Kieran 1dda3a561d
All checks were successful
continuous-integration/drone/push Build is passing
feat: generate invoices
closes #29
2025-05-01 17:46:37 +01:00

89 lines
2.7 KiB
TOML

[package]
name = "lnvps_api"
version = "0.1.0"
edition = "2021"
[[bin]]
name = "lnvps_api"
path = "src/bin/api.rs"
[features]
default = [
"mikrotik",
"nostr-dm",
"nostr-dvm",
"nostr-domain",
"proxmox",
"lnd",
"cloudflare",
"revolut",
"bitvora",
"tokio/sync",
"tokio/io-util"
]
mikrotik = ["dep:reqwest"]
nostr-dm = ["dep:nostr-sdk"]
nostr-dvm = ["dep:nostr-sdk"]
nostr-domain = ["lnvps_db/nostr-domain"]
proxmox = ["dep:reqwest", "dep:ssh2", "dep:tokio-tungstenite"]
libvirt = ["dep:virt", "dep:uuid", "dep:quick-xml"]
lnd = ["dep:fedimint-tonic-lnd"]
bitvora = ["dep:reqwest", "dep:tokio-stream"]
cloudflare = ["dep:reqwest"]
revolut = ["dep:reqwest", "dep:sha2", "dep:hmac"]
[dependencies]
lnvps_db = { path = "../lnvps_db" }
lnvps_common = { path = "../lnvps_common" }
anyhow.workspace = true
log.workspace = true
env_logger.workspace = true
tokio.workspace = true
config.workspace = true
serde.workspace = true
serde_json.workspace = true
rocket.workspace = true
hex.workspace = true
rocket_okapi = { version = "0.9.0", features = ["swagger"] }
schemars = { version = "0.8.22", features = ["chrono"] }
chrono = { version = "0.4.38", features = ["serde"] }
base64 = { version = "0.22.1", features = ["alloc"] }
urlencoding = "2.1.3"
ipnetwork = { git = "https://git.v0l.io/Kieran/ipnetwork.git", rev = "35977adc8103cfc232bc95fbc32f4e34f2b6a6d7" }
rand = "0.9.0"
clap = { version = "4.5.21", features = ["derive"] }
ssh-key = "0.6.7"
lettre = { version = "0.11.10", features = ["tokio1-native-tls"] }
ws = { package = "rocket_ws", version = "0.1.1" }
native-tls = "0.2.12"
lnurl-rs = { version = "0.9.0", default-features = false }
mustache = "0.9.0"
futures = "0.3.31"
isocountry = "0.3.2"
#nostr-dm
nostr = { version = "0.40.0", default-features = false, features = ["std"] }
nostr-sdk = { version = "0.40.0", optional = true, default-features = false, features = ["nip44", "nip59"] }
#proxmox
tokio-tungstenite = { version = "^0.21", features = ["native-tls"], optional = true }
ssh2 = { version = "0.9.4", optional = true }
reqwest = { version = "0.12.8", optional = true }
#libvirt
virt = { git = "https://gitlab.com/libvirt/libvirt-rust.git", optional = true }
#virtxml = {git = "https://gitlab.com/libvirt/libvirt-rust-xml.git", optional = true}
uuid = { version = "1.16.0", features = ["v4", "serde"], optional = true }
quick-xml = { version = "0.37.3", features = ["serde", "serialize"], optional = true }
#lnd
fedimint-tonic-lnd = { version = "0.2.0", default-features = false, features = ["invoicesrpc"], optional = true }
#bitvora
tokio-stream = { version = "0.1.17", features = ["sync"], optional = true }
#revolut
sha2 = { version = "0.10.8", optional = true }
hmac = { version = "0.12.1", optional = true }