use crate::registry::{services, types::*}; use axum::{ extract::{Path, State}, http::StatusCode, Json, }; use sqlx::PgPool; // ===== GHG Minting Handlers ===== pub async fn log_ghg_minting_handler( State(pool): State, Json(req): Json, ) -> Result, (StatusCode, Json)> { match services::ghg_logs::log_ghg_minting(&pool, req).await { Ok(log) => Ok(Json(log)), Err(e) => Err(( StatusCode::INTERNAL_SERVER_ERROR, Json(ErrorResponse { error: format!("Failed to log GHG minting: {}", e), }), )), } } pub async fn get_ghg_minting_logs_handler( State(pool): State, Path(company_pubkey): Path, ) -> Result>, (StatusCode, Json)> { match services::ghg_logs::get_ghg_minting_logs(&pool, &company_pubkey).await { Ok(logs) => Ok(Json(logs)), Err(e) => Err(( StatusCode::INTERNAL_SERVER_ERROR, Json(ErrorResponse { error: format!("Failed to get GHG minting logs: {}", e), }), )), } }