Merge branch 'main' into rei/policy_driven_session_limit
This commit is contained in:
107
Cargo.lock
generated
107
Cargo.lock
generated
@@ -85,9 +85,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "aide"
|
||||
version = "0.14.2"
|
||||
version = "0.15.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a2477554ebf38aea815a9c4729100cfc32f766876c45b9c9c38ef221b9d1a703"
|
||||
checksum = "6966317188cdfe54c58c0900a195d021294afb3ece9b7073d09e4018dbb1e3a2"
|
||||
dependencies = [
|
||||
"aide-macros",
|
||||
"axum",
|
||||
@@ -96,7 +96,7 @@ dependencies = [
|
||||
"cfg-if",
|
||||
"http",
|
||||
"indexmap 2.11.4",
|
||||
"schemars 0.8.22",
|
||||
"schemars 0.9.0",
|
||||
"serde",
|
||||
"serde_json",
|
||||
"serde_qs",
|
||||
@@ -108,11 +108,12 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "aide-macros"
|
||||
version = "0.8.0"
|
||||
version = "0.15.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "be8e0d4af7cc08353807aaf80722125a229bf2d67be7fe0b89163c648db3d223"
|
||||
checksum = "9f2a08f14808f3c46f3e3004b727bace64af44c3c5996d0480a14d3852b1b25a"
|
||||
dependencies = [
|
||||
"darling",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
]
|
||||
@@ -2799,7 +2800,6 @@ version = "0.20.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "bf466541e9d546596ee94f9f69590f89473455f88372423e0008fc1a7daf100e"
|
||||
dependencies = [
|
||||
"schemars 0.8.22",
|
||||
"serde",
|
||||
]
|
||||
|
||||
@@ -3096,7 +3096,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "mas-axum-utils"
|
||||
version = "1.6.0-rc.0"
|
||||
version = "1.6.0"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"axum",
|
||||
@@ -3130,7 +3130,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "mas-cli"
|
||||
version = "1.6.0-rc.0"
|
||||
version = "1.6.0"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"axum",
|
||||
@@ -3203,7 +3203,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "mas-config"
|
||||
version = "1.6.0-rc.0"
|
||||
version = "1.6.0"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"camino",
|
||||
@@ -3223,7 +3223,7 @@ dependencies = [
|
||||
"rand_chacha 0.3.1",
|
||||
"rustls-pemfile",
|
||||
"rustls-pki-types",
|
||||
"schemars 0.8.22",
|
||||
"schemars 0.9.0",
|
||||
"serde",
|
||||
"serde_json",
|
||||
"serde_with",
|
||||
@@ -3235,7 +3235,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "mas-context"
|
||||
version = "1.6.0-rc.0"
|
||||
version = "1.6.0"
|
||||
dependencies = [
|
||||
"console",
|
||||
"opentelemetry",
|
||||
@@ -3251,7 +3251,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "mas-data-model"
|
||||
version = "1.6.0-rc.0"
|
||||
version = "1.6.0"
|
||||
dependencies = [
|
||||
"base64ct",
|
||||
"chrono",
|
||||
@@ -3274,7 +3274,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "mas-email"
|
||||
version = "1.6.0-rc.0"
|
||||
version = "1.6.0"
|
||||
dependencies = [
|
||||
"async-trait",
|
||||
"lettre",
|
||||
@@ -3285,7 +3285,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "mas-handlers"
|
||||
version = "1.6.0-rc.0"
|
||||
version = "1.6.0"
|
||||
dependencies = [
|
||||
"aide",
|
||||
"anyhow",
|
||||
@@ -3341,7 +3341,7 @@ dependencies = [
|
||||
"rand_chacha 0.3.1",
|
||||
"reqwest",
|
||||
"rustls",
|
||||
"schemars 0.8.22",
|
||||
"schemars 0.9.0",
|
||||
"sentry",
|
||||
"serde",
|
||||
"serde_json",
|
||||
@@ -3365,7 +3365,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "mas-http"
|
||||
version = "1.6.0-rc.0"
|
||||
version = "1.6.0"
|
||||
dependencies = [
|
||||
"futures-util",
|
||||
"headers",
|
||||
@@ -3386,7 +3386,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "mas-i18n"
|
||||
version = "1.6.0-rc.0"
|
||||
version = "1.6.0"
|
||||
dependencies = [
|
||||
"camino",
|
||||
"icu_calendar",
|
||||
@@ -3408,7 +3408,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "mas-i18n-scan"
|
||||
version = "1.6.0-rc.0"
|
||||
version = "1.6.0"
|
||||
dependencies = [
|
||||
"camino",
|
||||
"clap",
|
||||
@@ -3422,15 +3422,15 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "mas-iana"
|
||||
version = "1.6.0-rc.0"
|
||||
version = "1.6.0"
|
||||
dependencies = [
|
||||
"schemars 0.8.22",
|
||||
"schemars 0.9.0",
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "mas-iana-codegen"
|
||||
version = "1.6.0-rc.0"
|
||||
version = "1.6.0"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"async-trait",
|
||||
@@ -3438,6 +3438,7 @@ dependencies = [
|
||||
"convert_case",
|
||||
"csv",
|
||||
"reqwest",
|
||||
"rustls",
|
||||
"serde",
|
||||
"tokio",
|
||||
"tracing",
|
||||
@@ -3446,7 +3447,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "mas-jose"
|
||||
version = "1.6.0-rc.0"
|
||||
version = "1.6.0"
|
||||
dependencies = [
|
||||
"base64ct",
|
||||
"chrono",
|
||||
@@ -3463,7 +3464,7 @@ dependencies = [
|
||||
"rand 0.8.5",
|
||||
"rand_chacha 0.3.1",
|
||||
"rsa",
|
||||
"schemars 0.8.22",
|
||||
"schemars 0.9.0",
|
||||
"sec1",
|
||||
"serde",
|
||||
"serde_json",
|
||||
@@ -3476,7 +3477,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "mas-keystore"
|
||||
version = "1.6.0-rc.0"
|
||||
version = "1.6.0"
|
||||
dependencies = [
|
||||
"aead",
|
||||
"base64ct",
|
||||
@@ -3504,7 +3505,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "mas-listener"
|
||||
version = "1.6.0-rc.0"
|
||||
version = "1.6.0"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"bytes",
|
||||
@@ -3529,7 +3530,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "mas-matrix"
|
||||
version = "1.6.0-rc.0"
|
||||
version = "1.6.0"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"async-trait",
|
||||
@@ -3539,7 +3540,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "mas-matrix-synapse"
|
||||
version = "1.6.0-rc.0"
|
||||
version = "1.6.0"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"async-trait",
|
||||
@@ -3556,7 +3557,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "mas-oidc-client"
|
||||
version = "1.6.0-rc.0"
|
||||
version = "1.6.0"
|
||||
dependencies = [
|
||||
"assert_matches",
|
||||
"async-trait",
|
||||
@@ -3592,14 +3593,14 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "mas-policy"
|
||||
version = "1.6.0-rc.0"
|
||||
version = "1.6.0"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"arc-swap",
|
||||
"mas-data-model",
|
||||
"oauth2-types",
|
||||
"opa-wasm",
|
||||
"schemars 0.8.22",
|
||||
"schemars 0.9.0",
|
||||
"serde",
|
||||
"serde_json",
|
||||
"thiserror 2.0.17",
|
||||
@@ -3609,7 +3610,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "mas-router"
|
||||
version = "1.6.0-rc.0"
|
||||
version = "1.6.0"
|
||||
dependencies = [
|
||||
"axum",
|
||||
"serde",
|
||||
@@ -3620,7 +3621,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "mas-spa"
|
||||
version = "1.6.0-rc.0"
|
||||
version = "1.6.0"
|
||||
dependencies = [
|
||||
"camino",
|
||||
"serde",
|
||||
@@ -3629,7 +3630,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "mas-storage"
|
||||
version = "1.6.0-rc.0"
|
||||
version = "1.6.0"
|
||||
dependencies = [
|
||||
"async-trait",
|
||||
"chrono",
|
||||
@@ -3651,7 +3652,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "mas-storage-pg"
|
||||
version = "1.6.0-rc.0"
|
||||
version = "1.6.0"
|
||||
dependencies = [
|
||||
"async-trait",
|
||||
"chrono",
|
||||
@@ -3679,7 +3680,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "mas-tasks"
|
||||
version = "1.6.0-rc.0"
|
||||
version = "1.6.0"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"async-trait",
|
||||
@@ -3711,7 +3712,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "mas-templates"
|
||||
version = "1.6.0-rc.0"
|
||||
version = "1.6.0"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"arc-swap",
|
||||
@@ -3741,7 +3742,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "mas-tower"
|
||||
version = "1.6.0-rc.0"
|
||||
version = "1.6.0"
|
||||
dependencies = [
|
||||
"http",
|
||||
"opentelemetry",
|
||||
@@ -4011,7 +4012,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "oauth2-types"
|
||||
version = "1.6.0-rc.0"
|
||||
version = "1.6.0"
|
||||
dependencies = [
|
||||
"assert_matches",
|
||||
"base64ct",
|
||||
@@ -5227,14 +5228,14 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "schemars"
|
||||
version = "0.8.22"
|
||||
version = "0.9.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3fbf2ae1b8bc8e02df939598064d22402220cd5bbcca1c76f7d6a310974d5615"
|
||||
checksum = "4cd191f9397d57d581cddd31014772520aa448f65ef991055d7f61582c65165f"
|
||||
dependencies = [
|
||||
"chrono",
|
||||
"dyn-clone",
|
||||
"indexmap 1.9.3",
|
||||
"indexmap 2.11.4",
|
||||
"ref-cast",
|
||||
"schemars_derive",
|
||||
"serde",
|
||||
"serde_json",
|
||||
@@ -5243,21 +5244,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "schemars"
|
||||
version = "0.9.0"
|
||||
version = "1.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4cd191f9397d57d581cddd31014772520aa448f65ef991055d7f61582c65165f"
|
||||
dependencies = [
|
||||
"dyn-clone",
|
||||
"ref-cast",
|
||||
"serde",
|
||||
"serde_json",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "schemars"
|
||||
version = "1.0.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "82d20c4491bc164fa2f6c5d44565947a52ad80b9505d8e36f8d54c27c739fcd0"
|
||||
checksum = "9558e172d4e8533736ba97870c4b2cd63f84b382a3d6eb063da41b91cce17289"
|
||||
dependencies = [
|
||||
"dyn-clone",
|
||||
"ref-cast",
|
||||
@@ -5267,9 +5256,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "schemars_derive"
|
||||
version = "0.8.22"
|
||||
version = "0.9.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "32e265784ad618884abaea0600a9adf15393368d840e0222d101a072f3f7534d"
|
||||
checksum = "5016d94c77c6d32f0b8e08b781f7dc8a90c2007d4e77472cc2807bc10a8438fe"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
@@ -5625,7 +5614,7 @@ dependencies = [
|
||||
"indexmap 1.9.3",
|
||||
"indexmap 2.11.4",
|
||||
"schemars 0.9.0",
|
||||
"schemars 1.0.4",
|
||||
"schemars 1.1.0",
|
||||
"serde",
|
||||
"serde_derive",
|
||||
"serde_json",
|
||||
@@ -6094,7 +6083,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "syn2mas"
|
||||
version = "1.6.0-rc.0"
|
||||
version = "1.6.0"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"arc-swap",
|
||||
|
||||
68
Cargo.toml
68
Cargo.toml
@@ -9,7 +9,7 @@ members = ["crates/*"]
|
||||
resolver = "2"
|
||||
|
||||
# Updated in the CI with a `sed` command
|
||||
package.version = "1.6.0-rc.0"
|
||||
package.version = "1.6.0"
|
||||
package.license = "AGPL-3.0-only OR LicenseRef-Element-Commercial"
|
||||
package.authors = ["Element Backend Team"]
|
||||
package.edition = "2024"
|
||||
@@ -34,39 +34,39 @@ broken_intra_doc_links = "deny"
|
||||
[workspace.dependencies]
|
||||
|
||||
# Workspace crates
|
||||
mas-axum-utils = { path = "./crates/axum-utils/", version = "=1.6.0-rc.0" }
|
||||
mas-cli = { path = "./crates/cli/", version = "=1.6.0-rc.0" }
|
||||
mas-config = { path = "./crates/config/", version = "=1.6.0-rc.0" }
|
||||
mas-context = { path = "./crates/context/", version = "=1.6.0-rc.0" }
|
||||
mas-data-model = { path = "./crates/data-model/", version = "=1.6.0-rc.0" }
|
||||
mas-email = { path = "./crates/email/", version = "=1.6.0-rc.0" }
|
||||
mas-graphql = { path = "./crates/graphql/", version = "=1.6.0-rc.0" }
|
||||
mas-handlers = { path = "./crates/handlers/", version = "=1.6.0-rc.0" }
|
||||
mas-http = { path = "./crates/http/", version = "=1.6.0-rc.0" }
|
||||
mas-i18n = { path = "./crates/i18n/", version = "=1.6.0-rc.0" }
|
||||
mas-i18n-scan = { path = "./crates/i18n-scan/", version = "=1.6.0-rc.0" }
|
||||
mas-iana = { path = "./crates/iana/", version = "=1.6.0-rc.0" }
|
||||
mas-iana-codegen = { path = "./crates/iana-codegen/", version = "=1.6.0-rc.0" }
|
||||
mas-jose = { path = "./crates/jose/", version = "=1.6.0-rc.0" }
|
||||
mas-keystore = { path = "./crates/keystore/", version = "=1.6.0-rc.0" }
|
||||
mas-listener = { path = "./crates/listener/", version = "=1.6.0-rc.0" }
|
||||
mas-matrix = { path = "./crates/matrix/", version = "=1.6.0-rc.0" }
|
||||
mas-matrix-synapse = { path = "./crates/matrix-synapse/", version = "=1.6.0-rc.0" }
|
||||
mas-oidc-client = { path = "./crates/oidc-client/", version = "=1.6.0-rc.0" }
|
||||
mas-policy = { path = "./crates/policy/", version = "=1.6.0-rc.0" }
|
||||
mas-router = { path = "./crates/router/", version = "=1.6.0-rc.0" }
|
||||
mas-spa = { path = "./crates/spa/", version = "=1.6.0-rc.0" }
|
||||
mas-storage = { path = "./crates/storage/", version = "=1.6.0-rc.0" }
|
||||
mas-storage-pg = { path = "./crates/storage-pg/", version = "=1.6.0-rc.0" }
|
||||
mas-tasks = { path = "./crates/tasks/", version = "=1.6.0-rc.0" }
|
||||
mas-templates = { path = "./crates/templates/", version = "=1.6.0-rc.0" }
|
||||
mas-tower = { path = "./crates/tower/", version = "=1.6.0-rc.0" }
|
||||
oauth2-types = { path = "./crates/oauth2-types/", version = "=1.6.0-rc.0" }
|
||||
syn2mas = { path = "./crates/syn2mas", version = "=1.6.0-rc.0" }
|
||||
mas-axum-utils = { path = "./crates/axum-utils/", version = "=1.6.0" }
|
||||
mas-cli = { path = "./crates/cli/", version = "=1.6.0" }
|
||||
mas-config = { path = "./crates/config/", version = "=1.6.0" }
|
||||
mas-context = { path = "./crates/context/", version = "=1.6.0" }
|
||||
mas-data-model = { path = "./crates/data-model/", version = "=1.6.0" }
|
||||
mas-email = { path = "./crates/email/", version = "=1.6.0" }
|
||||
mas-graphql = { path = "./crates/graphql/", version = "=1.6.0" }
|
||||
mas-handlers = { path = "./crates/handlers/", version = "=1.6.0" }
|
||||
mas-http = { path = "./crates/http/", version = "=1.6.0" }
|
||||
mas-i18n = { path = "./crates/i18n/", version = "=1.6.0" }
|
||||
mas-i18n-scan = { path = "./crates/i18n-scan/", version = "=1.6.0" }
|
||||
mas-iana = { path = "./crates/iana/", version = "=1.6.0" }
|
||||
mas-iana-codegen = { path = "./crates/iana-codegen/", version = "=1.6.0" }
|
||||
mas-jose = { path = "./crates/jose/", version = "=1.6.0" }
|
||||
mas-keystore = { path = "./crates/keystore/", version = "=1.6.0" }
|
||||
mas-listener = { path = "./crates/listener/", version = "=1.6.0" }
|
||||
mas-matrix = { path = "./crates/matrix/", version = "=1.6.0" }
|
||||
mas-matrix-synapse = { path = "./crates/matrix-synapse/", version = "=1.6.0" }
|
||||
mas-oidc-client = { path = "./crates/oidc-client/", version = "=1.6.0" }
|
||||
mas-policy = { path = "./crates/policy/", version = "=1.6.0" }
|
||||
mas-router = { path = "./crates/router/", version = "=1.6.0" }
|
||||
mas-spa = { path = "./crates/spa/", version = "=1.6.0" }
|
||||
mas-storage = { path = "./crates/storage/", version = "=1.6.0" }
|
||||
mas-storage-pg = { path = "./crates/storage-pg/", version = "=1.6.0" }
|
||||
mas-tasks = { path = "./crates/tasks/", version = "=1.6.0" }
|
||||
mas-templates = { path = "./crates/templates/", version = "=1.6.0" }
|
||||
mas-tower = { path = "./crates/tower/", version = "=1.6.0" }
|
||||
oauth2-types = { path = "./crates/oauth2-types/", version = "=1.6.0" }
|
||||
syn2mas = { path = "./crates/syn2mas", version = "=1.6.0" }
|
||||
|
||||
# OpenAPI schema generation and validation
|
||||
[workspace.dependencies.aide]
|
||||
version = "0.14.2"
|
||||
version = "0.15.1"
|
||||
features = ["axum", "axum-extra", "axum-extra-query", "axum-json", "macros"]
|
||||
|
||||
# An `Arc` that can be atomically updated
|
||||
@@ -336,7 +336,7 @@ features = ["yaml", "json"]
|
||||
# IP network address types
|
||||
[workspace.dependencies.ipnetwork]
|
||||
version = "0.20.0"
|
||||
features = ["serde", "schemars"]
|
||||
features = ["serde"]
|
||||
|
||||
# Iterator utilities
|
||||
[workspace.dependencies.itertools]
|
||||
@@ -541,8 +541,8 @@ version = "0.4.5"
|
||||
|
||||
# JSON Schema generation
|
||||
[workspace.dependencies.schemars]
|
||||
version = "0.8.22"
|
||||
features = ["url", "chrono", "preserve_order"]
|
||||
version = "0.9.0"
|
||||
features = ["url2", "chrono04", "preserve_order"]
|
||||
|
||||
# SEC1 encoding format
|
||||
[workspace.dependencies.sec1]
|
||||
|
||||
@@ -136,6 +136,10 @@ fn make_http_span<B>(req: &Request<B>) -> Span {
|
||||
span.record(USER_AGENT_ORIGINAL, user_agent);
|
||||
}
|
||||
|
||||
// In case the span is disabled by any of tracing layers, e.g. if `RUST_LOG`
|
||||
// is set to `warn`, `set_parent` will fail. So we only try to set the
|
||||
// parent context if the span is not disabled.
|
||||
if !span.is_disabled() {
|
||||
// Extract the parent span context from the request headers
|
||||
let parent_context = opentelemetry::global::get_text_map_propagator(|propagator| {
|
||||
let extractor = HeaderExtractor(req.headers());
|
||||
@@ -149,6 +153,7 @@ fn make_http_span<B>(req: &Request<B>) -> Span {
|
||||
"Failed to set parent context on span"
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
span
|
||||
}
|
||||
|
||||
@@ -4,14 +4,10 @@
|
||||
// SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
|
||||
// Please see LICENSE files in the repository root for full details.
|
||||
|
||||
use schemars::r#gen::SchemaSettings;
|
||||
use schemars::generate::SchemaSettings;
|
||||
|
||||
fn main() {
|
||||
let settings = SchemaSettings::draft07().with(|s| {
|
||||
s.option_nullable = false;
|
||||
s.option_add_null_type = false;
|
||||
});
|
||||
let generator = settings.into_generator();
|
||||
let generator = SchemaSettings::draft07().into_generator();
|
||||
let schema = generator.into_root_schema_for::<mas_config::RootConfig>();
|
||||
|
||||
serde_json::to_writer_pretty(std::io::stdout(), &schema).expect("Failed to serialize schema");
|
||||
|
||||
@@ -6,29 +6,22 @@
|
||||
|
||||
//! Useful JSON Schema definitions
|
||||
|
||||
use schemars::{
|
||||
JsonSchema,
|
||||
r#gen::SchemaGenerator,
|
||||
schema::{InstanceType, Schema, SchemaObject},
|
||||
};
|
||||
use std::borrow::Cow;
|
||||
|
||||
use schemars::{JsonSchema, Schema, SchemaGenerator, json_schema};
|
||||
|
||||
/// A network hostname
|
||||
pub struct Hostname;
|
||||
|
||||
impl JsonSchema for Hostname {
|
||||
fn schema_name() -> String {
|
||||
"Hostname".to_string()
|
||||
fn schema_name() -> Cow<'static, str> {
|
||||
Cow::Borrowed("Hostname")
|
||||
}
|
||||
|
||||
fn json_schema(generator: &mut SchemaGenerator) -> Schema {
|
||||
hostname(generator)
|
||||
}
|
||||
}
|
||||
|
||||
fn hostname(_gen: &mut SchemaGenerator) -> Schema {
|
||||
Schema::Object(SchemaObject {
|
||||
instance_type: Some(InstanceType::String.into()),
|
||||
format: Some("hostname".to_owned()),
|
||||
..SchemaObject::default()
|
||||
fn json_schema(_generator: &mut SchemaGenerator) -> Schema {
|
||||
json_schema!({
|
||||
"type": "string",
|
||||
"format": "hostname",
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,19 +23,6 @@ fn default_public_base() -> Url {
|
||||
"http://[::]:8080".parse().unwrap()
|
||||
}
|
||||
|
||||
fn http_address_example_1() -> &'static str {
|
||||
"[::1]:8080"
|
||||
}
|
||||
fn http_address_example_2() -> &'static str {
|
||||
"[::]:8080"
|
||||
}
|
||||
fn http_address_example_3() -> &'static str {
|
||||
"127.0.0.1:8080"
|
||||
}
|
||||
fn http_address_example_4() -> &'static str {
|
||||
"0.0.0.0:8080"
|
||||
}
|
||||
|
||||
#[cfg(not(any(feature = "docker", feature = "dist")))]
|
||||
fn http_listener_assets_path_default() -> Utf8PathBuf {
|
||||
"./frontend/dist/".into()
|
||||
@@ -111,10 +98,10 @@ pub enum BindConfig {
|
||||
Address {
|
||||
/// Host and port on which to listen
|
||||
#[schemars(
|
||||
example = "http_address_example_1",
|
||||
example = "http_address_example_2",
|
||||
example = "http_address_example_3",
|
||||
example = "http_address_example_4"
|
||||
example = &"[::1]:8080",
|
||||
example = &"[::]:8080",
|
||||
example = &"127.0.0.1:8080",
|
||||
example = &"0.0.0.0:8080",
|
||||
)]
|
||||
address: String,
|
||||
},
|
||||
@@ -354,6 +341,7 @@ pub struct HttpConfig {
|
||||
/// List of trusted reverse proxies that can set the `X-Forwarded-For`
|
||||
/// header
|
||||
#[serde(default = "default_trusted_proxies")]
|
||||
#[schemars(with = "Vec<String>", inner(ip))]
|
||||
pub trusted_proxies: Vec<IpNetwork>,
|
||||
|
||||
/// Public URL base from where the authentication service is reachable
|
||||
|
||||
@@ -20,10 +20,6 @@ use tracing::info;
|
||||
|
||||
use super::ConfigurationSection;
|
||||
|
||||
fn example_secret() -> &'static str {
|
||||
"0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff"
|
||||
}
|
||||
|
||||
/// Password config option.
|
||||
///
|
||||
/// It either holds the password value directly or references a file where the
|
||||
@@ -209,7 +205,7 @@ struct EncryptionRaw {
|
||||
#[schemars(
|
||||
with = "Option<String>",
|
||||
regex(pattern = r"[0-9a-fA-F]{64}"),
|
||||
example = "example_secret"
|
||||
example = &"0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff"
|
||||
)]
|
||||
#[serde_as(as = "Option<serde_with::hex::Hex>")]
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
|
||||
@@ -11,10 +11,6 @@ use url::Url;
|
||||
|
||||
use super::ConfigurationSection;
|
||||
|
||||
fn sample_rate_example() -> f64 {
|
||||
0.5
|
||||
}
|
||||
|
||||
/// Propagation format for incoming and outgoing requests
|
||||
#[derive(Clone, Copy, Debug, Serialize, Deserialize, PartialEq, Eq, JsonSchema)]
|
||||
#[serde(rename_all = "lowercase")]
|
||||
@@ -70,7 +66,7 @@ pub struct TracingConfig {
|
||||
///
|
||||
/// Defaults to `1.0` if not set.
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
#[schemars(example = "sample_rate_example", range(min = 0.0, max = 1.0))]
|
||||
#[schemars(example = 0.5, range(min = 0.0, max = 1.0))]
|
||||
pub sample_rate: Option<f64>,
|
||||
}
|
||||
|
||||
@@ -123,26 +119,18 @@ impl MetricsConfig {
|
||||
}
|
||||
}
|
||||
|
||||
fn sentry_dsn_example() -> &'static str {
|
||||
"https://public@host:port/1"
|
||||
}
|
||||
|
||||
fn sentry_environment_example() -> &'static str {
|
||||
"production"
|
||||
}
|
||||
|
||||
/// Configuration related to the Sentry integration
|
||||
#[derive(Clone, Debug, Default, Serialize, Deserialize, JsonSchema)]
|
||||
pub struct SentryConfig {
|
||||
/// Sentry DSN
|
||||
#[schemars(url, example = "sentry_dsn_example")]
|
||||
#[schemars(url, example = &"https://public@host:port/1")]
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
pub dsn: Option<String>,
|
||||
|
||||
/// Environment to use when sending events to Sentry
|
||||
///
|
||||
/// Defaults to `production` if not set.
|
||||
#[schemars(example = "sentry_environment_example")]
|
||||
#[schemars(example = &"production")]
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
pub environment: Option<String>,
|
||||
|
||||
@@ -150,14 +138,14 @@ pub struct SentryConfig {
|
||||
///
|
||||
/// Defaults to `1.0` if not set.
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
#[schemars(example = "sample_rate_example", range(min = 0.0, max = 1.0))]
|
||||
#[schemars(example = 0.5, range(min = 0.0, max = 1.0))]
|
||||
pub sample_rate: Option<f32>,
|
||||
|
||||
/// Sample rate for tracing transactions
|
||||
///
|
||||
/// Defaults to `0.0` if not set.
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
#[schemars(example = "sample_rate_example", range(min = 0.0, max = 1.0))]
|
||||
#[schemars(example = 0.5, range(min = 0.0, max = 1.0))]
|
||||
pub traces_sample_rate: Option<f32>,
|
||||
}
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ use tracing_subscriber::{
|
||||
|
||||
use crate::LogContext;
|
||||
|
||||
/// An event formatter usable by the [`tracing-subscriber`] crate, which
|
||||
/// An event formatter usable by the [`tracing_subscriber`] crate, which
|
||||
/// includes the log context and the OTEL trace ID.
|
||||
#[derive(Debug, Default)]
|
||||
pub struct EventFormatter;
|
||||
|
||||
@@ -29,6 +29,7 @@ use mas_router::{
|
||||
UrlBuilder,
|
||||
};
|
||||
use mas_templates::{ApiDocContext, Templates};
|
||||
use schemars::transform::AddNullable;
|
||||
use tower_http::cors::{Any, CorsLayer};
|
||||
|
||||
mod call_context;
|
||||
@@ -171,8 +172,16 @@ where
|
||||
aide::generate::infer_responses(false);
|
||||
|
||||
aide::generate::in_context(|ctx| {
|
||||
ctx.schema =
|
||||
schemars::r#gen::SchemaGenerator::new(schemars::r#gen::SchemaSettings::openapi3());
|
||||
ctx.schema = schemars::generate::SchemaGenerator::new(
|
||||
schemars::generate::SchemaSettings::openapi3().with(|settings| {
|
||||
// Remove the transform which adds nullable fields, as it's not
|
||||
// valid with OpenAPI 3.1. For some reason, aide/schemars output
|
||||
// an OpenAPI 3.1 schema with this nullable transform.
|
||||
settings
|
||||
.transforms
|
||||
.retain(|transform| !transform.is::<AddNullable>());
|
||||
}),
|
||||
);
|
||||
});
|
||||
|
||||
let mut api = OpenApi::default();
|
||||
|
||||
@@ -6,11 +6,9 @@
|
||||
|
||||
//! Common schema definitions
|
||||
|
||||
use schemars::{
|
||||
JsonSchema,
|
||||
r#gen::SchemaGenerator,
|
||||
schema::{InstanceType, Metadata, Schema, SchemaObject, StringValidation},
|
||||
};
|
||||
use std::borrow::Cow;
|
||||
|
||||
use schemars::{JsonSchema, Schema, SchemaGenerator, json_schema};
|
||||
|
||||
/// A type to use for schema definitions of ULIDs
|
||||
///
|
||||
@@ -18,32 +16,21 @@ use schemars::{
|
||||
pub struct Ulid;
|
||||
|
||||
impl JsonSchema for Ulid {
|
||||
fn schema_name() -> String {
|
||||
"ULID".to_owned()
|
||||
fn schema_name() -> Cow<'static, str> {
|
||||
Cow::Borrowed("ULID")
|
||||
}
|
||||
|
||||
fn json_schema(_gen: &mut SchemaGenerator) -> Schema {
|
||||
SchemaObject {
|
||||
instance_type: Some(InstanceType::String.into()),
|
||||
|
||||
metadata: Some(Box::new(Metadata {
|
||||
title: Some("ULID".into()),
|
||||
description: Some("A ULID as per https://github.com/ulid/spec".into()),
|
||||
examples: vec![
|
||||
"01ARZ3NDEKTSV4RRFFQ69G5FAV".into(),
|
||||
"01J41912SC8VGAQDD50F6APK91".into(),
|
||||
json_schema!({
|
||||
"type": "string",
|
||||
"title": "ULID",
|
||||
"description": "A ULID as per https://github.com/ulid/spec",
|
||||
"examples": [
|
||||
"01ARZ3NDEKTSV4RRFFQ69G5FAV",
|
||||
"01J41912SC8VGAQDD50F6APK91",
|
||||
],
|
||||
..Metadata::default()
|
||||
})),
|
||||
|
||||
string: Some(Box::new(StringValidation {
|
||||
pattern: Some(r"^[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$".into()),
|
||||
..StringValidation::default()
|
||||
})),
|
||||
|
||||
..SchemaObject::default()
|
||||
}
|
||||
.into()
|
||||
"pattern": "^[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$",
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@@ -53,27 +40,20 @@ impl JsonSchema for Ulid {
|
||||
pub struct Device;
|
||||
|
||||
impl JsonSchema for Device {
|
||||
fn schema_name() -> String {
|
||||
"DeviceID".to_owned()
|
||||
fn schema_name() -> Cow<'static, str> {
|
||||
Cow::Borrowed("DeviceID")
|
||||
}
|
||||
|
||||
fn json_schema(_gen: &mut SchemaGenerator) -> Schema {
|
||||
SchemaObject {
|
||||
instance_type: Some(InstanceType::String.into()),
|
||||
|
||||
metadata: Some(Box::new(Metadata {
|
||||
title: Some("Device ID".into()),
|
||||
examples: vec!["AABBCCDDEE".into(), "FFGGHHIIJJ".into()],
|
||||
..Metadata::default()
|
||||
})),
|
||||
|
||||
string: Some(Box::new(StringValidation {
|
||||
pattern: Some(r"^[A-Za-z0-9._~!$&'()*+,;=:&/-]+$".into()),
|
||||
..StringValidation::default()
|
||||
})),
|
||||
|
||||
..SchemaObject::default()
|
||||
}
|
||||
.into()
|
||||
json_schema!({
|
||||
"type": "string",
|
||||
"title": "Device ID",
|
||||
"description": "A device ID as per https://matrix.org/docs/spec/client_server/r0.6.0#device-ids",
|
||||
"examples": [
|
||||
"AABBCCDDEE",
|
||||
"FFGGHHIIJJ",
|
||||
],
|
||||
"pattern": "^[A-Za-z0-9._~!$&'()*+,;=:&/-]+$",
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@@ -59,7 +59,7 @@ fn data_example() -> serde_json::Value {
|
||||
#[derive(Deserialize, JsonSchema)]
|
||||
#[serde(rename = "SetPolicyDataRequest")]
|
||||
pub struct SetPolicyDataRequest {
|
||||
#[schemars(example = "data_example")]
|
||||
#[schemars(example = data_example())]
|
||||
pub data: serde_json::Value,
|
||||
}
|
||||
|
||||
|
||||
@@ -55,16 +55,12 @@ impl IntoResponse for RouteError {
|
||||
}
|
||||
}
|
||||
|
||||
fn password_example() -> String {
|
||||
"hunter2".to_owned()
|
||||
}
|
||||
|
||||
/// # JSON payload for the `POST /api/admin/v1/users/:id/set-password` endpoint
|
||||
#[derive(Deserialize, JsonSchema)]
|
||||
#[schemars(rename = "SetUserPasswordRequest")]
|
||||
pub struct Request {
|
||||
/// The password to set for the user
|
||||
#[schemars(example = "password_example")]
|
||||
#[schemars(example = &"hunter2")]
|
||||
password: String,
|
||||
|
||||
/// Skip the password complexity check
|
||||
|
||||
@@ -23,6 +23,7 @@ camino.workspace = true
|
||||
convert_case.workspace = true
|
||||
csv.workspace = true
|
||||
reqwest.workspace = true
|
||||
rustls.workspace = true
|
||||
serde.workspace = true
|
||||
tokio.workspace = true
|
||||
tracing-subscriber.workspace = true
|
||||
|
||||
@@ -165,11 +165,12 @@ pub fn json_schema_impl(
|
||||
write!(
|
||||
f,
|
||||
r#"impl schemars::JsonSchema for {} {{
|
||||
fn schema_name() -> String {{
|
||||
"{}".to_owned()
|
||||
fn schema_name() -> std::borrow::Cow<'static, str> {{
|
||||
std::borrow::Cow::Borrowed("{}")
|
||||
}}
|
||||
|
||||
fn json_schema(_gen: &mut schemars::r#gen::SchemaGenerator) -> schemars::schema::Schema {{
|
||||
#[allow(clippy::too_many_lines)]
|
||||
fn json_schema(_gen: &mut schemars::SchemaGenerator) -> schemars::Schema {{
|
||||
let enums = vec!["#,
|
||||
section.key, section.key,
|
||||
)?;
|
||||
@@ -179,20 +180,14 @@ pub fn json_schema_impl(
|
||||
f,
|
||||
r"
|
||||
// ---
|
||||
schemars::schema::SchemaObject {{",
|
||||
schemars::json_schema!({{",
|
||||
)?;
|
||||
|
||||
if let Some(description) = &member.description {
|
||||
write!(
|
||||
f,
|
||||
r"
|
||||
metadata: Some(Box::new(schemars::schema::Metadata {{
|
||||
description: Some(
|
||||
// ---
|
||||
{}.to_owned(),
|
||||
),
|
||||
..Default::default()
|
||||
}})),",
|
||||
r#"
|
||||
"description": {},"#,
|
||||
raw_string(description),
|
||||
)?;
|
||||
}
|
||||
@@ -200,34 +195,24 @@ pub fn json_schema_impl(
|
||||
write!(
|
||||
f,
|
||||
r#"
|
||||
const_value: Some("{}".into()),
|
||||
..Default::default()
|
||||
}}
|
||||
.into(),"#,
|
||||
"const": "{}",
|
||||
}}),"#,
|
||||
member.value
|
||||
)?;
|
||||
}
|
||||
|
||||
writeln!(
|
||||
f,
|
||||
r"
|
||||
r#"
|
||||
];
|
||||
|
||||
let description = {};
|
||||
schemars::schema::SchemaObject {{
|
||||
metadata: Some(Box::new(schemars::schema::Metadata {{
|
||||
description: Some(description.to_owned()),
|
||||
..Default::default()
|
||||
}})),
|
||||
subschemas: Some(Box::new(schemars::schema::SubschemaValidation {{
|
||||
any_of: Some(enums),
|
||||
..Default::default()
|
||||
}})),
|
||||
..Default::default()
|
||||
schemars::json_schema!({{
|
||||
"description": description,
|
||||
"anyOf": enums,
|
||||
}})
|
||||
}}
|
||||
.into()
|
||||
}}
|
||||
}}",
|
||||
}}"#,
|
||||
raw_string(section.doc),
|
||||
)
|
||||
}
|
||||
|
||||
@@ -189,6 +189,10 @@ async fn main() -> anyhow::Result<()> {
|
||||
.pretty()
|
||||
.init();
|
||||
|
||||
rustls::crypto::aws_lc_rs::default_provider()
|
||||
.install_default()
|
||||
.unwrap();
|
||||
|
||||
#[expect(
|
||||
clippy::disallowed_methods,
|
||||
reason = "reqwest::Client::new should be disallowed by clippy, but for the codegen it's fine"
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -79,51 +79,36 @@ impl serde::Serialize for OAuthAccessTokenType {
|
||||
}
|
||||
|
||||
impl schemars::JsonSchema for OAuthAccessTokenType {
|
||||
fn schema_name() -> String {
|
||||
"OAuthAccessTokenType".to_owned()
|
||||
fn schema_name() -> std::borrow::Cow<'static, str> {
|
||||
std::borrow::Cow::Borrowed("OAuthAccessTokenType")
|
||||
}
|
||||
|
||||
fn json_schema(_gen: &mut schemars::r#gen::SchemaGenerator) -> schemars::schema::Schema {
|
||||
#[allow(clippy::too_many_lines)]
|
||||
fn json_schema(_gen: &mut schemars::SchemaGenerator) -> schemars::Schema {
|
||||
let enums = vec![
|
||||
// ---
|
||||
schemars::schema::SchemaObject {
|
||||
const_value: Some("Bearer".into()),
|
||||
..Default::default()
|
||||
}
|
||||
.into(),
|
||||
schemars::json_schema!({
|
||||
"const": "Bearer",
|
||||
}),
|
||||
// ---
|
||||
schemars::schema::SchemaObject {
|
||||
const_value: Some("N_A".into()),
|
||||
..Default::default()
|
||||
}
|
||||
.into(),
|
||||
schemars::json_schema!({
|
||||
"const": "N_A",
|
||||
}),
|
||||
// ---
|
||||
schemars::schema::SchemaObject {
|
||||
const_value: Some("PoP".into()),
|
||||
..Default::default()
|
||||
}
|
||||
.into(),
|
||||
schemars::json_schema!({
|
||||
"const": "PoP",
|
||||
}),
|
||||
// ---
|
||||
schemars::schema::SchemaObject {
|
||||
const_value: Some("DPoP".into()),
|
||||
..Default::default()
|
||||
}
|
||||
.into(),
|
||||
schemars::json_schema!({
|
||||
"const": "DPoP",
|
||||
}),
|
||||
];
|
||||
|
||||
let description = r"OAuth Access Token Type";
|
||||
schemars::schema::SchemaObject {
|
||||
metadata: Some(Box::new(schemars::schema::Metadata {
|
||||
description: Some(description.to_owned()),
|
||||
..Default::default()
|
||||
})),
|
||||
subschemas: Some(Box::new(schemars::schema::SubschemaValidation {
|
||||
any_of: Some(enums),
|
||||
..Default::default()
|
||||
})),
|
||||
..Default::default()
|
||||
}
|
||||
.into()
|
||||
schemars::json_schema!({
|
||||
"description": description,
|
||||
"anyOf": enums,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@@ -210,75 +195,52 @@ impl serde::Serialize for OAuthAuthorizationEndpointResponseType {
|
||||
}
|
||||
|
||||
impl schemars::JsonSchema for OAuthAuthorizationEndpointResponseType {
|
||||
fn schema_name() -> String {
|
||||
"OAuthAuthorizationEndpointResponseType".to_owned()
|
||||
fn schema_name() -> std::borrow::Cow<'static, str> {
|
||||
std::borrow::Cow::Borrowed("OAuthAuthorizationEndpointResponseType")
|
||||
}
|
||||
|
||||
fn json_schema(_gen: &mut schemars::r#gen::SchemaGenerator) -> schemars::schema::Schema {
|
||||
#[allow(clippy::too_many_lines)]
|
||||
fn json_schema(_gen: &mut schemars::SchemaGenerator) -> schemars::Schema {
|
||||
let enums = vec![
|
||||
// ---
|
||||
schemars::schema::SchemaObject {
|
||||
const_value: Some("code".into()),
|
||||
..Default::default()
|
||||
}
|
||||
.into(),
|
||||
schemars::json_schema!({
|
||||
"const": "code",
|
||||
}),
|
||||
// ---
|
||||
schemars::schema::SchemaObject {
|
||||
const_value: Some("code id_token".into()),
|
||||
..Default::default()
|
||||
}
|
||||
.into(),
|
||||
schemars::json_schema!({
|
||||
"const": "code id_token",
|
||||
}),
|
||||
// ---
|
||||
schemars::schema::SchemaObject {
|
||||
const_value: Some("code id_token token".into()),
|
||||
..Default::default()
|
||||
}
|
||||
.into(),
|
||||
schemars::json_schema!({
|
||||
"const": "code id_token token",
|
||||
}),
|
||||
// ---
|
||||
schemars::schema::SchemaObject {
|
||||
const_value: Some("code token".into()),
|
||||
..Default::default()
|
||||
}
|
||||
.into(),
|
||||
schemars::json_schema!({
|
||||
"const": "code token",
|
||||
}),
|
||||
// ---
|
||||
schemars::schema::SchemaObject {
|
||||
const_value: Some("id_token".into()),
|
||||
..Default::default()
|
||||
}
|
||||
.into(),
|
||||
schemars::json_schema!({
|
||||
"const": "id_token",
|
||||
}),
|
||||
// ---
|
||||
schemars::schema::SchemaObject {
|
||||
const_value: Some("id_token token".into()),
|
||||
..Default::default()
|
||||
}
|
||||
.into(),
|
||||
schemars::json_schema!({
|
||||
"const": "id_token token",
|
||||
}),
|
||||
// ---
|
||||
schemars::schema::SchemaObject {
|
||||
const_value: Some("none".into()),
|
||||
..Default::default()
|
||||
}
|
||||
.into(),
|
||||
schemars::json_schema!({
|
||||
"const": "none",
|
||||
}),
|
||||
// ---
|
||||
schemars::schema::SchemaObject {
|
||||
const_value: Some("token".into()),
|
||||
..Default::default()
|
||||
}
|
||||
.into(),
|
||||
schemars::json_schema!({
|
||||
"const": "token",
|
||||
}),
|
||||
];
|
||||
|
||||
let description = r"OAuth Authorization Endpoint Response Type";
|
||||
schemars::schema::SchemaObject {
|
||||
metadata: Some(Box::new(schemars::schema::Metadata {
|
||||
description: Some(description.to_owned()),
|
||||
..Default::default()
|
||||
})),
|
||||
subschemas: Some(Box::new(schemars::schema::SubschemaValidation {
|
||||
any_of: Some(enums),
|
||||
..Default::default()
|
||||
})),
|
||||
..Default::default()
|
||||
}
|
||||
.into()
|
||||
schemars::json_schema!({
|
||||
"description": description,
|
||||
"anyOf": enums,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@@ -345,45 +307,32 @@ impl serde::Serialize for OAuthTokenTypeHint {
|
||||
}
|
||||
|
||||
impl schemars::JsonSchema for OAuthTokenTypeHint {
|
||||
fn schema_name() -> String {
|
||||
"OAuthTokenTypeHint".to_owned()
|
||||
fn schema_name() -> std::borrow::Cow<'static, str> {
|
||||
std::borrow::Cow::Borrowed("OAuthTokenTypeHint")
|
||||
}
|
||||
|
||||
fn json_schema(_gen: &mut schemars::r#gen::SchemaGenerator) -> schemars::schema::Schema {
|
||||
#[allow(clippy::too_many_lines)]
|
||||
fn json_schema(_gen: &mut schemars::SchemaGenerator) -> schemars::Schema {
|
||||
let enums = vec![
|
||||
// ---
|
||||
schemars::schema::SchemaObject {
|
||||
const_value: Some("access_token".into()),
|
||||
..Default::default()
|
||||
}
|
||||
.into(),
|
||||
schemars::json_schema!({
|
||||
"const": "access_token",
|
||||
}),
|
||||
// ---
|
||||
schemars::schema::SchemaObject {
|
||||
const_value: Some("refresh_token".into()),
|
||||
..Default::default()
|
||||
}
|
||||
.into(),
|
||||
schemars::json_schema!({
|
||||
"const": "refresh_token",
|
||||
}),
|
||||
// ---
|
||||
schemars::schema::SchemaObject {
|
||||
const_value: Some("pct".into()),
|
||||
..Default::default()
|
||||
}
|
||||
.into(),
|
||||
schemars::json_schema!({
|
||||
"const": "pct",
|
||||
}),
|
||||
];
|
||||
|
||||
let description = r"OAuth Token Type Hint";
|
||||
schemars::schema::SchemaObject {
|
||||
metadata: Some(Box::new(schemars::schema::Metadata {
|
||||
description: Some(description.to_owned()),
|
||||
..Default::default()
|
||||
})),
|
||||
subschemas: Some(Box::new(schemars::schema::SubschemaValidation {
|
||||
any_of: Some(enums),
|
||||
..Default::default()
|
||||
})),
|
||||
..Default::default()
|
||||
}
|
||||
.into()
|
||||
schemars::json_schema!({
|
||||
"description": description,
|
||||
"anyOf": enums,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@@ -470,69 +419,48 @@ impl serde::Serialize for OAuthClientAuthenticationMethod {
|
||||
}
|
||||
|
||||
impl schemars::JsonSchema for OAuthClientAuthenticationMethod {
|
||||
fn schema_name() -> String {
|
||||
"OAuthClientAuthenticationMethod".to_owned()
|
||||
fn schema_name() -> std::borrow::Cow<'static, str> {
|
||||
std::borrow::Cow::Borrowed("OAuthClientAuthenticationMethod")
|
||||
}
|
||||
|
||||
fn json_schema(_gen: &mut schemars::r#gen::SchemaGenerator) -> schemars::schema::Schema {
|
||||
#[allow(clippy::too_many_lines)]
|
||||
fn json_schema(_gen: &mut schemars::SchemaGenerator) -> schemars::Schema {
|
||||
let enums = vec![
|
||||
// ---
|
||||
schemars::schema::SchemaObject {
|
||||
const_value: Some("none".into()),
|
||||
..Default::default()
|
||||
}
|
||||
.into(),
|
||||
schemars::json_schema!({
|
||||
"const": "none",
|
||||
}),
|
||||
// ---
|
||||
schemars::schema::SchemaObject {
|
||||
const_value: Some("client_secret_post".into()),
|
||||
..Default::default()
|
||||
}
|
||||
.into(),
|
||||
schemars::json_schema!({
|
||||
"const": "client_secret_post",
|
||||
}),
|
||||
// ---
|
||||
schemars::schema::SchemaObject {
|
||||
const_value: Some("client_secret_basic".into()),
|
||||
..Default::default()
|
||||
}
|
||||
.into(),
|
||||
schemars::json_schema!({
|
||||
"const": "client_secret_basic",
|
||||
}),
|
||||
// ---
|
||||
schemars::schema::SchemaObject {
|
||||
const_value: Some("client_secret_jwt".into()),
|
||||
..Default::default()
|
||||
}
|
||||
.into(),
|
||||
schemars::json_schema!({
|
||||
"const": "client_secret_jwt",
|
||||
}),
|
||||
// ---
|
||||
schemars::schema::SchemaObject {
|
||||
const_value: Some("private_key_jwt".into()),
|
||||
..Default::default()
|
||||
}
|
||||
.into(),
|
||||
schemars::json_schema!({
|
||||
"const": "private_key_jwt",
|
||||
}),
|
||||
// ---
|
||||
schemars::schema::SchemaObject {
|
||||
const_value: Some("tls_client_auth".into()),
|
||||
..Default::default()
|
||||
}
|
||||
.into(),
|
||||
schemars::json_schema!({
|
||||
"const": "tls_client_auth",
|
||||
}),
|
||||
// ---
|
||||
schemars::schema::SchemaObject {
|
||||
const_value: Some("self_signed_tls_client_auth".into()),
|
||||
..Default::default()
|
||||
}
|
||||
.into(),
|
||||
schemars::json_schema!({
|
||||
"const": "self_signed_tls_client_auth",
|
||||
}),
|
||||
];
|
||||
|
||||
let description = r"OAuth Token Endpoint Authentication Method";
|
||||
schemars::schema::SchemaObject {
|
||||
metadata: Some(Box::new(schemars::schema::Metadata {
|
||||
description: Some(description.to_owned()),
|
||||
..Default::default()
|
||||
})),
|
||||
subschemas: Some(Box::new(schemars::schema::SubschemaValidation {
|
||||
any_of: Some(enums),
|
||||
..Default::default()
|
||||
})),
|
||||
..Default::default()
|
||||
}
|
||||
.into()
|
||||
schemars::json_schema!({
|
||||
"description": description,
|
||||
"anyOf": enums,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@@ -594,38 +522,27 @@ impl serde::Serialize for PkceCodeChallengeMethod {
|
||||
}
|
||||
|
||||
impl schemars::JsonSchema for PkceCodeChallengeMethod {
|
||||
fn schema_name() -> String {
|
||||
"PkceCodeChallengeMethod".to_owned()
|
||||
fn schema_name() -> std::borrow::Cow<'static, str> {
|
||||
std::borrow::Cow::Borrowed("PkceCodeChallengeMethod")
|
||||
}
|
||||
|
||||
fn json_schema(_gen: &mut schemars::r#gen::SchemaGenerator) -> schemars::schema::Schema {
|
||||
#[allow(clippy::too_many_lines)]
|
||||
fn json_schema(_gen: &mut schemars::SchemaGenerator) -> schemars::Schema {
|
||||
let enums = vec![
|
||||
// ---
|
||||
schemars::schema::SchemaObject {
|
||||
const_value: Some("plain".into()),
|
||||
..Default::default()
|
||||
}
|
||||
.into(),
|
||||
schemars::json_schema!({
|
||||
"const": "plain",
|
||||
}),
|
||||
// ---
|
||||
schemars::schema::SchemaObject {
|
||||
const_value: Some("S256".into()),
|
||||
..Default::default()
|
||||
}
|
||||
.into(),
|
||||
schemars::json_schema!({
|
||||
"const": "S256",
|
||||
}),
|
||||
];
|
||||
|
||||
let description = r"PKCE Code Challenge Method";
|
||||
schemars::schema::SchemaObject {
|
||||
metadata: Some(Box::new(schemars::schema::Metadata {
|
||||
description: Some(description.to_owned()),
|
||||
..Default::default()
|
||||
})),
|
||||
subschemas: Some(Box::new(schemars::schema::SubschemaValidation {
|
||||
any_of: Some(enums),
|
||||
..Default::default()
|
||||
})),
|
||||
..Default::default()
|
||||
}
|
||||
.into()
|
||||
schemars::json_schema!({
|
||||
"description": description,
|
||||
"anyOf": enums,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@ use std::path::{Path, PathBuf};
|
||||
use mas_policy::model::{
|
||||
AuthorizationGrantInput, ClientRegistrationInput, EmailInput, RegisterInput,
|
||||
};
|
||||
use schemars::{JsonSchema, r#gen::SchemaSettings};
|
||||
use schemars::{JsonSchema, generate::SchemaSettings};
|
||||
|
||||
fn write_schema<T: JsonSchema>(out_dir: Option<&Path>, file: &str) {
|
||||
let mut writer: Box<dyn std::io::Write> = if let Some(out_dir) = out_dir {
|
||||
@@ -27,11 +27,7 @@ fn write_schema<T: JsonSchema>(out_dir: Option<&Path>, file: &str) {
|
||||
Box::new(std::io::stdout())
|
||||
};
|
||||
|
||||
let settings = SchemaSettings::draft07().with(|s| {
|
||||
s.option_nullable = false;
|
||||
s.option_add_null_type = false;
|
||||
});
|
||||
let generator = settings.into_generator();
|
||||
let generator = SchemaSettings::draft07().into_generator();
|
||||
let schema = generator.into_root_schema_for::<T>();
|
||||
serde_json::to_writer_pretty(&mut writer, &schema).expect("Failed to serialize schema");
|
||||
writer.flush().expect("Failed to flush writer");
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
//! To define a new repository, you have to:
|
||||
//! 1. Define a new (async) repository trait, with the methods you need
|
||||
//! 2. Write an implementation of this trait for each storage backend you want
|
||||
//! (currently only for [`mas-storage-pg`])
|
||||
//! (currently only for `mas-storage-pg`)
|
||||
//! 3. Make it accessible via the [`RepositoryAccess`] trait
|
||||
//!
|
||||
//! The repository trait definition should look like this:
|
||||
|
||||
@@ -60,8 +60,6 @@ multiple-versions = "deny"
|
||||
|
||||
skip = [
|
||||
{ name = "itertools", version = "0.13.0" }, # zxcvbn depends on this old version
|
||||
{ name = "indexmap", version = "1.9.3" }, # schemars depends on this old version
|
||||
{ name = "hashbrown", version = "0.12.3" }, # schemars -> indexmap depends on this old version
|
||||
{ name = "hashbrown", version = "0.14.5" }, # a few crates depend on this old version
|
||||
# a few dependencies depend on the 1.x version of thiserror
|
||||
{ name = "thiserror", version = "1.0.69" },
|
||||
|
||||
2473
docs/api/spec.json
2473
docs/api/spec.json
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -27,7 +27,7 @@ export type LocalazyMetadata = {
|
||||
};
|
||||
|
||||
const localazyMetadata: LocalazyMetadata = {
|
||||
projectUrl: "https://localazy.com/p/matrix-authentication-service",
|
||||
projectUrl: "https://localazy.com/p/matrix-authentication-service!v1.6",
|
||||
baseLocale: "en",
|
||||
languages: [
|
||||
{
|
||||
@@ -172,21 +172,21 @@ const localazyMetadata: LocalazyMetadata = {
|
||||
file: "frontend.json",
|
||||
path: "",
|
||||
cdnFiles: {
|
||||
"cs": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/cs/frontend.json",
|
||||
"da": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/da/frontend.json",
|
||||
"de": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/de/frontend.json",
|
||||
"en": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/en/frontend.json",
|
||||
"et": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/et/frontend.json",
|
||||
"fi": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/fi/frontend.json",
|
||||
"fr": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/fr/frontend.json",
|
||||
"hu": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/hu/frontend.json",
|
||||
"nb_NO": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/nb-NO/frontend.json",
|
||||
"nl": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/nl/frontend.json",
|
||||
"pt": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/pt/frontend.json",
|
||||
"ru": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/ru/frontend.json",
|
||||
"sv": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/sv/frontend.json",
|
||||
"uk": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/uk/frontend.json",
|
||||
"zh#Hans": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/zh-Hans/frontend.json"
|
||||
"cs": "https://delivery.localazy.com/_a67480892591190493723a576eac/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/cs/frontend.json",
|
||||
"da": "https://delivery.localazy.com/_a67480892591190493723a576eac/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/da/frontend.json",
|
||||
"de": "https://delivery.localazy.com/_a67480892591190493723a576eac/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/de/frontend.json",
|
||||
"en": "https://delivery.localazy.com/_a67480892591190493723a576eac/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/en/frontend.json",
|
||||
"et": "https://delivery.localazy.com/_a67480892591190493723a576eac/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/et/frontend.json",
|
||||
"fi": "https://delivery.localazy.com/_a67480892591190493723a576eac/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/fi/frontend.json",
|
||||
"fr": "https://delivery.localazy.com/_a67480892591190493723a576eac/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/fr/frontend.json",
|
||||
"hu": "https://delivery.localazy.com/_a67480892591190493723a576eac/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/hu/frontend.json",
|
||||
"nb_NO": "https://delivery.localazy.com/_a67480892591190493723a576eac/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/nb-NO/frontend.json",
|
||||
"nl": "https://delivery.localazy.com/_a67480892591190493723a576eac/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/nl/frontend.json",
|
||||
"pt": "https://delivery.localazy.com/_a67480892591190493723a576eac/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/pt/frontend.json",
|
||||
"ru": "https://delivery.localazy.com/_a67480892591190493723a576eac/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/ru/frontend.json",
|
||||
"sv": "https://delivery.localazy.com/_a67480892591190493723a576eac/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/sv/frontend.json",
|
||||
"uk": "https://delivery.localazy.com/_a67480892591190493723a576eac/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/uk/frontend.json",
|
||||
"zh#Hans": "https://delivery.localazy.com/_a67480892591190493723a576eac/_e0/7c203a8ac8bd48c3c4609a8effcd0fbac430f9b2/zh-Hans/frontend.json"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -194,21 +194,21 @@ const localazyMetadata: LocalazyMetadata = {
|
||||
file: "file.json",
|
||||
path: "",
|
||||
cdnFiles: {
|
||||
"cs": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/cs/file.json",
|
||||
"da": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/da/file.json",
|
||||
"de": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/de/file.json",
|
||||
"en": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/en/file.json",
|
||||
"et": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/et/file.json",
|
||||
"fi": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/fi/file.json",
|
||||
"fr": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/fr/file.json",
|
||||
"hu": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/hu/file.json",
|
||||
"nb_NO": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/nb-NO/file.json",
|
||||
"nl": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/nl/file.json",
|
||||
"pt": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/pt/file.json",
|
||||
"ru": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/ru/file.json",
|
||||
"sv": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/sv/file.json",
|
||||
"uk": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/uk/file.json",
|
||||
"zh#Hans": "https://delivery.localazy.com/_a7686032324574572744739e0707/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/zh-Hans/file.json"
|
||||
"cs": "https://delivery.localazy.com/_a67480892591190493723a576eac/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/cs/file.json",
|
||||
"da": "https://delivery.localazy.com/_a67480892591190493723a576eac/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/da/file.json",
|
||||
"de": "https://delivery.localazy.com/_a67480892591190493723a576eac/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/de/file.json",
|
||||
"en": "https://delivery.localazy.com/_a67480892591190493723a576eac/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/en/file.json",
|
||||
"et": "https://delivery.localazy.com/_a67480892591190493723a576eac/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/et/file.json",
|
||||
"fi": "https://delivery.localazy.com/_a67480892591190493723a576eac/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/fi/file.json",
|
||||
"fr": "https://delivery.localazy.com/_a67480892591190493723a576eac/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/fr/file.json",
|
||||
"hu": "https://delivery.localazy.com/_a67480892591190493723a576eac/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/hu/file.json",
|
||||
"nb_NO": "https://delivery.localazy.com/_a67480892591190493723a576eac/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/nb-NO/file.json",
|
||||
"nl": "https://delivery.localazy.com/_a67480892591190493723a576eac/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/nl/file.json",
|
||||
"pt": "https://delivery.localazy.com/_a67480892591190493723a576eac/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/pt/file.json",
|
||||
"ru": "https://delivery.localazy.com/_a67480892591190493723a576eac/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/ru/file.json",
|
||||
"sv": "https://delivery.localazy.com/_a67480892591190493723a576eac/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/sv/file.json",
|
||||
"uk": "https://delivery.localazy.com/_a67480892591190493723a576eac/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/uk/file.json",
|
||||
"zh#Hans": "https://delivery.localazy.com/_a67480892591190493723a576eac/_e0/5b69b0350dccfd47c245a5d41c1b9fdf6912cc6e/zh-Hans/file.json"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
479
frontend/package-lock.json
generated
479
frontend/package-lock.json
generated
@@ -34,10 +34,10 @@
|
||||
"@browser-logos/firefox": "^3.0.10",
|
||||
"@browser-logos/safari": "^2.1.0",
|
||||
"@graphql-codegen/cli": "^6.0.1",
|
||||
"@graphql-codegen/client-preset": "^5.1.0",
|
||||
"@graphql-codegen/client-preset": "^5.1.1",
|
||||
"@graphql-codegen/typescript-msw": "^3.0.1",
|
||||
"@storybook/addon-docs": "^9.1.13",
|
||||
"@storybook/react-vite": "^9.1.13",
|
||||
"@storybook/addon-docs": "^10.0.5",
|
||||
"@storybook/react-vite": "^10.0.5",
|
||||
"@tanstack/react-query-devtools": "^5.90.2",
|
||||
"@tanstack/react-router-devtools": "^1.131.44",
|
||||
"@tanstack/router-plugin": "^1.131.44",
|
||||
@@ -62,10 +62,10 @@
|
||||
"postcss-import": "^16.1.1",
|
||||
"postcss-nesting": "^13.0.2",
|
||||
"rimraf": "^6.0.1",
|
||||
"storybook": "^9.1.5",
|
||||
"storybook": "^10.0.5",
|
||||
"tailwindcss": "^3.4.18",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "7.1.12",
|
||||
"vite": "7.2.2",
|
||||
"vite-plugin-compression": "^0.5.1",
|
||||
"vite-plugin-graphql-codegen": "^3.7.0",
|
||||
"vite-plugin-manifest-sri": "^0.2.0",
|
||||
@@ -1981,16 +1981,16 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@graphql-codegen/client-preset": {
|
||||
"version": "5.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@graphql-codegen/client-preset/-/client-preset-5.1.0.tgz",
|
||||
"integrity": "sha512-MYMy9dIlAgT3q1U8WUys6Y8yt/T9WLsm1DczRtrCpV5N11v4Rlg3hGWQmEvhJtBbWxgzfYoHZHb0TohtbLkJ+g==",
|
||||
"version": "5.1.1",
|
||||
"resolved": "https://registry.npmjs.org/@graphql-codegen/client-preset/-/client-preset-5.1.1.tgz",
|
||||
"integrity": "sha512-d7a4KdZJBOPt/O55JneBz9WwvpWar/P5yyxfjZvvoRErXPRsWtswLp+CBKKPkRcEIz9MXfTdQ1GL3kQg16DLfg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/helper-plugin-utils": "^7.20.2",
|
||||
"@babel/template": "^7.20.7",
|
||||
"@graphql-codegen/add": "^6.0.0",
|
||||
"@graphql-codegen/gql-tag-operations": "5.0.2",
|
||||
"@graphql-codegen/gql-tag-operations": "5.0.3",
|
||||
"@graphql-codegen/plugin-helpers": "^6.0.0",
|
||||
"@graphql-codegen/typed-document-node": "^6.0.2",
|
||||
"@graphql-codegen/typescript": "^5.0.2",
|
||||
@@ -2048,9 +2048,9 @@
|
||||
"license": "0BSD"
|
||||
},
|
||||
"node_modules/@graphql-codegen/gql-tag-operations": {
|
||||
"version": "5.0.2",
|
||||
"resolved": "https://registry.npmjs.org/@graphql-codegen/gql-tag-operations/-/gql-tag-operations-5.0.2.tgz",
|
||||
"integrity": "sha512-iK+LFGv4ihHKeerADFPTL7Iq4iNr+J1jm2+GUMtwTSAL4nGk+BdfyruV7eR53R7Des8NFdI+9hBzKbbob7VwGQ==",
|
||||
"version": "5.0.3",
|
||||
"resolved": "https://registry.npmjs.org/@graphql-codegen/gql-tag-operations/-/gql-tag-operations-5.0.3.tgz",
|
||||
"integrity": "sha512-G6YqeDMMuwMvAtlW+MUaQDoYgQtBuBrfp89IOSnj7YXqSc/TMOma3X5XeXM4/oeNDQyfm2A66j5H8DYf04mJZg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@@ -5134,16 +5134,16 @@
|
||||
"license": "Apache-2.0"
|
||||
},
|
||||
"node_modules/@storybook/addon-docs": {
|
||||
"version": "9.1.13",
|
||||
"resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-9.1.13.tgz",
|
||||
"integrity": "sha512-V1nCo7bfC3kQ5VNVq0VDcHsIhQf507m+BxMA5SIYiwdJHljH2BXpW2fL3FFn9gv9Wp57AEEzhm+wh4zANaJgkg==",
|
||||
"version": "10.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-10.0.5.tgz",
|
||||
"integrity": "sha512-KCdvqXnBzsHSDZJNonH07FjqiHEQOEo3UtWH/Co43vYvDMEIwZTuQqswxBaO8KCXQlHyLtz5LJ4RluNW+KNJKQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@mdx-js/react": "^3.0.0",
|
||||
"@storybook/csf-plugin": "9.1.13",
|
||||
"@storybook/icons": "^1.4.0",
|
||||
"@storybook/react-dom-shim": "9.1.13",
|
||||
"@storybook/csf-plugin": "10.0.5",
|
||||
"@storybook/icons": "^1.6.0",
|
||||
"@storybook/react-dom-shim": "10.0.5",
|
||||
"react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
|
||||
"react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
|
||||
"ts-dedent": "^2.0.0"
|
||||
@@ -5153,43 +5153,58 @@
|
||||
"url": "https://opencollective.com/storybook"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"storybook": "^9.1.13"
|
||||
"storybook": "^10.0.5"
|
||||
}
|
||||
},
|
||||
"node_modules/@storybook/builder-vite": {
|
||||
"version": "9.1.13",
|
||||
"resolved": "https://registry.npmjs.org/@storybook/builder-vite/-/builder-vite-9.1.13.tgz",
|
||||
"integrity": "sha512-pmtIjU02ASJOZKdL8DoxWXJgZnpTDgD5WmMnjKJh9FaWmc2YiCW2Y6VRxPox96OM655jYHQe5+UIbk3Cwtwb4A==",
|
||||
"node_modules/@storybook/addon-docs/node_modules/@storybook/csf-plugin": {
|
||||
"version": "10.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-10.0.5.tgz",
|
||||
"integrity": "sha512-4lQ/ZFmv3vVO/9cfY79HwQBo6ZnKhq9JWwngoWrw+8vpHuBx3Ks0l9E+PrAgfPmdOkmk5FedOI5VR68l5XAhzA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@storybook/csf-plugin": "9.1.13",
|
||||
"ts-dedent": "^2.0.0"
|
||||
"unplugin": "^2.3.5"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/storybook"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"storybook": "^9.1.13",
|
||||
"vite": "^5.0.0 || ^6.0.0 || ^7.0.0"
|
||||
"esbuild": "*",
|
||||
"rollup": "*",
|
||||
"storybook": "^10.0.5",
|
||||
"vite": "*",
|
||||
"webpack": "*"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"esbuild": {
|
||||
"optional": true
|
||||
},
|
||||
"rollup": {
|
||||
"optional": true
|
||||
},
|
||||
"vite": {
|
||||
"optional": true
|
||||
},
|
||||
"webpack": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/@storybook/csf-plugin": {
|
||||
"version": "9.1.13",
|
||||
"resolved": "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-9.1.13.tgz",
|
||||
"integrity": "sha512-EMpzYuyt9FDcxxfBChWzfId50y8QMpdenviEQ8m+pa6c+ANx3pC5J6t7y0khD8TQu815sTy+nc6cc8PC45dPUA==",
|
||||
"node_modules/@storybook/addon-docs/node_modules/@storybook/react-dom-shim": {
|
||||
"version": "10.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-10.0.5.tgz",
|
||||
"integrity": "sha512-bC6pSrQWRHUVmDDxH5uYq/tf2oqIEyzGIC4+3mZl67ngOKwOgjaBatKLnHBDeWrn25pA11mymdFt1VOStbNzGQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"unplugin": "^1.3.1"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/storybook"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"storybook": "^9.1.13"
|
||||
"react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
|
||||
"react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
|
||||
"storybook": "^10.0.5"
|
||||
}
|
||||
},
|
||||
"node_modules/@storybook/global": {
|
||||
@@ -5200,9 +5215,9 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@storybook/icons": {
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/@storybook/icons/-/icons-1.4.0.tgz",
|
||||
"integrity": "sha512-Td73IeJxOyalzvjQL+JXx72jlIYHgs+REaHiREOqfpo3A2AYYG71AUbcv+lg7mEDIweKVCxsMQ0UKo634c8XeA==",
|
||||
"version": "1.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@storybook/icons/-/icons-1.6.0.tgz",
|
||||
"integrity": "sha512-hcFZIjW8yQz8O8//2WTIXylm5Xsgc+lW9ISLgUk1xGmptIJQRdlhVIXCpSyLrQaaRiyhQRaVg7l3BD9S216BHw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
@@ -5213,27 +5228,106 @@
|
||||
"react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta"
|
||||
}
|
||||
},
|
||||
"node_modules/@storybook/react": {
|
||||
"version": "9.1.13",
|
||||
"resolved": "https://registry.npmjs.org/@storybook/react/-/react-9.1.13.tgz",
|
||||
"integrity": "sha512-B0UpYikKf29t8QGcdmumWojSQQ0phSDy/Ne2HYdrpNIxnUvHHUVOlGpq4lFcIDt52Ip5YG5GuAwJg3+eR4LCRg==",
|
||||
"node_modules/@storybook/react-vite": {
|
||||
"version": "10.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@storybook/react-vite/-/react-vite-10.0.5.tgz",
|
||||
"integrity": "sha512-YK27cKM+Znc8yg+kCrP/X6bphlCihv819mYAI9emXUcj+6tzY0+UaPXIXgYNe9jbK39V2stQML7W55N7qv9MRg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@storybook/global": "^5.0.0",
|
||||
"@storybook/react-dom-shim": "9.1.13"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=20.0.0"
|
||||
"@joshwooding/vite-plugin-react-docgen-typescript": "0.6.1",
|
||||
"@rollup/pluginutils": "^5.0.2",
|
||||
"@storybook/builder-vite": "10.0.5",
|
||||
"@storybook/react": "10.0.5",
|
||||
"empathic": "^2.0.0",
|
||||
"magic-string": "^0.30.0",
|
||||
"react-docgen": "^8.0.0",
|
||||
"resolve": "^1.22.8",
|
||||
"tsconfig-paths": "^4.2.0"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/storybook"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta",
|
||||
"react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta",
|
||||
"storybook": "^9.1.13",
|
||||
"react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
|
||||
"react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
|
||||
"storybook": "^10.0.5",
|
||||
"vite": "^5.0.0 || ^6.0.0 || ^7.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@storybook/react-vite/node_modules/@storybook/builder-vite": {
|
||||
"version": "10.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@storybook/builder-vite/-/builder-vite-10.0.5.tgz",
|
||||
"integrity": "sha512-ukTgD1hY+00VOA85fbXGrm30eMKYZr7I69/EonAb3rX8JS7JeI2Zoxd8WRXwQUafYbwRH6GSfjJ65xLXe9BCuQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@storybook/csf-plugin": "10.0.5",
|
||||
"ts-dedent": "^2.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/storybook"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"storybook": "^10.0.5",
|
||||
"vite": "^5.0.0 || ^6.0.0 || ^7.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@storybook/react-vite/node_modules/@storybook/builder-vite/node_modules/@storybook/csf-plugin": {
|
||||
"version": "10.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-10.0.5.tgz",
|
||||
"integrity": "sha512-4lQ/ZFmv3vVO/9cfY79HwQBo6ZnKhq9JWwngoWrw+8vpHuBx3Ks0l9E+PrAgfPmdOkmk5FedOI5VR68l5XAhzA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"unplugin": "^2.3.5"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/storybook"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"esbuild": "*",
|
||||
"rollup": "*",
|
||||
"storybook": "^10.0.5",
|
||||
"vite": "*",
|
||||
"webpack": "*"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"esbuild": {
|
||||
"optional": true
|
||||
},
|
||||
"rollup": {
|
||||
"optional": true
|
||||
},
|
||||
"vite": {
|
||||
"optional": true
|
||||
},
|
||||
"webpack": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/@storybook/react-vite/node_modules/@storybook/react": {
|
||||
"version": "10.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@storybook/react/-/react-10.0.5.tgz",
|
||||
"integrity": "sha512-FDajPP8HG4n1w3nql7lxQUNKg5+wEa+qJzAPNk583FRaeH6GuxSHlG1vUARQ1QnAZwwlrZzcmgjVNxIucms/5g==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@storybook/global": "^5.0.0",
|
||||
"@storybook/react-dom-shim": "10.0.5"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/storybook"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
|
||||
"react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
|
||||
"storybook": "^10.0.5",
|
||||
"typescript": ">= 4.9.x"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
@@ -5242,10 +5336,10 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/@storybook/react-dom-shim": {
|
||||
"version": "9.1.13",
|
||||
"resolved": "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-9.1.13.tgz",
|
||||
"integrity": "sha512-/tMr9TmV3+98GEQO0S03k4gtKHGCpv9+k9Dmnv+TJK3TBz7QsaFEzMwe3gCgoTaebLACyVveDiZkWnCYAWB6NA==",
|
||||
"node_modules/@storybook/react-vite/node_modules/@storybook/react/node_modules/@storybook/react-dom-shim": {
|
||||
"version": "10.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-10.0.5.tgz",
|
||||
"integrity": "sha512-bC6pSrQWRHUVmDDxH5uYq/tf2oqIEyzGIC4+3mZl67ngOKwOgjaBatKLnHBDeWrn25pA11mymdFt1VOStbNzGQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"funding": {
|
||||
@@ -5253,40 +5347,9 @@
|
||||
"url": "https://opencollective.com/storybook"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta",
|
||||
"react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta",
|
||||
"storybook": "^9.1.13"
|
||||
}
|
||||
},
|
||||
"node_modules/@storybook/react-vite": {
|
||||
"version": "9.1.13",
|
||||
"resolved": "https://registry.npmjs.org/@storybook/react-vite/-/react-vite-9.1.13.tgz",
|
||||
"integrity": "sha512-mV1bZ1bpkNQygnuDo1xMGAS5ZXuoXFF0WGmr/BzNDGmRhZ1K1HQh42kC0w3PklckFBUwCFxmP58ZwTFzf+/dJA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@joshwooding/vite-plugin-react-docgen-typescript": "0.6.1",
|
||||
"@rollup/pluginutils": "^5.0.2",
|
||||
"@storybook/builder-vite": "9.1.13",
|
||||
"@storybook/react": "9.1.13",
|
||||
"find-up": "^7.0.0",
|
||||
"magic-string": "^0.30.0",
|
||||
"react-docgen": "^8.0.0",
|
||||
"resolve": "^1.22.8",
|
||||
"tsconfig-paths": "^4.2.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=20.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/storybook"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta",
|
||||
"react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta",
|
||||
"storybook": "^9.1.13",
|
||||
"vite": "^5.0.0 || ^6.0.0 || ^7.0.0"
|
||||
"react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
|
||||
"react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
|
||||
"storybook": "^10.0.5"
|
||||
}
|
||||
},
|
||||
"node_modules/@tanstack/history": {
|
||||
@@ -5552,22 +5615,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/@tanstack/router-plugin/node_modules/unplugin": {
|
||||
"version": "2.3.10",
|
||||
"resolved": "https://registry.npmjs.org/unplugin/-/unplugin-2.3.10.tgz",
|
||||
"integrity": "sha512-6NCPkv1ClwH+/BGE9QeoTIl09nuiAt0gS28nn1PvYXsGKRwM2TCbFA2QiilmehPDTXIe684k4rZI1yl3A1PCUw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@jridgewell/remapping": "^2.3.5",
|
||||
"acorn": "^8.15.0",
|
||||
"picomatch": "^4.0.3",
|
||||
"webpack-virtual-modules": "^0.6.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18.12.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@tanstack/router-utils": {
|
||||
"version": "1.131.2",
|
||||
"resolved": "https://registry.npmjs.org/@tanstack/router-utils/-/router-utils-1.131.2.tgz",
|
||||
@@ -6581,19 +6628,6 @@
|
||||
"baseline-browser-mapping": "dist/cli.js"
|
||||
}
|
||||
},
|
||||
"node_modules/better-opn": {
|
||||
"version": "3.0.2",
|
||||
"resolved": "https://registry.npmjs.org/better-opn/-/better-opn-3.0.2.tgz",
|
||||
"integrity": "sha512-aVNobHnJqLiUelTaHat9DZ1qM2w0C0Eym4LPI/3JxOnSokGVdsl1T1kN7TFvsEAD8G47A6VKQ0TVHqbBnYMJlQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"open": "^8.0.4"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/binary-extensions": {
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz",
|
||||
@@ -7557,16 +7591,6 @@
|
||||
"node": ">=6"
|
||||
}
|
||||
},
|
||||
"node_modules/define-lazy-prop": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz",
|
||||
"integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/dependency-graph": {
|
||||
"version": "0.11.0",
|
||||
"resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz",
|
||||
@@ -7762,6 +7786,16 @@
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/empathic": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/empathic/-/empathic-2.0.0.tgz",
|
||||
"integrity": "sha512-i6UzDscO/XfAcNYD75CfICkmfLedpyPDdozrLMmQc5ORaQcdMoc21OnlEylMIqI7U8eniKrPMxxtj8k0vhmJhA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=14"
|
||||
}
|
||||
},
|
||||
"node_modules/encoding-sniffer": {
|
||||
"version": "0.2.1",
|
||||
"resolved": "https://registry.npmjs.org/encoding-sniffer/-/encoding-sniffer-0.2.1.tgz",
|
||||
@@ -7885,19 +7919,6 @@
|
||||
"@esbuild/win32-x64": "0.25.9"
|
||||
}
|
||||
},
|
||||
"node_modules/esbuild-register": {
|
||||
"version": "3.6.0",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-register/-/esbuild-register-3.6.0.tgz",
|
||||
"integrity": "sha512-H2/S7Pm8a9CL1uhp9OvjwrBh5Pvx0H8qVOxNu8Wed9Y7qv56MPtq+GGM8RJpq6glYJn9Wspr8uw7l55uyinNeg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"debug": "^4.3.4"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"esbuild": ">=0.12 <1"
|
||||
}
|
||||
},
|
||||
"node_modules/escalade": {
|
||||
"version": "3.2.0",
|
||||
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
|
||||
@@ -8097,24 +8118,6 @@
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/find-up": {
|
||||
"version": "7.0.0",
|
||||
"resolved": "https://registry.npmjs.org/find-up/-/find-up-7.0.0.tgz",
|
||||
"integrity": "sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"locate-path": "^7.2.0",
|
||||
"path-exists": "^5.0.0",
|
||||
"unicorn-magic": "^0.1.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/foreground-child": {
|
||||
"version": "3.3.1",
|
||||
"resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz",
|
||||
@@ -9018,22 +9021,6 @@
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/is-docker": {
|
||||
"version": "2.2.1",
|
||||
"resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz",
|
||||
"integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"bin": {
|
||||
"is-docker": "cli.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/is-extglob": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
|
||||
@@ -9186,19 +9173,6 @@
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/is-wsl": {
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
|
||||
"integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"is-docker": "^2.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/isarray": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
|
||||
@@ -9587,22 +9561,6 @@
|
||||
"url": "https://github.com/chalk/wrap-ansi?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/locate-path": {
|
||||
"version": "7.2.0",
|
||||
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz",
|
||||
"integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"p-locate": "^6.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/lodash": {
|
||||
"version": "4.17.21",
|
||||
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
|
||||
@@ -10321,24 +10279,6 @@
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/open": {
|
||||
"version": "8.4.2",
|
||||
"resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz",
|
||||
"integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"define-lazy-prop": "^2.0.0",
|
||||
"is-docker": "^2.1.1",
|
||||
"is-wsl": "^2.2.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/outvariant": {
|
||||
"version": "1.4.3",
|
||||
"resolved": "https://registry.npmjs.org/outvariant/-/outvariant-1.4.3.tgz",
|
||||
@@ -10393,51 +10333,6 @@
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/p-locate": {
|
||||
"version": "6.0.0",
|
||||
"resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz",
|
||||
"integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"p-limit": "^4.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/p-locate/node_modules/p-limit": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz",
|
||||
"integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"yocto-queue": "^1.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/p-locate/node_modules/yocto-queue": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.1.tgz",
|
||||
"integrity": "sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=12.20"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/p-try": {
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
|
||||
@@ -10588,16 +10483,6 @@
|
||||
"tslib": "^2.0.3"
|
||||
}
|
||||
},
|
||||
"node_modules/path-exists": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz",
|
||||
"integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/path-is-absolute": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
|
||||
@@ -12044,27 +11929,26 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/storybook": {
|
||||
"version": "9.1.13",
|
||||
"resolved": "https://registry.npmjs.org/storybook/-/storybook-9.1.13.tgz",
|
||||
"integrity": "sha512-G3KZ36EVzXyHds72B/qtWiJnhUpM0xOUeYlDcO9DSHL1bDTv15cW4+upBl+mcBZrDvU838cn7Bv4GpF+O5MCfw==",
|
||||
"version": "10.0.5",
|
||||
"resolved": "https://registry.npmjs.org/storybook/-/storybook-10.0.5.tgz",
|
||||
"integrity": "sha512-3UEwXiIcTnc8sLUIlc/J1gI7tJjKEqIAvVYhfcj+uSSeb7i+6M6zQnCF8p36emBJyUdE4S3cq6FW5cmAluOfBg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@storybook/global": "^5.0.0",
|
||||
"@storybook/icons": "^1.6.0",
|
||||
"@testing-library/jest-dom": "^6.6.3",
|
||||
"@testing-library/user-event": "^14.6.1",
|
||||
"@vitest/expect": "3.2.4",
|
||||
"@vitest/mocker": "3.2.4",
|
||||
"@vitest/spy": "3.2.4",
|
||||
"better-opn": "^3.0.2",
|
||||
"esbuild": "^0.18.0 || ^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23.0 || ^0.24.0 || ^0.25.0",
|
||||
"esbuild-register": "^3.5.0",
|
||||
"recast": "^0.23.5",
|
||||
"semver": "^7.6.2",
|
||||
"ws": "^8.18.0"
|
||||
},
|
||||
"bin": {
|
||||
"storybook": "bin/index.cjs"
|
||||
"storybook": "dist/bin/dispatcher.js"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
@@ -12880,19 +12764,6 @@
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/unicorn-magic": {
|
||||
"version": "0.1.0",
|
||||
"resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz",
|
||||
"integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/universalify": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz",
|
||||
@@ -12930,17 +12801,19 @@
|
||||
}
|
||||
},
|
||||
"node_modules/unplugin": {
|
||||
"version": "1.16.1",
|
||||
"resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.16.1.tgz",
|
||||
"integrity": "sha512-4/u/j4FrCKdi17jaxuJA0jClGxB1AvU2hw/IuayPc4ay1XGaJs/rbb4v5WKwAjNifjmXK9PIFyuPiaK8azyR9w==",
|
||||
"version": "2.3.10",
|
||||
"resolved": "https://registry.npmjs.org/unplugin/-/unplugin-2.3.10.tgz",
|
||||
"integrity": "sha512-6NCPkv1ClwH+/BGE9QeoTIl09nuiAt0gS28nn1PvYXsGKRwM2TCbFA2QiilmehPDTXIe684k4rZI1yl3A1PCUw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"acorn": "^8.14.0",
|
||||
"@jridgewell/remapping": "^2.3.5",
|
||||
"acorn": "^8.15.0",
|
||||
"picomatch": "^4.0.3",
|
||||
"webpack-virtual-modules": "^0.6.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=14.0.0"
|
||||
"node": ">=18.12.0"
|
||||
}
|
||||
},
|
||||
"node_modules/until-async": {
|
||||
@@ -13219,9 +13092,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/vite": {
|
||||
"version": "7.1.12",
|
||||
"resolved": "https://registry.npmjs.org/vite/-/vite-7.1.12.tgz",
|
||||
"integrity": "sha512-ZWyE8YXEXqJrrSLvYgrRP7p62OziLW7xI5HYGWFzOvupfAlrLvURSzv/FyGyy0eidogEM3ujU+kUG1zuHgb6Ug==",
|
||||
"version": "7.2.2",
|
||||
"resolved": "https://registry.npmjs.org/vite/-/vite-7.2.2.tgz",
|
||||
"integrity": "sha512-BxAKBWmIbrDgrokdGZH1IgkIk/5mMHDreLDmCJ0qpyJaAteP8NvMhkwr/ZCQNqNH97bw/dANTE9PDzqwJghfMQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
|
||||
@@ -44,10 +44,10 @@
|
||||
"@browser-logos/firefox": "^3.0.10",
|
||||
"@browser-logos/safari": "^2.1.0",
|
||||
"@graphql-codegen/cli": "^6.0.1",
|
||||
"@graphql-codegen/client-preset": "^5.1.0",
|
||||
"@graphql-codegen/client-preset": "^5.1.1",
|
||||
"@graphql-codegen/typescript-msw": "^3.0.1",
|
||||
"@storybook/addon-docs": "^9.1.13",
|
||||
"@storybook/react-vite": "^9.1.13",
|
||||
"@storybook/addon-docs": "^10.0.5",
|
||||
"@storybook/react-vite": "^10.0.5",
|
||||
"@tanstack/react-query-devtools": "^5.90.2",
|
||||
"@tanstack/react-router-devtools": "^1.131.44",
|
||||
"@tanstack/router-plugin": "^1.131.44",
|
||||
@@ -72,10 +72,10 @@
|
||||
"postcss-import": "^16.1.1",
|
||||
"postcss-nesting": "^13.0.2",
|
||||
"rimraf": "^6.0.1",
|
||||
"storybook": "^9.1.5",
|
||||
"storybook": "^10.0.5",
|
||||
"tailwindcss": "^3.4.18",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "7.1.12",
|
||||
"vite": "7.2.2",
|
||||
"vite-plugin-compression": "^0.5.1",
|
||||
"vite-plugin-graphql-codegen": "^3.7.0",
|
||||
"vite-plugin-manifest-sri": "^0.2.0",
|
||||
|
||||
@@ -3,15 +3,12 @@
|
||||
"title": "AuthorizationGrantInput",
|
||||
"description": "Input for the authorization grant policy.",
|
||||
"type": "object",
|
||||
"required": [
|
||||
"client",
|
||||
"grant_type",
|
||||
"requester",
|
||||
"scope"
|
||||
],
|
||||
"properties": {
|
||||
"user": {
|
||||
"type": "object",
|
||||
"type": [
|
||||
"object",
|
||||
"null"
|
||||
],
|
||||
"additionalProperties": true
|
||||
},
|
||||
"session_counts": {
|
||||
@@ -36,6 +33,12 @@
|
||||
"$ref": "#/definitions/Requester"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"client",
|
||||
"scope",
|
||||
"grant_type",
|
||||
"requester"
|
||||
],
|
||||
"definitions": {
|
||||
"SessionCounts": {
|
||||
"description": "Information about how many sessions the user has",
|
||||
@@ -83,12 +86,18 @@
|
||||
"properties": {
|
||||
"ip_address": {
|
||||
"description": "IP address of the entity making the request",
|
||||
"type": "string",
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
],
|
||||
"format": "ip"
|
||||
},
|
||||
"user_agent": {
|
||||
"description": "User agent of the entity making the request",
|
||||
"type": "string"
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,10 +3,6 @@
|
||||
"title": "ClientRegistrationInput",
|
||||
"description": "Input for the client registration policy.",
|
||||
"type": "object",
|
||||
"required": [
|
||||
"client_metadata",
|
||||
"requester"
|
||||
],
|
||||
"properties": {
|
||||
"client_metadata": {
|
||||
"type": "object",
|
||||
@@ -16,6 +12,10 @@
|
||||
"$ref": "#/definitions/Requester"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"client_metadata",
|
||||
"requester"
|
||||
],
|
||||
"definitions": {
|
||||
"Requester": {
|
||||
"description": "Identity of the requester",
|
||||
@@ -23,12 +23,18 @@
|
||||
"properties": {
|
||||
"ip_address": {
|
||||
"description": "IP address of the entity making the request",
|
||||
"type": "string",
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
],
|
||||
"format": "ip"
|
||||
},
|
||||
"user_agent": {
|
||||
"description": "User agent of the entity making the request",
|
||||
"type": "string"
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,10 +3,6 @@
|
||||
"title": "EmailInput",
|
||||
"description": "Input for the email add policy.",
|
||||
"type": "object",
|
||||
"required": [
|
||||
"email",
|
||||
"requester"
|
||||
],
|
||||
"properties": {
|
||||
"email": {
|
||||
"type": "string"
|
||||
@@ -15,6 +11,10 @@
|
||||
"$ref": "#/definitions/Requester"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"email",
|
||||
"requester"
|
||||
],
|
||||
"definitions": {
|
||||
"Requester": {
|
||||
"description": "Identity of the requester",
|
||||
@@ -22,12 +22,18 @@
|
||||
"properties": {
|
||||
"ip_address": {
|
||||
"description": "IP address of the entity making the request",
|
||||
"type": "string",
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
],
|
||||
"format": "ip"
|
||||
},
|
||||
"user_agent": {
|
||||
"description": "User agent of the entity making the request",
|
||||
"type": "string"
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,11 +3,6 @@
|
||||
"title": "RegisterInput",
|
||||
"description": "Input for the user registration policy.",
|
||||
"type": "object",
|
||||
"required": [
|
||||
"registration_method",
|
||||
"requester",
|
||||
"username"
|
||||
],
|
||||
"properties": {
|
||||
"registration_method": {
|
||||
"$ref": "#/definitions/RegistrationMethod"
|
||||
@@ -16,12 +11,20 @@
|
||||
"type": "string"
|
||||
},
|
||||
"email": {
|
||||
"type": "string"
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"requester": {
|
||||
"$ref": "#/definitions/Requester"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"registration_method",
|
||||
"username",
|
||||
"requester"
|
||||
],
|
||||
"definitions": {
|
||||
"RegistrationMethod": {
|
||||
"type": "string",
|
||||
@@ -36,12 +39,18 @@
|
||||
"properties": {
|
||||
"ip_address": {
|
||||
"description": "IP address of the entity making the request",
|
||||
"type": "string",
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
],
|
||||
"format": "ip"
|
||||
},
|
||||
"user_agent": {
|
||||
"description": "User agent of the entity making the request",
|
||||
"type": "string"
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user