cove-chat/cove-net/server/src/message/handlers/account/register.rs
CanadianBaconBoi c62bb41cd4 Add User Handling to CoveDb
and..
- Add Delete SqlPart
- Cleanup imports
2026-02-23 16:22:26 +01:00

29 lines
1.1 KiB
Rust

use std::collections::VecDeque;
use anyhow::Error;
use async_trait::async_trait;
use http_body_util::Full;
use hyper::body::Bytes;
use hyper::Response;
use hyper::http::request::Parts;
use cove_net_common::message::c2s::account::register::RegisterMessage;
use cove_net_common::message::c2s::ClientToServerMessage;
use crate::message::handlers::base::handler::{CoveBodyDeserializer, CoveRequestHandler};
use crate::message::handlers::base::middleware::AssociatedDataMap;
pub struct RegisterMessageHandler;
#[async_trait]
impl CoveRequestHandler for RegisterMessageHandler {
async fn handle_request(&self, request_parts: Parts, body: Bytes, path: &mut VecDeque<&str>, associated_data: &mut AssociatedDataMap) -> Result<Response<Full<Bytes>>, Error> {
let msg = self.body_to_message(body).await?;
Ok(Response::new(
serde_json::to_string(&msg.create_s2c_message())?.into()
))
}
}
#[async_trait]
impl CoveBodyDeserializer<RegisterMessage> for RegisterMessageHandler {
async fn body_to_message(&self, body: Bytes) -> Result<RegisterMessage, Error> {
Ok(serde_json::from_slice(&body)?)
}
}