mirror of
https://github.com/mCaptcha/mCaptcha.git
synced 2026-02-11 18:15:39 +00:00
register demo user only when it's absent
This commit is contained in:
30
src/demo.rs
30
src/demo.rs
@@ -20,6 +20,7 @@ use actix::clock::sleep;
|
|||||||
use actix::spawn;
|
use actix::spawn;
|
||||||
|
|
||||||
use crate::api::v1::account::delete::runners::delete_user;
|
use crate::api::v1::account::delete::runners::delete_user;
|
||||||
|
use crate::api::v1::account::{username::runners::username_exists, AccountCheckPayload};
|
||||||
use crate::api::v1::auth::runners::{register_runner, Register};
|
use crate::api::v1::auth::runners::{register_runner, Register};
|
||||||
use crate::*;
|
use crate::*;
|
||||||
|
|
||||||
@@ -32,17 +33,25 @@ pub const DEMO_PASSWORD: &str = "password";
|
|||||||
|
|
||||||
/// register demo user runner
|
/// register demo user runner
|
||||||
async fn register_demo_user(data: &AppData) -> ServiceResult<()> {
|
async fn register_demo_user(data: &AppData) -> ServiceResult<()> {
|
||||||
let payload = Register {
|
let user_exists_payload = AccountCheckPayload {
|
||||||
username: DEMO_USER.into(),
|
val: DEMO_USER.into(),
|
||||||
password: DEMO_PASSWORD.into(),
|
|
||||||
confirm_password: DEMO_PASSWORD.into(),
|
|
||||||
email: None,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
log::info!("Registering demo user");
|
if !username_exists(&user_exists_payload, &data).await?.exists {
|
||||||
match register_runner(&payload, data).await {
|
let register_payload = Register {
|
||||||
Err(ServiceError::UsernameTaken) | Ok(_) => Ok(()),
|
username: DEMO_USER.into(),
|
||||||
Err(e) => Err(e),
|
password: DEMO_PASSWORD.into(),
|
||||||
|
confirm_password: DEMO_PASSWORD.into(),
|
||||||
|
email: None,
|
||||||
|
};
|
||||||
|
|
||||||
|
log::info!("Registering demo user");
|
||||||
|
match register_runner(®ister_payload, data).await {
|
||||||
|
Err(ServiceError::UsernameTaken) | Ok(_) => Ok(()),
|
||||||
|
Err(e) => Err(e),
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
Ok(())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -77,9 +86,6 @@ mod tests {
|
|||||||
use libmcaptcha::defense::Level;
|
use libmcaptcha::defense::Level;
|
||||||
|
|
||||||
use super::*;
|
use super::*;
|
||||||
use crate::api::v1::account::{
|
|
||||||
username::runners::username_exists, AccountCheckPayload,
|
|
||||||
};
|
|
||||||
use crate::tests::*;
|
use crate::tests::*;
|
||||||
|
|
||||||
const DURATION: u64 = 5;
|
const DURATION: u64 = 5;
|
||||||
|
|||||||
@@ -1,12 +1,6 @@
|
|||||||
<. if crate::SETTINGS.allow_demo && crate::SETTINGS.allow_registration { .>
|
<. if crate::SETTINGS.allow_demo && crate::SETTINGS.allow_registration { .>
|
||||||
<p class="auth__demo-user__banner">
|
<p class="auth__demo-user__banner">Try mCaptcha without joining<br />
|
||||||
Try mCaptcha without joining
|
<span class="auth__demo-user__cred">user: <.= crate::demo::DEMO_USER .></span>
|
||||||
<br />
|
<span class="auth__demo-user__cred">password: <.= crate::demo::DEMO_PASSWORD .></span>
|
||||||
<span class="auth__demo-user__cred">
|
|
||||||
user: <.= crate::demo::DEMO_USER .>
|
|
||||||
</span>
|
|
||||||
<span class="auth__demo-user__cred">
|
|
||||||
password: <.= crate::demo::DEMO_PASSWORD .>
|
|
||||||
</span>
|
|
||||||
</p>
|
</p>
|
||||||
<. } .>
|
<. } .>
|
||||||
|
|||||||
Reference in New Issue
Block a user