mirror of
https://github.com/mCaptcha/mCaptcha.git
synced 2025-02-17 08:59:46 +03:00
feat: define interface for getting captcha levels
This commit is contained in:
parent
2dff139ae2
commit
04a9bc5cc7
2 changed files with 17 additions and 0 deletions
|
@ -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<Vec<Level>>;
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
|
||||
|
|
|
@ -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();
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue