78 lines
1.4 KiB
Go
78 lines
1.4 KiB
Go
package api
|
|
|
|
import (
|
|
"encoding/json"
|
|
"log"
|
|
"net/http"
|
|
)
|
|
|
|
type DeleteFileRequest struct {
|
|
ID int64 `json:"id"`
|
|
}
|
|
|
|
func (api *API) HandleDeleteFile(w http.ResponseWriter, r *http.Request) {
|
|
req := &DeleteFileRequest{}
|
|
err := json.NewDecoder(r.Body).Decode(req)
|
|
if err != nil {
|
|
api.HandleError(w, r, err)
|
|
return
|
|
}
|
|
|
|
log.Println("[api] delete file", req.ID)
|
|
|
|
err = api.Db.DeleteFile(req.ID)
|
|
if err != nil {
|
|
api.HandleError(w, r, err)
|
|
return
|
|
}
|
|
|
|
api.HandleOK(w, r)
|
|
}
|
|
|
|
type UpdateFilenameRequest struct {
|
|
ID int64 `json:"id"`
|
|
Filename string `json:"filename"`
|
|
}
|
|
|
|
func (api *API) HandleUpdateFilename(w http.ResponseWriter, r *http.Request) {
|
|
req := &UpdateFilenameRequest{}
|
|
err := json.NewDecoder(r.Body).Decode(req)
|
|
if err != nil {
|
|
api.HandleError(w, r, err)
|
|
return
|
|
}
|
|
|
|
log.Println("[api] update filename", req.ID, req.Filename)
|
|
|
|
err = api.Db.UpdateFilename(req.ID, req.Filename)
|
|
if err != nil {
|
|
api.HandleError(w, r, err)
|
|
return
|
|
}
|
|
|
|
api.HandleOK(w, r)
|
|
}
|
|
|
|
type ResetFilenameRequest struct {
|
|
ID int64 `json:"id"`
|
|
}
|
|
|
|
func (api *API) HandleResetFilename(w http.ResponseWriter, r *http.Request) {
|
|
req := &ResetFilenameRequest{}
|
|
err := json.NewDecoder(r.Body).Decode(req)
|
|
if err != nil {
|
|
api.HandleError(w, r, err)
|
|
return
|
|
}
|
|
|
|
log.Println("[api] reset filename", req.ID)
|
|
|
|
err = api.Db.ResetFilename(req.ID)
|
|
if err != nil {
|
|
api.HandleError(w, r, err)
|
|
return
|
|
}
|
|
|
|
api.HandleOK(w, r)
|
|
}
|