[package]
name = "keycloak"
version = "26.6.2"
authors = ["Alexander Korolev <alexander.korolev.germany@gmail.com>"]
edition = "2021"
categories = ["api-bindings", "asynchronous"]
description = """
Keycloak Admin REST API.
"""
homepage = "https://github.com/kilork/keycloak"
keywords = ["api", "async", "keycloak", "rest"]
license = "Unlicense OR MIT"
repository = "https://github.com/kilork/keycloak"
rust-version = "1.88"

[features]
default = ["tags-all", "resource-builder", "reqwest"]
resource-builder = ["builder", "resource"]
schemars = ["dep:schemars"]
multipart = ["reqwest12?/multipart", "reqwest13?/multipart"]
reqwest = ["reqwest13"]
reqwest12 = ["dep:reqwest12"]
reqwest13 = ["dep:reqwest13"]
rc = ["rc-map", "rc-str", "rc-val", "rc-vec"]
rc-map = ["serde/rc"]
rc-str = ["serde/rc"]
rc-val = ["serde/rc"]
rc-vec = ["serde/rc"]
tags-all = ["tag-attack-detection", "tag-authentication-management", "tag-client-attribute-certificate", "tag-client-initial-access", "tag-client-registration-policy", "tag-client-role-mappings", "tag-client-scopes", "tag-clients", "tag-component", "tag-groups", "tag-identity-providers", "tag-key", "tag-organizations", "tag-protocol-mappers", "tag-realms-admin", "tag-role-mapper", "tag-roles", "tag-roles-by-id", "tag-scope-mappings", "tag-users", "tag-workflows", "tag-none"]
tag-attack-detection = []
tag-authentication-management = []
tag-client-attribute-certificate = []
tag-client-initial-access = []
tag-client-registration-policy = []
tag-client-role-mappings = []
tag-client-scopes = []
tag-clients = []
tag-component = []
tag-groups = []
tag-identity-providers = []
tag-key = []
tag-organizations = []
tag-protocol-mappers = []
tag-realms-admin = []
tag-role-mapper = []
tag-roles = []
tag-roles-by-id = []
tag-scope-mappings = []
tag-users = []
tag-workflows = []
tag-none = []
resource = []
builder = []

[dependencies]
reqwest12 = { package = "reqwest", version = "0.12", default-features = false, features = [
    "json",
], optional = true }
reqwest13 = { package = "reqwest", version = "0.13", default-features = false, features = [
    "form",
    "json",
    "query",
], optional = true }
serde_json = "1"
serde = { version = "1", features = ["derive"] }
serde_with = { version = "3", default-features = false, features = ["macros"] }
async-trait = "0.1"
schemars = { version = "1.2.1", optional = true, default-features = false, features = [ "derive", "std" ] }
percent-encoding = "2.3.2"

[dev-dependencies]
tokio = { version = "1", features = ["full"] }
heck = "0.5"
clap = { version = "4", features = [
    "derive",
    "help",
    "std",
], default-features = false }
toml = "1.1.2"
serde = { version = "1", features = ["derive", "rc"] }
indexmap = { version = "2", features = ["serde"] }
