# Copyright 2025 New Vector Ltd.
#
# SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
# Please see LICENSE files in the repository root for full details.

doc-valid-idents = ["OpenID", "OAuth", "UserInfo", "..", "PostgreSQL", "SQLite"]

disallowed-methods = [
    { path = "rand::thread_rng", reason = "do not create rngs on the fly, pass them as parameters" },
    { path = "chrono::Utc::now", reason = "source the current time from the clock instead" },
    { path = "ulid::Ulid::from_datetime", reason = "use Ulid::from_datetime_with_source instead" },
    { path = "ulid::Ulid::new", reason = "use Ulid::from_datetime_with_source instead" },
    { path = "reqwest::Client::new", reason = "use mas_http::reqwest_client instead" },
    { path = "reqwest::RequestBuilder::send", reason = "use send_traced instead" },
]

disallowed-types = [
    { path = "std::path::PathBuf", reason = "use camino::Utf8PathBuf instead" },
    { path = "std::path::Path", reason = "use camino::Utf8Path instead" },
    { path = "axum::extract::Query", reason = "use axum_extra::extract::Query instead. The built-in version doesn't deserialise lists."},
    { path = "axum::extract::rejection::QueryRejection", reason = "use axum_extra::extract::QueryRejection instead"}
]
