From 577b0326c9e713e510769ff36360c65f3d7a6257 Mon Sep 17 00:00:00 2001 From: realaravinth Date: Thu, 10 Jun 2021 18:34:36 +0530 Subject: [PATCH] delete token from redis --- src/redis/mcaptcha_redis.rs | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/redis/mcaptcha_redis.rs b/src/redis/mcaptcha_redis.rs index 24d0d5a..142fd67 100644 --- a/src/redis/mcaptcha_redis.rs +++ b/src/redis/mcaptcha_redis.rs @@ -178,7 +178,7 @@ impl MCaptchaRedisConnection { Ok(serde_json::from_str(&challege).unwrap()) } - /// Get PoW Challenge object from Redis + /// Delete PoW Challenge object from Redis pub async fn delete_challenge(&self, msg: &VerifyCaptchaResult) -> CaptchaResult<()> { let _: () = self .0 @@ -221,6 +221,15 @@ impl MCaptchaRedisConnection { _ => Err(CaptchaError::MCaptchaRedisModuleError), } } + + /// Delete PoW Token object from Redis + pub async fn delete_token(&self, msg: &VerifyCaptchaResult) -> CaptchaResult<()> { + //use redis::RedisResult; + // mcaptcha:token:captcha::token + let key = format!("mcaptcha:token:{}:{}", &msg.key, &msg.token); + self.0.exec(redis::cmd("DEL").arg(&[&key])).await?; + Ok(()) + } } #[cfg(test)] @@ -316,6 +325,9 @@ pub mod tests { challenge_msg.token = CHALLENGE.into(); assert!(r.get_token(&challenge_msg).await.unwrap()); + r.add_token(&add_challenge_msg).await.unwrap(); + assert!(r.delete_token(&challenge_msg).await.is_ok()); + assert!(r.delete_captcha(CAPTCHA_NAME).await.is_ok()); } }