Skip to content

Commit 7f0b098

Browse files
committed
controllers/krate/publish: Extract duplicate_version_error() fn
1 parent ef9ffb2 commit 7f0b098

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

src/controllers/krate/publish.rs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -376,10 +376,8 @@ pub async fn publish(app: AppState, req: BytesRequest) -> AppResult<Json<GoodCra
376376
let version = new_version.save(conn, &verified_email_address).map_err(|error| {
377377
use diesel::result::{Error, DatabaseErrorKind};
378378
match error {
379-
Error::DatabaseError(DatabaseErrorKind::UniqueViolation, _) => bad_request(format_args!(
380-
"crate version `{}` is already uploaded",
381-
new_version.num_no_build
382-
)),
379+
Error::DatabaseError(DatabaseErrorKind::UniqueViolation, _) =>
380+
duplicate_version_error(new_version.num_no_build),
383381
error => error.into(),
384382
}
385383
})?;
@@ -620,6 +618,10 @@ fn missing_metadata_error_message(missing: &[&str]) -> String {
620618
)
621619
}
622620

621+
fn duplicate_version_error(version: &str) -> BoxedAppError {
622+
bad_request(format!("crate version `{version}` is already uploaded"))
623+
}
624+
623625
fn validate_rust_version(value: &str) -> AppResult<()> {
624626
match semver::VersionReq::parse(value) {
625627
// Exclude semver operators like `^` and pre-release identifiers

0 commit comments

Comments
 (0)