this repo has no description
1use crate::state::AppState;
2use axum::{
3 Json,
4 extract::State,
5 response::{IntoResponse, Response},
6};
7use serde::Deserialize;
8use serde_json::json;
9
10#[derive(Deserialize)]
11#[serde(rename_all = "camelCase")]
12pub struct ConfirmChannelVerificationInput {
13 pub channel: String,
14 pub identifier: String,
15 pub code: String,
16}
17
18pub async fn confirm_channel_verification(
19 State(state): State<AppState>,
20 Json(input): Json<ConfirmChannelVerificationInput>,
21) -> Response {
22 let token_input = crate::api::server::VerifyTokenInput {
23 token: input.code,
24 identifier: input.identifier,
25 };
26
27 match crate::api::server::verify_token_internal(&state, token_input).await {
28 Ok(output) => Json(json!({"success": output.success})).into_response(),
29 Err((status, err_json)) => (status, err_json).into_response(),
30 }
31}