Skip to content

Commit c865c0a

Browse files
authored
Merge pull request #10056 from Turbo87/diesel-util
util/diesel: Remove obsolete `prelude` module and `Conn` trait
2 parents dfc30d0 + c67b728 commit c865c0a

19 files changed

+31
-118
lines changed

src/bin/crates-admin/render_readmes.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@ use std::{io::Read, path::Path, sync::Arc};
1010
use chrono::{NaiveDateTime, Utc};
1111
use crates_io::storage::Storage;
1212
use crates_io::tasks::spawn_blocking;
13-
use crates_io::util::diesel::prelude::*;
1413
use crates_io_markdown::text_to_html;
1514
use crates_io_tarball::{Manifest, StringOrBool};
15+
use diesel::prelude::*;
1616
use diesel_async::async_connection_wrapper::AsyncConnectionWrapper;
1717
use diesel_async::{AsyncPgConnection, RunQueryDsl};
1818
use flate2::read::GzDecoder;

src/controllers/crate_owner_invitation.rs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ use crate::auth::Authentication;
44
use crate::controllers::helpers::pagination::{Page, PaginationOptions};
55
use crate::models::{Crate, CrateOwnerInvitation, Rights, User};
66
use crate::schema::{crate_owner_invitations, crates, users};
7-
use crate::util::diesel::prelude::*;
87
use crate::util::errors::{bad_request, forbidden, internal, AppResult};
98
use crate::util::{BytesRequest, RequestUtils};
109
use crate::views::{
@@ -17,8 +16,9 @@ use axum_extra::json;
1716
use axum_extra::response::ErasedJson;
1817
use chrono::{Duration, Utc};
1918
use diesel::pg::Pg;
19+
use diesel::prelude::*;
2020
use diesel::sql_types::Bool;
21-
use diesel_async::AsyncPgConnection;
21+
use diesel_async::{AsyncPgConnection, RunQueryDsl};
2222
use http::request::Parts;
2323
use indexmap::IndexMap;
2424
use std::collections::{HashMap, HashSet};
@@ -90,8 +90,6 @@ async fn prepare_list(
9090
filter: ListFilter,
9191
conn: &mut AsyncPgConnection,
9292
) -> AppResult<PrivateListResponse> {
93-
use diesel_async::RunQueryDsl;
94-
9593
let pagination: PaginationOptions = PaginationOptions::builder()
9694
.enable_pages(false)
9795
.enable_seek(true)

src/controllers/github/secret_scanning.rs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@ use crate::app::AppState;
22
use crate::email::Email;
33
use crate::models::{ApiToken, User};
44
use crate::schema::api_tokens;
5-
use crate::util::diesel::prelude::*;
65
use crate::util::errors::{bad_request, AppResult, BoxedAppError};
76
use crate::util::token::HashedToken;
87
use anyhow::{anyhow, Context};
98
use axum::body::Bytes;
109
use axum::Json;
1110
use base64::{engine::general_purpose, Engine};
1211
use crates_io_github::GitHubPublicKey;
13-
use diesel_async::AsyncPgConnection;
12+
use diesel::prelude::*;
13+
use diesel_async::{AsyncPgConnection, RunQueryDsl};
1414
use http::HeaderMap;
1515
use p256::ecdsa::signature::Verifier;
1616
use p256::ecdsa::VerifyingKey;
@@ -132,8 +132,6 @@ async fn alert_revoke_token(
132132
alert: &GitHubSecretAlert,
133133
conn: &mut AsyncPgConnection,
134134
) -> QueryResult<GitHubSecretAlertFeedbackLabel> {
135-
use diesel_async::RunQueryDsl;
136-
137135
let hashed_token = HashedToken::hash(&alert.token);
138136

139137
// Not using `ApiToken::find_by_api_token()` in order to preserve `last_used_at`

src/controllers/krate/metadata.rs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ use crate::models::{
1111
Version, VersionOwnerAction,
1212
};
1313
use crate::schema::*;
14-
use crate::util::diesel::prelude::*;
1514
use crate::util::errors::{bad_request, crate_not_found, AppResult, BoxedAppError};
1615
use crate::util::{redirect, RequestUtils};
1716
use crate::views::{
@@ -21,6 +20,8 @@ use axum::extract::Path;
2120
use axum::response::{IntoResponse, Response};
2221
use axum_extra::json;
2322
use axum_extra::response::ErasedJson;
23+
use diesel::prelude::*;
24+
use diesel_async::RunQueryDsl;
2425
use http::request::Parts;
2526
use std::cmp::Reverse;
2627
use std::str::FromStr;
@@ -32,8 +33,6 @@ pub async fn show_new(app: AppState, req: Parts) -> AppResult<ErasedJson> {
3233

3334
/// Handles the `GET /crates/:crate_id` route.
3435
pub async fn show(app: AppState, Path(name): Path<String>, req: Parts) -> AppResult<ErasedJson> {
35-
use diesel_async::RunQueryDsl;
36-
3736
let mut conn = app.db_read().await?;
3837

3938
let include = req
@@ -248,8 +247,6 @@ pub async fn reverse_dependencies(
248247
Path(name): Path<String>,
249248
req: Parts,
250249
) -> AppResult<ErasedJson> {
251-
use diesel_async::RunQueryDsl;
252-
253250
let mut conn = app.db_read().await?;
254251

255252
let pagination_options = PaginationOptions::builder().gather(&req)?;

src/controllers/krate/owners.rs

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
33
use crate::models::{krate::NewOwnerInvite, token::EndpointScope};
44
use crate::models::{Crate, Owner, Rights, Team, User};
5-
use crate::util::diesel::prelude::*;
65
use crate::util::errors::{bad_request, crate_not_found, custom, AppResult};
76
use crate::views::EncodableOwner;
87
use crate::{app::AppState, models::krate::OwnerAddError};
@@ -11,16 +10,15 @@ use axum::extract::Path;
1110
use axum::Json;
1211
use axum_extra::json;
1312
use axum_extra::response::ErasedJson;
13+
use diesel::prelude::*;
1414
use diesel_async::scoped_futures::ScopedFutureExt;
15-
use diesel_async::AsyncConnection;
15+
use diesel_async::{AsyncConnection, RunQueryDsl};
1616
use http::request::Parts;
1717
use http::StatusCode;
1818
use secrecy::{ExposeSecret, SecretString};
1919

2020
/// Handles the `GET /crates/:crate_id/owners` route.
2121
pub async fn owners(state: AppState, Path(crate_name): Path<String>) -> AppResult<ErasedJson> {
22-
use diesel_async::RunQueryDsl;
23-
2422
let mut conn = state.db_read().await?;
2523

2624
let krate: Crate = Crate::by_name(&crate_name)
@@ -41,8 +39,6 @@ pub async fn owners(state: AppState, Path(crate_name): Path<String>) -> AppResul
4139

4240
/// Handles the `GET /crates/:crate_id/owner_team` route.
4341
pub async fn owner_team(state: AppState, Path(crate_name): Path<String>) -> AppResult<ErasedJson> {
44-
use diesel_async::RunQueryDsl;
45-
4642
let mut conn = state.db_read().await?;
4743
let krate: Crate = Crate::by_name(&crate_name)
4844
.first(&mut conn)
@@ -61,8 +57,6 @@ pub async fn owner_team(state: AppState, Path(crate_name): Path<String>) -> AppR
6157

6258
/// Handles the `GET /crates/:crate_id/owner_user` route.
6359
pub async fn owner_user(state: AppState, Path(crate_name): Path<String>) -> AppResult<ErasedJson> {
64-
use diesel_async::RunQueryDsl;
65-
6660
let mut conn = state.db_read().await?;
6761

6862
let krate: Crate = Crate::by_name(&crate_name)
@@ -113,8 +107,6 @@ async fn modify_owners(
113107
body: ChangeOwnersRequest,
114108
add: bool,
115109
) -> AppResult<ErasedJson> {
116-
use diesel_async::RunQueryDsl;
117-
118110
let logins = body.owners;
119111

120112
// Bound the number of invites processed per request to limit the cost of

src/controllers/krate/publish.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
33
use crate::app::AppState;
44
use crate::auth::AuthCheck;
5-
use crate::util::diesel::prelude::*;
65
use crate::worker::jobs::{
76
self, CheckTyposquat, SendPublishNotificationsJob, UpdateDefaultVersion,
87
};
@@ -13,6 +12,7 @@ use chrono::{DateTime, SecondsFormat, Utc};
1312
use crates_io_tarball::{process_tarball, TarballError};
1413
use crates_io_worker::BackgroundJob;
1514
use diesel::dsl::{exists, select};
15+
use diesel::prelude::*;
1616
use diesel_async::scoped_futures::ScopedFutureExt;
1717
use diesel_async::{AsyncConnection, AsyncPgConnection, RunQueryDsl};
1818
use futures_util::TryStreamExt;

src/controllers/krate/search.rs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
//! Endpoint for searching and discovery functionality
22
33
use crate::auth::AuthCheck;
4-
use crate::util::diesel::prelude::*;
54
use axum_extra::json;
65
use axum_extra::response::ErasedJson;
76
use diesel::dsl::{exists, sql, InnerJoinQuerySource, LeftJoinQuerySource};
7+
use diesel::prelude::*;
88
use diesel::sql_types::{Bool, Text};
9-
use diesel_async::AsyncPgConnection;
9+
use diesel_async::{AsyncPgConnection, RunQueryDsl};
1010
use diesel_full_text_search::*;
1111
use http::request::Parts;
1212
use std::sync::OnceLock;
@@ -46,8 +46,6 @@ use crate::util::RequestUtils;
4646
/// function out to cover the different use cases, and create unit tests
4747
/// for them.
4848
pub async fn search(app: AppState, req: Parts) -> AppResult<ErasedJson> {
49-
use diesel_async::RunQueryDsl;
50-
5149
let mut conn = app.db_read().await?;
5250

5351
use diesel::sql_types::Float;

src/controllers/krate/versions.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
//! Endpoint for versions of a crate
22
3-
use crate::util::diesel::prelude::*;
43
use axum::extract::Path;
54
use axum_extra::json;
65
use axum_extra::response::ErasedJson;
76
use diesel::dsl::not;
7+
use diesel::prelude::*;
88
use diesel_async::{AsyncPgConnection, RunQueryDsl};
99
use futures_util::{future, TryStreamExt};
1010
use http::request::Parts;
@@ -93,7 +93,6 @@ async fn list_by_date(
9393
req: &Parts,
9494
conn: &mut AsyncPgConnection,
9595
) -> AppResult<PaginatedVersionsAndPublishers> {
96-
use diesel_async::RunQueryDsl;
9796
use seek::*;
9897

9998
let mut query = versions::table

src/controllers/token.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ use crate::views::EncodableApiTokenWithToken;
66
use crate::app::AppState;
77
use crate::auth::AuthCheck;
88
use crate::models::token::{CrateScope, EndpointScope};
9-
use crate::util::diesel::prelude::*;
109
use crate::util::errors::{bad_request, AppResult};
1110
use axum::extract::{Path, Query};
1211
use axum::response::{IntoResponse, Response};
@@ -16,6 +15,7 @@ use axum_extra::response::ErasedJson;
1615
use chrono::NaiveDateTime;
1716
use diesel::data_types::PgInterval;
1817
use diesel::dsl::{now, IntervalDsl};
18+
use diesel::prelude::*;
1919
use diesel_async::RunQueryDsl;
2020
use http::request::Parts;
2121
use http::StatusCode;

src/controllers/user/me.rs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
use crate::auth::AuthCheck;
2-
use crate::util::diesel::prelude::*;
32
use axum::extract::Path;
43
use axum::response::Response;
54
use axum::Json;
65
use axum_extra::json;
76
use axum_extra::response::ErasedJson;
7+
use diesel::prelude::*;
8+
use diesel_async::RunQueryDsl;
89
use http::request::Parts;
910
use std::collections::HashMap;
1011

@@ -20,8 +21,6 @@ use crate::views::{EncodableMe, EncodablePrivateUser, EncodableVersion, OwnedCra
2021

2122
/// Handles the `GET /me` route.
2223
pub async fn me(app: AppState, req: Parts) -> AppResult<Json<EncodableMe>> {
23-
use diesel_async::RunQueryDsl;
24-
2524
let mut conn = app.db_read_prefer_primary().await?;
2625
let user_id = AuthCheck::only_cookie()
2726
.check(&req, &mut conn)
@@ -105,7 +104,6 @@ pub async fn updates(app: AppState, req: Parts) -> AppResult<ErasedJson> {
105104
/// Handles the `PUT /confirm/:email_token` route
106105
pub async fn confirm_user_email(state: AppState, Path(token): Path<String>) -> AppResult<Response> {
107106
use diesel::update;
108-
use diesel_async::RunQueryDsl;
109107

110108
let mut conn = state.db_write().await?;
111109

@@ -124,7 +122,6 @@ pub async fn confirm_user_email(state: AppState, Path(token): Path<String>) -> A
124122
/// Handles `PUT /me/email_notifications` route
125123
pub async fn update_email_notifications(app: AppState, req: BytesRequest) -> AppResult<Response> {
126124
use diesel::pg::upsert::excluded;
127-
use diesel_async::RunQueryDsl;
128125

129126
let (parts, body) = req.0.into_parts();
130127

src/controllers/user/update.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,12 @@ use crate::auth::AuthCheck;
33
use crate::controllers::helpers::ok_true;
44
use crate::models::NewEmail;
55
use crate::schema::{emails, users};
6-
use crate::util::diesel::prelude::*;
76
use crate::util::errors::{bad_request, server_error, AppResult};
87
use axum::extract::Path;
98
use axum::response::Response;
109
use axum::Json;
10+
use diesel::prelude::*;
11+
use diesel_async::RunQueryDsl;
1112
use http::request::Parts;
1213
use lettre::Address;
1314
use secrecy::{ExposeSecret, SecretString};
@@ -30,8 +31,6 @@ pub async fn update_user(
3031
req: Parts,
3132
Json(user_update): Json<UserUpdate>,
3233
) -> AppResult<Response> {
33-
use diesel_async::RunQueryDsl;
34-
3534
let mut conn = state.db_write().await?;
3635
let auth = AuthCheck::default().check(&req, &mut conn).await?;
3736

src/controllers/version/downloads.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ use super::version_and_crate;
66
use crate::app::AppState;
77
use crate::models::VersionDownload;
88
use crate::schema::*;
9-
use crate::util::diesel::prelude::*;
109
use crate::util::errors::{version_not_found, AppResult};
1110
use crate::util::{redirect, RequestUtils};
1211
use crate::views::EncodableVersionDownload;
@@ -15,6 +14,8 @@ use axum::response::{IntoResponse, Response};
1514
use axum_extra::json;
1615
use axum_extra::response::ErasedJson;
1716
use chrono::{Duration, NaiveDate, Utc};
17+
use diesel::prelude::*;
18+
use diesel_async::RunQueryDsl;
1819
use http::request::Parts;
1920

2021
/// Handles the `GET /crates/:crate_id/:version/download` route.
@@ -39,8 +40,6 @@ pub async fn downloads(
3940
Path((crate_name, version)): Path<(String, String)>,
4041
req: Parts,
4142
) -> AppResult<ErasedJson> {
42-
use diesel_async::RunQueryDsl;
43-
4443
if semver::Version::parse(&version).is_err() {
4544
return Err(version_not_found(&crate_name, &version));
4645
}

src/controllers/version/metadata.rs

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@ use axum_extra::json;
1010
use axum_extra::response::ErasedJson;
1111
use crates_io_database::schema::{crates, dependencies};
1212
use crates_io_worker::BackgroundJob;
13-
use diesel_async::AsyncPgConnection;
13+
use diesel::prelude::*;
14+
use diesel_async::{AsyncPgConnection, RunQueryDsl};
1415
use http::request::Parts;
1516
use http::StatusCode;
1617
use serde::Deserialize;
@@ -23,7 +24,6 @@ use crate::models::{
2324
};
2425
use crate::rate_limiter::LimitedAction;
2526
use crate::schema::versions;
26-
use crate::util::diesel::prelude::*;
2727
use crate::util::errors::{bad_request, custom, version_not_found, AppResult};
2828
use crate::views::{EncodableDependency, EncodableVersion};
2929
use crate::worker::jobs::{SyncToGitIndex, SyncToSparseIndex, UpdateDefaultVersion};
@@ -51,8 +51,6 @@ pub async fn dependencies(
5151
state: AppState,
5252
Path((crate_name, version)): Path<(String, String)>,
5353
) -> AppResult<ErasedJson> {
54-
use diesel_async::RunQueryDsl;
55-
5654
if semver::Version::parse(&version).is_err() {
5755
return Err(version_not_found(&crate_name, &version));
5856
}
@@ -182,8 +180,6 @@ pub async fn perform_version_yank_update(
182180
yanked: Option<bool>,
183181
yank_message: Option<String>,
184182
) -> AppResult<()> {
185-
use diesel_async::RunQueryDsl;
186-
187183
let api_token_id = auth.api_token_id();
188184
let user = auth.user();
189185
let owners = krate.owners(conn).await?;

0 commit comments

Comments
 (0)