From 8b3305dae747243455c7f8ae75902962a86a5dbd Mon Sep 17 00:00:00 2001 From: EETagent Date: Sat, 5 Nov 2022 17:01:22 +0100 Subject: [PATCH] feat: admin query --- core/src/database/query/admin.rs | 18 ++++++++++++++++++ core/src/database/query/mod.rs | 1 + 2 files changed, 19 insertions(+) create mode 100644 core/src/database/query/admin.rs diff --git a/core/src/database/query/admin.rs b/core/src/database/query/admin.rs new file mode 100644 index 0000000..fffdfd0 --- /dev/null +++ b/core/src/database/query/admin.rs @@ -0,0 +1,18 @@ +use crate::Query; + +use ::entity::{candidate, candidate::Entity as Admin}; +use sea_orm::*; + +impl Query { + pub async fn find_admin_by_id(db: &DbConn, id: i32) -> Result, DbErr> { + Admin::find_by_id(id).one(db).await + } + + pub async fn get_all_admin_public_keys(db: &DbConn) -> Result, DbErr> { + let admins = Admin::find().all(db).await?; + + let public_keys = admins.iter().map(|admin| admin.public_key.clone()).collect(); + + Ok(public_keys) + } +} diff --git a/core/src/database/query/mod.rs b/core/src/database/query/mod.rs index df4cb4a..73362b8 100644 --- a/core/src/database/query/mod.rs +++ b/core/src/database/query/mod.rs @@ -1,4 +1,5 @@ pub struct Query; pub mod candidate; +pub mod admin; pub mod session; \ No newline at end of file