@@ -10,7 +10,6 @@ use crate::context::OpContext;
10
10
use crate :: db;
11
11
use crate :: db:: collection_insert:: AsyncInsertError ;
12
12
use crate :: db:: collection_insert:: DatastoreCollection ;
13
- use crate :: db:: error:: diesel_result_optional;
14
13
use crate :: db:: error:: public_error_from_diesel;
15
14
use crate :: db:: error:: ErrorHandler ;
16
15
use crate :: db:: fixed_data:: silo:: INTERNAL_SILO_ID ;
@@ -183,18 +182,17 @@ impl DataStore {
183
182
opctx. authorize ( authz:: Action :: Delete , authz_pool) . await ?;
184
183
185
184
// Verify there are no IP ranges still in this pool
186
- let range = diesel_result_optional (
187
- ip_pool_range:: dsl:: ip_pool_range
188
- . filter ( ip_pool_range:: dsl:: ip_pool_id. eq ( authz_pool. id ( ) ) )
189
- . filter ( ip_pool_range:: dsl:: time_deleted. is_null ( ) )
190
- . select ( ip_pool_range:: dsl:: id)
191
- . limit ( 1 )
192
- . first_async :: < Uuid > (
193
- & * self . pool_connection_authorized ( opctx) . await ?,
194
- )
195
- . await ,
196
- )
197
- . map_err ( |e| public_error_from_diesel ( e, ErrorHandler :: Server ) ) ?;
185
+ let range = ip_pool_range:: dsl:: ip_pool_range
186
+ . filter ( ip_pool_range:: dsl:: ip_pool_id. eq ( authz_pool. id ( ) ) )
187
+ . filter ( ip_pool_range:: dsl:: time_deleted. is_null ( ) )
188
+ . select ( ip_pool_range:: dsl:: id)
189
+ . limit ( 1 )
190
+ . first_async :: < Uuid > (
191
+ & * self . pool_connection_authorized ( opctx) . await ?,
192
+ )
193
+ . await
194
+ . optional ( )
195
+ . map_err ( |e| public_error_from_diesel ( e, ErrorHandler :: Server ) ) ?;
198
196
if range. is_some ( ) {
199
197
return Err ( Error :: InvalidRequest {
200
198
message :
@@ -313,7 +311,6 @@ impl DataStore {
313
311
. insert_and_get_result_async ( conn)
314
312
. await
315
313
. map_err ( |e| {
316
- use async_bb8_diesel:: ConnectionError :: Query ;
317
314
use diesel:: result:: Error :: NotFound ;
318
315
319
316
match e {
@@ -323,7 +320,7 @@ impl DataStore {
323
320
lookup_type : LookupType :: ById ( pool_id) ,
324
321
}
325
322
}
326
- AsyncInsertError :: DatabaseError ( Query ( NotFound ) ) => {
323
+ AsyncInsertError :: DatabaseError ( NotFound ) => {
327
324
// We've filtered out the IP addresses the client provided,
328
325
// i.e., there's some overlap with existing addresses.
329
326
Error :: invalid_request (
@@ -363,26 +360,25 @@ impl DataStore {
363
360
// concurrent inserts of new external IPs from the target range by
364
361
// comparing the rcgen.
365
362
let conn = self . pool_connection_authorized ( opctx) . await ?;
366
- let range = diesel_result_optional (
367
- dsl:: ip_pool_range
368
- . filter ( dsl:: ip_pool_id. eq ( pool_id) )
369
- . filter ( dsl:: first_address. eq ( first_net) )
370
- . filter ( dsl:: last_address. eq ( last_net) )
371
- . filter ( dsl:: time_deleted. is_null ( ) )
372
- . select ( IpPoolRange :: as_select ( ) )
373
- . get_result_async :: < IpPoolRange > ( & * conn)
374
- . await ,
375
- )
376
- . map_err ( |e| public_error_from_diesel ( e, ErrorHandler :: Server ) ) ?
377
- . ok_or_else ( || {
378
- Error :: invalid_request (
379
- format ! (
380
- "The provided range {}-{} does not exist" ,
381
- first_address, last_address,
363
+ let range = dsl:: ip_pool_range
364
+ . filter ( dsl:: ip_pool_id. eq ( pool_id) )
365
+ . filter ( dsl:: first_address. eq ( first_net) )
366
+ . filter ( dsl:: last_address. eq ( last_net) )
367
+ . filter ( dsl:: time_deleted. is_null ( ) )
368
+ . select ( IpPoolRange :: as_select ( ) )
369
+ . get_result_async :: < IpPoolRange > ( & * conn)
370
+ . await
371
+ . optional ( )
372
+ . map_err ( |e| public_error_from_diesel ( e, ErrorHandler :: Server ) ) ?
373
+ . ok_or_else ( || {
374
+ Error :: invalid_request (
375
+ format ! (
376
+ "The provided range {}-{} does not exist" ,
377
+ first_address, last_address,
378
+ )
379
+ . as_str ( ) ,
382
380
)
383
- . as_str ( ) ,
384
- )
385
- } ) ?;
381
+ } ) ?;
386
382
387
383
// Find external IPs allocated out of this pool and range.
388
384
let range_id = range. id ;
0 commit comments