use axum::{ Json, extract::{Path, State}, }; use serde_json::{Value, json}; use crate::{error::ApiError, service::AuthProfilePayload, state::AppState}; pub async fn list_auth_profiles(State(state): State) -> Result, ApiError> { let items = state.service.list_auth_profiles().await?; Ok(Json(json!({ "items": items }))) } pub async fn create_auth_profile( State(state): State, Json(payload): Json, ) -> Result, ApiError> { let profile = state.service.create_auth_profile(payload).await?; Ok(Json(json!(profile))) } pub async fn get_auth_profile( Path(auth_profile_id): Path, State(state): State, ) -> Result, ApiError> { let profile = state .service .get_auth_profile(&auth_profile_id.as_str().into()) .await?; Ok(Json(json!(profile))) }