Reject duplicate service token on create
Some checks failed
Build docker image / Build-Docker-Image (push) Has been cancelled
rust-clippy analyze / Run rust-clippy analyzing (push) Has been cancelled

This commit is contained in:
2025-10-25 19:44:54 +02:00
parent bdfa94cb15
commit ba7e966446

View File

@@ -113,6 +113,21 @@ async fn create_service(db: Database, Json(data): Json<CreateServiceData>) -> im
return StatusCode::PAYMENT_REQUIRED.into_response(); return StatusCode::PAYMENT_REQUIRED.into_response();
}; };
let token_exists = sqlx::query_scalar!(
r#"
SELECT EXISTS(SELECT 1 FROM services WHERE token = $1)
"#,
token
)
.fetch_one(&db.0)
.await
.unwrap_or(Some(false))
.unwrap();
if token_exists {
return StatusCode::CONFLICT.into_response();
}
let service = sqlx::query_as!( let service = sqlx::query_as!(
Service, Service,
r#" r#"