[package]
edition = "2024"
rust-version = "1.96.0"
name = "ordinary-api"
version = "0.6.0-pre.13"
authors = ["Ordinary Labs LLC"]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "API server for Ordinary"
homepage = "https://codeberg.org/ordinarylabs/Ordinary"
readme = "README.md"
categories = [
"web-programming",
"wasm",
]
license = "AGPL-3.0-only"
repository = "https://codeberg.org/ordinarylabs/Ordinary"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
client = [
"dep:reqwest",
"ordinary-auth/client",
"ordinary-monitor/client",
]
default = [
"server",
"client",
]
server = [
"dep:ordinary-app",
"dep:ordinary-storage",
"dep:ordinary-utils",
"dep:axum-extra",
"dep:tokio-util",
"dep:tokio-rustls",
"dep:rustls-acme",
"dep:tokio-stream",
"dep:rand_chacha",
"dep:utoipa",
"dep:utoipa-swagger-ui",
"dep:saferlmdb",
"ordinary-auth/core",
"ordinary-action",
"ordinary-monitor/service",
"axum-extra/file-stream",
]
studio = [
"ordinary-app/studio",
"ordinary-monitor/client",
]
[lib]
name = "ordinary_api"
path = "src/lib.rs"
[[test]]
name = "admin"
path = "tests/admin.rs"
[dependencies.anyhow]
version = "1.0.102"
[dependencies.axum]
version = "0.8.9"
features = [
"macros",
"ws",
"http2",
]
[dependencies.axum-extra]
version = "0.12.6"
features = [
"cookie",
"query",
]
optional = true
[dependencies.base64]
version = "0.22.1"
[dependencies.bytes]
version = "1.11.1"
features = ["serde"]
[dependencies.bytesize]
version = "2.3.1"
[dependencies.chacha20poly1305]
version = "0.10.1"
[dependencies.ed25519-dalek]
version = "2.2.0"
features = ["rand_core"]
[dependencies.flexbuffers]
version = "0.1.3"
package = "fexbluffers"
[dependencies.fs-err]
version = "3.3.0"
[dependencies.getrandom]
version = "0.4.2"
features = ["sys_rng"]
[dependencies.hashbrown]
version = "0.17.1"
[dependencies.hyper]
version = "1.10.1"
features = ["full"]
[dependencies.hyper-util]
version = "0.1.20"
features = ["http2"]
[dependencies.num_threads]
version = "0.1.7"
[dependencies.oneshot]
version = "0.2.1"
features = ["std"]
default-features = false
[dependencies.ordinary-action]
version = "0.6.0-pre.13"
optional = true
[dependencies.ordinary-app]
version = "0.6.0-pre.13"
optional = true
[dependencies.ordinary-auth]
version = "0.6.0-pre.13"
default-features = false
[dependencies.ordinary-config]
version = "0.6.0-pre.13"
features = ["utoipa"]
[dependencies.ordinary-monitor]
version = "0.6.0-pre.13"
default-features = false
[dependencies.ordinary-storage]
version = "0.6.0-pre.13"
optional = true
[dependencies.ordinary-types]
version = "0.6.0-pre.13"
[dependencies.ordinary-utils]
version = "0.6.0-pre.13"
optional = true
[dependencies.page_size]
version = "0.6.0"
[dependencies.parking_lot]
version = "0.12.5"
[dependencies.rand_chacha]
version = "0.10.0"
optional = true
[dependencies.reqwest]
version = "0.13.4"
features = [
"zstd",
"json",
"charset",
"http2",
"system-proxy",
"rustls-no-provider",
"query",
]
optional = true
default-features = false
[dependencies.rustls-acme]
version = "0.15.2"
features = [
"tls12",
"webpki-roots",
"ring",
]
optional = true
default-features = false
[dependencies.saferlmdb]
version = "0.9.35"
optional = true
[dependencies.serde]
version = "1.0.228"
features = ["derive"]
[dependencies.serde_json]
version = "1.0.150"
[dependencies.sha2]
version = "0.11.0"
[dependencies.simd-json]
version = "0.17.0"
[dependencies.sysinfo]
version = "0.39.3"
[dependencies.time]
version = "0.3.47"
features = ["macros"]
[dependencies.tokio]
version = "1.52.3"
features = [
"rt",
"rt-multi-thread",
"io-util",
"net",
"time",
"macros",
"sync",
"parking_lot",
"signal",
]
[dependencies.tokio-rustls]
version = "0.26.4"
features = [
"tls12",
"ring",
]
optional = true
default-features = false
[dependencies.tokio-stream]
version = "0.1.18"
optional = true
[dependencies.tokio-util]
version = "0.7.18"
optional = true
[dependencies.totp-rs]
version = "5.7.1"
[dependencies.tower]
version = "0.5.3"
[dependencies.tower-http]
version = "0.6.11"
features = [
"trace",
"request-id",
"compression-full",
"decompression-full",
"set-header",
"catch-panic",
"timeout",
"cors",
"validate-request",
]
[dependencies.tracing]
version = "0.1.44"
features = ["valuable"]
[dependencies.url]
version = "2.5.8"
[dependencies.utoipa]
version = "5.5.0"
features = ["axum_extras"]
optional = true
[dependencies.utoipa-swagger-ui]
version = "9.0.2"
features = [
"axum",
"vendored",
"axum",
"vendored",
]
optional = true
[dependencies.uuid]
version = "1.23.2"
features = [
"v7",
"v4",
]
[dependencies.x25519-dalek]
version = "2.0.1"
features = ["static_secrets"]
[dependencies.zstd]
version = "0.13.3"
[dev-dependencies.ordinary-build]
version = "0.6.0-pre.13"
[lints.clippy]
unwrap_used = "deny"