Verified Commit 793cdd3e authored by Mattia Righetti's avatar Mattia Righetti
Browse files

fix: fix server data types in handlers

parent 3fa56d6f
Loading
Loading
Loading
Loading
+7 −4
Original line number Diff line number Diff line
use std::sync::{Arc, RwLock};

use actix_web::error::ErrorInternalServerError;
use actix_web::{web, Error, HttpResponse};
use sqlx::PgPool;
@@ -10,13 +12,14 @@ use crate::utils::get_truncated;

pub async fn get_bandwidth(
    params: QueryFilters,
    factory: web::Data<ResponseFactory>,
    factory: web::Data<Arc<RwLock<ResponseFactory>>>,
    pg: web::Data<PgPool>,
) -> Result<HttpResponse, Error> {
    let (tot_r, tot_b) = factory.get_totals();
    let lock = factory.read().unwrap();
    let (tot_r, tot_b) = lock.get_totals();
    let mut response = match params.r#type {
        Some(ParametersType::Bridge) => factory.bridges_response(),
        Some(ParametersType::Relay) | None => factory.relays_response(),
        Some(ParametersType::Bridge) => lock.bridges_response(),
        Some(ParametersType::Relay) | None => lock.relays_response(),
    };

    match params.r#type.unwrap_or(ParametersType::Relay) {
+6 −3
Original line number Diff line number Diff line
use std::sync::{Arc, RwLock};

use actix_web::error::ErrorInternalServerError;
use actix_web::{web, Error, HttpResponse};
use sqlx::PgPool;
@@ -13,12 +15,13 @@ use crate::{

pub async fn get_details(
    params: QueryFilters,
    factory: web::Data<ResponseFactory>,
    factory: web::Data<Arc<RwLock<ResponseFactory>>>,
    pg: web::Data<PgPool>,
) -> Result<HttpResponse, Error> {
    let lock = factory.read().unwrap();
    let mut response = match params.r#type {
        Some(ParametersType::Bridge) => factory.bridges_response(),
        Some(ParametersType::Relay) | None => factory.relays_response(),
        Some(ParametersType::Bridge) => lock.bridges_response(),
        Some(ParametersType::Relay) | None => lock.relays_response(),
    };

    match params.r#type.unwrap_or(ParametersType::Relay) {
+7 −4
Original line number Diff line number Diff line
use std::sync::{Arc, RwLock};

use actix_web::error::ErrorInternalServerError;
use actix_web::{web, Error, HttpResponse};
use sqlx::PgPool;
@@ -11,13 +13,14 @@ use crate::utils::get_truncated;

pub async fn get_summary(
    params: QueryFilters,
    factory: web::Data<ResponseFactory>,
    factory: web::Data<Arc<RwLock<ResponseFactory>>>,
    pg: web::Data<PgPool>,
) -> Result<HttpResponse, Error> {
    let (tot_r, tot_b) = factory.get_totals();
    let lock = factory.read().unwrap();
    let (tot_r, tot_b) = lock.get_totals();
    let mut response = match params.r#type {
        Some(ParametersType::Bridge) => factory.bridges_response(),
        Some(ParametersType::Relay) | None => factory.relays_response(),
        Some(ParametersType::Bridge) => lock.bridges_response(),
        Some(ParametersType::Relay) | None => lock.relays_response(),
    };

    match params.r#type.unwrap_or(ParametersType::Relay) {
+2 −1
Original line number Diff line number Diff line
use crate::victoriametrics::proxy::{VictoriaMetricsProxy, VictoriaMetricsProxyConfig};
use actix_web::HttpResponse;
use actix_web::{dev::Server, middleware, web, App, HttpServer};
use sqlx::Pool;
use std::net::TcpListener;
@@ -32,7 +33,7 @@ pub fn run<D: sqlx::Database>(
) -> Result<Server, std::io::Error> {
    let info = web::Data::new(ServerInfo { version: VERSION });
    let db_pool = web::Data::new(db_pool);
    let factory = web::Data::new(RwLock::new(factory));
    let factory = web::Data::new(Arc::new(RwLock::new(factory)));

    std::env::set_var("RUST_LOG", "actix_web=info");
    let _ = env_logger::try_init();