Skip to content

Commit 9baae84

Browse files
committed
delete files by fid
1 parent d8e8f43 commit 9baae84

File tree

1 file changed

+13
-11
lines changed

1 file changed

+13
-11
lines changed

tracker.go

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff 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 {

0 commit comments

Comments
 (0)