refactor!: add ws endpoint, storage trait

This commit is contained in:
2026-02-09 23:56:10 -08:00
parent c4e198de83
commit b614def39d
18 changed files with 383 additions and 117 deletions

View File

@@ -0,0 +1,27 @@
use crate::{
AppState, PeerUpdate,
error::Result,
storage::{RegisterRequest, StorageImpl},
utils::Peer,
};
use actix_web::{HttpResponse, web};
pub async fn register_peer(
app_state: web::Data<AppState>,
request: web::Json<RegisterRequest>,
) -> Result<HttpResponse> {
app_state.storage.register_device(&request).await?;
app_state
.peer_updates
.send(PeerUpdate {
peer: Peer {
public_key: request.public_key.as_str().to_string(),
public_ip: request.public_ip.to_string(),
port: request.port.clone(),
allowed_ips: request.allowed_ips.clone(),
},
})
.unwrap();
Ok(HttpResponse::Ok().finish())
}