File tree Expand file tree Collapse file tree 1 file changed +13
-11
lines changed Expand file tree Collapse file tree 1 file changed +13
-11
lines changed Original file line number Diff line number Diff line change @@ -415,8 +415,9 @@ func (t *Tracker) deleteFile(w http.ResponseWriter, r *http.Request) {
415415 return
416416 }
417417 key := r .FormValue ("key" )
418- if key == "" {
419- http .Error (w , "required parameter: key" , http .StatusBadRequest )
418+ fid , _ := strconv .ParseInt (r .FormValue ("fid" ), 10 , 64 )
419+ if key == "" && fid == 0 {
420+ http .Error (w , "required parameter: key or fid" , http .StatusBadRequest )
420421 return
421422 }
422423 tx , err := t .db .Begin ()
@@ -425,15 +426,16 @@ func (t *Tracker) deleteFile(w http.ResponseWriter, r *http.Request) {
425426 return
426427 }
427428 defer tx .Rollback () // nolint: errcheck
428- row := tx .QueryRow ("select fid from file where dkey=? for update" , key )
429- var fid int64
430- err = row .Scan (& fid )
431- if err == sql .ErrNoRows {
432- return
433- }
434- if err != nil {
435- t .internalServerError ("cannot select rows" , err , r , w )
436- return
429+ if fid == 0 {
430+ row := tx .QueryRow ("select fid from file where dkey=? for update" , key )
431+ err = row .Scan (& fid )
432+ if err == sql .ErrNoRows {
433+ return
434+ }
435+ if err != nil {
436+ t .internalServerError ("cannot select rows" , err , r , w )
437+ return
438+ }
437439 }
438440 devids , err := t .deleteFidOnDB (tx , fid )
439441 if err != nil {
You can’t perform that action at this time.
0 commit comments