Files

35 lines
818 B
Go

package httpapi
import (
"net/http"
"inbox/internal/base/httpx"
)
func (h *Handler) listDirectories(w http.ResponseWriter, r *http.Request) {
listing, err := h.SystemFS.ListDirectories(r.URL.Query().Get("path"))
if err != nil {
writeSystemFSError(w, err)
return
}
httpx.WriteJSON(w, http.StatusOK, listing)
}
func (h *Handler) createDirectory(w http.ResponseWriter, r *http.Request) {
type request struct {
Parent string `json:"parent"`
Name string `json:"name"`
}
var req request
if err := httpx.DecodeJSON(r, &req); err != nil {
httpx.WriteError(w, http.StatusBadRequest, err.Error())
return
}
path, err := h.SystemFS.CreateDirectory(req.Parent, req.Name)
if err != nil {
writeSystemFSError(w, err)
return
}
httpx.WriteJSON(w, http.StatusCreated, map[string]any{"path": path})
}