@@ -2269,64 +2269,49 @@ func deleteDatabaseHandler(w http.ResponseWriter, r *http.Request) {
2269
2269
err = com .InvalidateCacheEntry (loggedInUser , dbOwner , dbName , "" ) // Empty string indicates "for all versions"
2270
2270
if err != nil {
2271
2271
// Something went wrong when invalidating memcached entries for the database
2272
- log .Printf ("Error when invalidating memcache entries: %s\n " , err .Error ())
2272
+ log .Printf ("Error when invalidating memcache entries: %s" , err .Error ())
2273
2273
return
2274
2274
}
2275
2275
}
2276
2276
2277
- // Delete the database
2278
- err = com .DeleteDatabase (dbOwner , dbName )
2279
- if err != err {
2280
- w .WriteHeader (http .StatusInternalServerError )
2281
- fmt .Fprint (w , "Internal server error" )
2282
- return
2283
- }
2284
-
2285
2277
// For a live database, delete it from both Minio and our AMQP backend
2286
- // FIXME: This code to delete the live database from the AMQP backend was directly copied from
2287
- // FIXME api/main.go. Move the code into a shared function at some point
2288
2278
if isLive {
2289
- // Delete the database from Minio
2290
- bucket := fmt .Sprintf ("live-%s" , dbOwner )
2291
- id := dbName
2292
- err = com .MinioDeleteDatabase ("webUI" , dbOwner , dbName , bucket , id )
2279
+ // Get the Minio bucket name and object id
2280
+ var bucket , objectID string
2281
+ bucket , objectID , err = com .LiveGetMinioNames (dbOwner , dbOwner , dbName )
2293
2282
if err != nil {
2294
2283
w .WriteHeader (http .StatusInternalServerError )
2295
2284
fmt .Fprint (w , "Internal server error" )
2296
2285
log .Println (err )
2297
2286
return
2298
2287
}
2299
2288
2300
- // Delete the database from our AMQP backend
2301
- var rawResponse []byte
2302
- rawResponse , err = com .MQRequest (com .AmqpChan , liveNode , "delete" , loggedInUser , dbOwner , dbName , "" )
2289
+ // Delete the database from Minio
2290
+ err = com .MinioDeleteDatabase ("webUI" , dbOwner , dbName , bucket , objectID )
2303
2291
if err != nil {
2304
2292
w .WriteHeader (http .StatusInternalServerError )
2305
2293
fmt .Fprint (w , "Internal server error" )
2306
2294
log .Println (err )
2307
2295
return
2308
2296
}
2309
2297
2310
- // Decode the response
2311
- var resp com.LiveDBErrorResponse
2312
- err = json .Unmarshal (rawResponse , & resp )
2298
+ // Delete the database from our AMQP backend
2299
+ err = com .LiveDelete (liveNode , loggedInUser , dbOwner , dbName )
2313
2300
if err != nil {
2314
2301
w .WriteHeader (http .StatusInternalServerError )
2315
2302
fmt .Fprint (w , "Internal server error" )
2316
2303
log .Println (err )
2317
2304
return
2318
2305
}
2319
- if resp .Error != "" {
2320
- err = errors .New (resp .Error )
2321
- w .WriteHeader (http .StatusInternalServerError )
2322
- fmt .Fprint (w , resp .Error )
2323
- log .Println (err )
2324
- return
2325
- }
2326
- if resp .Node == "" {
2327
- log .Printf ("In webUI (Live) deleteDatabaseHandler(). A node responded, but didn't identify itself." )
2328
- return
2329
- }
2306
+ }
2307
+
2308
+ // Delete the database in PostgreSQL
2309
+ err = com .DeleteDatabase (dbOwner , dbName )
2310
+ if err != err {
2311
+ w .WriteHeader (http .StatusInternalServerError )
2312
+ fmt .Fprint (w , "Internal server error" )
2313
+ log .Println (err )
2314
+ return
2330
2315
}
2331
2316
2332
2317
// Update succeeded
0 commit comments