Files
backend/handlers/api/deleteImage.go

47 lines
992 B
Go

package api
import (
"net/http"
"strconv"
"gitea.konchin.com/go2025/backend/middlewares"
"gitea.konchin.com/go2025/backend/utils"
"github.com/uptrace/bunrouter"
)
// DeleteImage
//
// @summary Delete image
// @description delete image along with the links
// @param id path int64 true "Image Id"
// @success 200
// @failure 401
// @failure 404
// @router /api/image/{id} [delete]
func (self *Handlers) DeleteImage(
w http.ResponseWriter, req bunrouter.Request,
) error {
ctx := req.Context()
rawImageId := req.Param("id")
imageId, err := strconv.ParseInt(rawImageId, 10, 64)
if err != nil {
return middlewares.HTTPError{
StatusCode: http.StatusBadRequest,
Message: "failed to parse imageId",
OriginError: err,
}
}
err = self.db.DeleteImage(ctx, imageId)
if err != nil {
return middlewares.HTTPError{
StatusCode: http.StatusInternalServerError,
Message: "failed to delete image",
OriginError: err,
}
}
return utils.Success(w)
}