mirror of
https://github.com/mCaptcha/mCaptcha.git
synced 2026-02-11 10:05:41 +00:00
update and rename captcha plumbing
This commit is contained in:
@@ -18,6 +18,7 @@ use std::borrow::Cow;
|
||||
|
||||
use actix_identity::Identity;
|
||||
use actix_web::{web, HttpResponse, Responder};
|
||||
use libmcaptcha::master::messages::RenameBuilder;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use super::get_random;
|
||||
@@ -134,9 +135,17 @@ async fn update_token(
|
||||
};
|
||||
}
|
||||
|
||||
let payload = payload.into_inner();
|
||||
let rename = RenameBuilder::default()
|
||||
.name(payload.key)
|
||||
.rename_to(key.clone())
|
||||
.build()
|
||||
.unwrap();
|
||||
data.captcha.rename(rename).await?;
|
||||
|
||||
let resp = MCaptchaDetails {
|
||||
key,
|
||||
name: payload.into_inner().name,
|
||||
name: payload.name,
|
||||
};
|
||||
|
||||
Ok(HttpResponse::Ok().json(resp))
|
||||
|
||||
@@ -141,10 +141,8 @@ async fn init_mcaptcha(data: &AppData, key: &str) -> ServiceResult<()> {
|
||||
.mcaptcha(mcaptcha)
|
||||
.build()
|
||||
.unwrap();
|
||||
match &data.captcha {
|
||||
crate::data::SystemGroup::Embedded(val) => val.master.send(msg).await.unwrap(),
|
||||
crate::data::SystemGroup::Redis(val) => val.master.send(msg).await.unwrap(),
|
||||
};
|
||||
|
||||
data.captcha.add_site(msg).await?;
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
29
src/data.rs
29
src/data.rs
@@ -32,6 +32,7 @@ use libmcaptcha::{
|
||||
cache::messages::VerifyCaptchaResult,
|
||||
cache::Save,
|
||||
errors::CaptchaResult,
|
||||
master::messages::{AddSite, Rename},
|
||||
master::{embedded::master::Master as EmbeddedMaster, Master as MasterTrait},
|
||||
pow::ConfigBuilder as PoWConfigBuilder,
|
||||
pow::PoWConfig,
|
||||
@@ -81,17 +82,23 @@ impl SystemGroup {
|
||||
}
|
||||
}
|
||||
|
||||
// /// utility function to AddSite
|
||||
// pub async fn add_site(
|
||||
// &self,
|
||||
// msg: AddSite,
|
||||
// ) -> CaptchaResult<()> {
|
||||
// match self {
|
||||
// Self::Embedded(val) => val.master.send(msg).await?,
|
||||
// Self::Redis(val) => val.master.send(msg).await?,
|
||||
// };
|
||||
// Ok(())
|
||||
// }
|
||||
/// utility function to AddSite
|
||||
pub async fn add_site(&self, msg: AddSite) -> CaptchaResult<()> {
|
||||
match self {
|
||||
Self::Embedded(val) => val.master.send(msg).await?,
|
||||
Self::Redis(val) => val.master.send(msg).await?,
|
||||
};
|
||||
Ok(())
|
||||
}
|
||||
|
||||
/// utility function to rename captcha
|
||||
pub async fn rename(&self, msg: Rename) -> CaptchaResult<()> {
|
||||
match self {
|
||||
Self::Embedded(val) => val.master.send(msg).await?,
|
||||
Self::Redis(val) => val.master.send(msg).await?,
|
||||
};
|
||||
Ok(())
|
||||
}
|
||||
|
||||
fn new_system<A: Save, B: MasterTrait>(m: Addr<B>, c: Addr<A>) -> System<A, B> {
|
||||
let pow = PoWConfigBuilder::default()
|
||||
|
||||
Reference in New Issue
Block a user