From 04a9bc5cc74c043e5f1a0c151b5dd790e31c5a6c Mon Sep 17 00:00:00 2001 From: realaravinth Date: Fri, 13 May 2022 19:07:27 +0530 Subject: [PATCH] feat: define interface for getting captcha levels --- db/db-core/src/lib.rs | 7 +++++++ db/db-core/src/tests.rs | 10 ++++++++++ 2 files changed, 17 insertions(+) diff --git a/db/db-core/src/lib.rs b/db/db-core/src/lib.rs index 1ed8c9ff..aa5f2a3d 100644 --- a/db/db-core/src/lib.rs +++ b/db/db-core/src/lib.rs @@ -176,6 +176,13 @@ pub trait MCDatabase: std::marker::Send + std::marker::Sync + CloneSPDatabase { /// Delete captcha async fn delete_captcha(&self, username: &str, captcha_key: &str) -> DBResult<()>; + + /// Get captcha levels + async fn get_captcha_levels( + &self, + username: Option<&str>, + captcha_key: &str, + ) -> DBResult>; } #[derive(Clone, Debug, Default, Deserialize, Serialize)] diff --git a/db/db-core/src/tests.rs b/db/db-core/src/tests.rs index 49affdd9..e07f9352 100644 --- a/db/db-core/src/tests.rs +++ b/db/db-core/src/tests.rs @@ -139,6 +139,16 @@ pub async fn database_works<'a, T: MCDatabase>( // add captcha levels db.add_captcha_levels(p.username, c.key, l).await.unwrap(); + // get captcha levels with username + let levels = db + .get_captcha_levels(Some(p.username), c.key) + .await + .unwrap(); + assert_eq!(levels, l); + // get captcha levels without username + let levels = db.get_captcha_levels(None, c.key).await.unwrap(); + assert_eq!(levels, l); + // delete captcha levels db.delete_captcha_levels(p.username, c.key).await.unwrap();