1
- use crate :: storage:: s3:: { s3_client, S3Backend , S3_BUCKET_NAME , S3_RUNTIME } ;
1
+ use crate :: storage:: s3:: { s3_client, S3_BUCKET_NAME , S3_RUNTIME } ;
2
2
use failure:: { Error , Fail } ;
3
3
use postgres:: Connection ;
4
- use rusoto_s3:: { DeleteObjectsRequest , ListObjectsV2Request , ObjectIdentifier , S3 } ;
4
+ use rusoto_s3:: { DeleteObjectsRequest , ListObjectsV2Request , ObjectIdentifier , S3Client , S3 } ;
5
5
6
6
/// List of directories in docs.rs's underlying storage (either the database or S3) containing a
7
7
/// subdirectory named after the crate. Those subdirectories will be deleted.
@@ -17,7 +17,7 @@ pub fn delete_crate(conn: &Connection, name: &str) -> Result<(), Error> {
17
17
let crate_id = get_id ( conn, name) ?;
18
18
delete_crate_from_database ( conn, name, crate_id) ?;
19
19
20
- if let Some ( backend) = s3_client ( ) . map ( |client| S3Backend :: new ( client , S3_BUCKET_NAME ) ) {
20
+ if let Some ( backend) = s3_client ( ) {
21
21
for prefix in STORAGE_PATHS_TO_DELETE {
22
22
delete_prefix_from_s3 ( & backend, & format ! ( "{}/{}/" , prefix, name) ) ?;
23
23
}
@@ -29,7 +29,7 @@ pub fn delete_crate(conn: &Connection, name: &str) -> Result<(), Error> {
29
29
pub fn delete_version ( conn : & Connection , name : & str , version : & str ) -> Result < ( ) , Error > {
30
30
delete_version_from_database ( conn, name, version) ?;
31
31
32
- if let Some ( backend) = s3_client ( ) . map ( |client| S3Backend :: new ( client , S3_BUCKET_NAME ) ) {
32
+ if let Some ( backend) = s3_client ( ) {
33
33
for prefix in STORAGE_PATHS_TO_DELETE {
34
34
delete_prefix_from_s3 ( & backend, & format ! ( "{}/{}/{}/" , prefix, name, version) ) ?;
35
35
}
@@ -121,12 +121,11 @@ fn delete_crate_from_database(conn: &Connection, name: &str, crate_id: i32) -> R
121
121
Ok ( ( ) )
122
122
}
123
123
124
- fn delete_prefix_from_s3 ( s3 : & S3Backend , name : & str ) -> Result < ( ) , Error > {
124
+ fn delete_prefix_from_s3 ( s3 : & S3Client , name : & str ) -> Result < ( ) , Error > {
125
125
S3_RUNTIME . handle ( ) . block_on ( async {
126
126
let mut continuation_token = None ;
127
127
loop {
128
128
let list = s3
129
- . client
130
129
. list_objects_v2 ( ListObjectsV2Request {
131
130
bucket : S3_BUCKET_NAME . into ( ) ,
132
131
prefix : Some ( name. into ( ) ) ,
@@ -147,7 +146,6 @@ fn delete_prefix_from_s3(s3: &S3Backend, name: &str) -> Result<(), Error> {
147
146
. collect :: < Vec < _ > > ( ) ;
148
147
149
148
let resp = s3
150
- . client
151
149
. delete_objects ( DeleteObjectsRequest {
152
150
bucket : S3_BUCKET_NAME . into ( ) ,
153
151
delete : rusoto_s3:: Delete {
0 commit comments