Skip to content
Clone
971c37c
18 lines 516 B Rust
use axum::Json;
use axum::extract::State;
use export::rest::AppResponseData;
use crate::errors::{ApiError, GitApiError};
use crate::service::GitService;
use crate::service::hooks::{HookEventDto, HookResultDto};
pub async fn post_receive(
State(service): State<GitService>,
Json(event): Json<HookEventDto>,
) -> Result<AppResponseData<HookResultDto>, ApiError> {
let out = service
.hook_post_receive(event)
.await
.map_err(GitApiError::from)?;
Ok(AppResponseData::ok(out))
}