feat: create runner method for updating easy captchas

This commit is contained in:
Aravinth Manivannan 2024-01-05 01:03:13 +05:30
parent c70a30e640
commit 790fd8f393
No known key found for this signature in database
GPG Key ID: F8F50389936984FF

View File

@ -224,36 +224,15 @@ async fn update(
) -> ServiceResult<impl Responder> { ) -> ServiceResult<impl Responder> {
let username = id.identity().unwrap(); let username = id.identity().unwrap();
let payload = payload.into_inner(); let payload = payload.into_inner();
let pattern = (&payload.pattern).into(); update_runner(&data, payload, username).await?;
let levels =
calculate(&pattern, &data.settings.captcha.default_difficulty_strategy)?;
let msg = UpdateCaptcha {
levels,
duration: data.settings.captcha.default_difficulty_strategy.duration,
description: payload.pattern.description,
key: payload.key,
publish_benchmarks: payload.pattern.publish_benchmarks,
};
update_captcha_runner(&msg, &data, &username).await?;
data.db.delete_traffic_pattern(&username, &msg.key).await?;
data.db
.add_traffic_pattern(&username, &msg.key, &pattern)
.await?;
Ok(HttpResponse::Ok()) Ok(HttpResponse::Ok())
} }
async fn update_runner( pub async fn update_runner(
payload: web::Json<UpdateTrafficPattern>, data: &AppData,
data: AppData, payload: UpdateTrafficPattern,
id: Identity, username: String,
) -> ServiceResult<impl Responder> { ) -> ServiceResult<()> {
let username = id.identity().unwrap();
let payload = payload.into_inner();
let pattern = (&payload.pattern).into(); let pattern = (&payload.pattern).into();
let levels = let levels =
calculate(&pattern, &data.settings.captcha.default_difficulty_strategy)?; calculate(&pattern, &data.settings.captcha.default_difficulty_strategy)?;
@ -274,7 +253,7 @@ async fn update_runner(
.add_traffic_pattern(&username, &msg.key, &pattern) .add_traffic_pattern(&username, &msg.key, &pattern)
.await?; .await?;
Ok(HttpResponse::Ok()) Ok(())
} }
#[cfg(test)] #[cfg(test)]