feat: migrate fetching stats to use db_*

This commit is contained in:
realaravinth
2022-05-27 17:09:27 +05:30
parent bc90a51d30
commit 098d0cfc24
10 changed files with 50 additions and 299 deletions

View File

@@ -19,7 +19,6 @@ use actix_web::{web, HttpResponse, Responder};
use serde::{Deserialize, Serialize};
use crate::errors::*;
use crate::stats::fetch::{Stats, StatsUnixTimestamp};
use crate::AppData;
pub mod routes {
@@ -50,7 +49,6 @@ pub async fn get(
id: Identity,
) -> ServiceResult<impl Responder> {
let username = id.identity().unwrap();
let stats = Stats::new(&username, &payload.key, &data.db).await?;
let stats = StatsUnixTimestamp::from_stats(&stats);
let stats = data.stats.fetch(&data, &username, &payload.key).await?;
Ok(HttpResponse::Ok().json(&stats))
}

View File

@@ -49,7 +49,7 @@ pub async fn get_config(
match data.captcha.get_pow(payload.key.clone()).await {
Ok(Some(config)) => {
data.stats.record_fetch(&data, &payload.key).await;
data.stats.record_fetch(&data, &payload.key).await?;
Ok(HttpResponse::Ok().json(config))
}
Ok(None) => {
@@ -61,7 +61,7 @@ pub async fn get_config(
.expect("mcaptcha should be initialized and ready to go");
// background it. would require data::Data to be static
// to satidfy lifetime
data.stats.record_fetch(&data, &payload.key).await;
data.stats.record_fetch(&data, &payload.key).await?;
Ok(HttpResponse::Ok().json(config))
}
Err(e) => Err(e.into()),

View File

@@ -42,7 +42,7 @@ pub async fn verify_pow(
) -> ServiceResult<impl Responder> {
let key = payload.key.clone();
let res = data.captcha.verify_pow(payload.into_inner()).await?;
data.stats.record_solve(&data, &key).await;
data.stats.record_solve(&data, &key).await?;
let payload = ValidationToken { token: res };
Ok(HttpResponse::Ok().json(payload))
}

View File

@@ -43,7 +43,7 @@ pub async fn validate_captcha_token(
.validate_verification_tokens(payload.into_inner())
.await?;
let payload = CaptchaValidateResp { valid: res };
data.stats.record_confirm(&data, &key).await;
data.stats.record_confirm(&data, &key).await?;
//println!("{:?}", &payload);
Ok(HttpResponse::Ok().json(payload))
}