tandem-server 0.4.23

HTTP server for Tandem engine APIs
Documentation
use super::config_providers::*;
use crate::http::AppState;
use axum::{
    routing::{get, post, put},
    Router,
};

pub(super) fn apply(router: Router<AppState>) -> Router<AppState> {
    router
        .route("/config", get(get_config).patch(patch_config))
        .route(
            "/config/identity",
            get(get_config_identity).patch(patch_config_identity),
        )
        .route("/config/providers", get(config_providers))
        .route("/provider", get(list_providers))
        .route("/providers", get(list_providers_legacy))
        .route("/api/providers", get(list_providers_legacy))
        .route("/provider/auth", get(provider_auth))
        .route(
            "/provider/{id}/oauth/authorize",
            post(provider_oauth_authorize),
        )
        .route(
            "/provider/{id}/oauth/callback",
            post(provider_oauth_callback),
        )
        .route("/auth/{id}", put(set_auth).delete(delete_auth))
        .route("/auth/token", put(set_api_token).delete(clear_api_token))
        .route("/auth/token/generate", post(generate_api_token))
}