package handlers import ( "gitea.d3m0k1d.ru/d3m0k1d/d3m0k1d.ru/backend/internal/logger" "gitea.d3m0k1d.ru/d3m0k1d/d3m0k1d.ru/backend/internal/models" "github.com/gin-gonic/gin" ) type StaticHandlers struct { logger *logger.Logger } func NewStaticHandlers() *StaticHandlers { return &StaticHandlers{ logger: logger.New(false), } } // PostStatic godoc // @Summary Upload static content // @Description Upload static content to the server // @Tags static // @Produce json // @Success 200 {object} models.SuccessResponse(data=string) "Static content" // @Failure 500 {object} models.ErrorResponse "Internal server error" // @Router /upload [post] func (h *StaticHandlers) PostStatic(c *gin.Context) { content, err := c.FormFile("file") if err != nil { h.logger.Error("error request: " + err.Error()) models.Error(c, 500, "Internal server error", err.Error()) return } dst := "/data/upload/" + content.Filename if err = c.SaveUploadedFile(content, dst); err != nil { h.logger.Error("error request: " + err.Error()) models.Error(c, 500, "Internal server error", err.Error()) return } models.Success(c, "Static content saved") } // GetStatic godoc // @Summary Get static content // @Description Get static content // @Tags static // @Accept json // @Produce json // @Param file path string true "File name" // @Success 200 {object} models.SuccessResponse{data=string} "Static content" // @Failure 500 {object} models.ErrorResponse "Internal server error" // @Failure 404 {object} models.ErrorResponse "File not found" // @Router /upload/{file} [get] func (h *StaticHandlers) GetStatic(c *gin.Context) { // TODO: Unsecure handler need to be fixed c.File("/data/upload/" + c.Param("file")) }