Skip to content
Clone
b7cd2b1
17 lines 505 B Rust
use export::http::{Json, State};
use export::rest::AppResponseData;
use crate::errors::{ApiError, GitApiError};
use crate::service::GitService;
use crate::service::hooks::{HookEventDto, HookResultDto};
pub async fn pre_receive(
State(service): State<GitService>,
Json(event): Json<HookEventDto>,
) -> Result<AppResponseData<HookResultDto>, ApiError> {
let out = service
.hook_pre_receive(event)
.await
.map_err(GitApiError::from)?;
Ok(AppResponseData::ok(out))
}