From 1a466bbd3cd0024e6af09eb85a6ba30e8a13c59a Mon Sep 17 00:00:00 2001 From: Aravinth Manivannan Date: Wed, 1 Feb 2023 18:19:06 +0530 Subject: [PATCH] feat: display benchmark type --- src/api/v1/admin/campaigns.rs | 45 ++++++++++++++++---------- templates/panel/campaigns/results.html | 5 +-- 2 files changed, 31 insertions(+), 19 deletions(-) diff --git a/src/api/v1/admin/campaigns.rs b/src/api/v1/admin/campaigns.rs index 0f37f52..2211832 100644 --- a/src/api/v1/admin/campaigns.rs +++ b/src/api/v1/admin/campaigns.rs @@ -24,6 +24,7 @@ use uuid::Uuid; use super::{get_admin_check_login, get_uuid}; use crate::api::v1::bench::Bench; +use crate::api::v1::bench::SubmissionType; use crate::errors::*; use crate::AppData; @@ -69,6 +70,8 @@ pub mod routes { } pub mod runners { + use std::str::FromStr; + use futures::try_join; use crate::api::v1::bench::Bench; @@ -162,12 +165,13 @@ pub mod runners { #[derive(Debug)] struct InternalSurveyResp { - id: i32, - submitted_at: OffsetDateTime, - user_id: Uuid, + id: Option, + submitted_at: Option, + user_id: Option, threads: Option, - device_user_provided: String, - device_software_recognised: String, + device_user_provided: Option, + device_software_recognised: Option, + name: Option, } #[derive(Debug)] @@ -195,16 +199,19 @@ pub mod runners { let mut db_responses = sqlx::query_as!( InternalSurveyResp, "SELECT - ID, - device_software_recognised, - threads, - user_id, - submitted_at, - device_user_provided + survey_responses.ID, + survey_responses.device_software_recognised, + survey_responses.threads, + survey_responses.user_id, + survey_responses.submitted_at, + survey_responses.device_user_provided, + survey_bench_type.name FROM survey_responses + INNER JOIN survey_bench_type ON + survey_responses.submission_bench_type_id = survey_bench_type.ID WHERE - campaign_id = ( + survey_responses.campaign_id = ( SELECT ID FROM survey_campaigns WHERE ID = $1 @@ -256,11 +263,13 @@ pub mod runners { responses.push(SurveyResponse { benches, user, - device_user_provided: r.device_user_provided, - device_software_recognised: r.device_software_recognised, - submitted_at: r.submitted_at.unix_timestamp(), - id: r.id as usize, - threads: r.threads.map(|t| t as usize), + device_user_provided: r.device_user_provided.unwrap(), + device_software_recognised: r.device_software_recognised.unwrap(), + submitted_at: r.submitted_at.unwrap().unix_timestamp(), + id: r.id.unwrap() as usize, + submission_type: SubmissionType::from_str(r.name.as_ref().unwrap()) + .unwrap(), + threads: Some(r.threads.unwrap() as usize), }) } Ok(responses) @@ -318,6 +327,7 @@ pub struct SurveyResponse { pub id: usize, pub threads: Option, pub submitted_at: i64, + pub submission_type: SubmissionType, pub benches: Vec, } @@ -483,6 +493,7 @@ mod tests { device_software_recognised: DEVICE_SOFTWARE_RECOGNISED.into(), threads: THREADS, benches: BENCHES.clone(), + submission_type: api::v1::bench::SubmissionType::Wasm, }; let _proof = diff --git a/templates/panel/campaigns/results.html b/templates/panel/campaigns/results.html index b23adb1..bead07a 100644 --- a/templates/panel/campaigns/results.html +++ b/templates/panel/campaigns/results.html @@ -16,6 +16,7 @@ Device make (user provided) Device make (detected) Threads + Benchmark Type Benches @@ -28,6 +29,7 @@ {{ sub.device_user_provided }} {{ sub.device_software_recognised }} {{ sub.threads }} + {{ sub.submission_type }} @@ -43,8 +45,7 @@ {% endfor %}
- - + {% endfor %}