Have got uploads working
This commit is contained in:
parent
97112d99dd
commit
6b697e008f
20 changed files with 751 additions and 7 deletions
|
|
@ -2,7 +2,6 @@ package handlers
|
|||
|
||||
import (
|
||||
"fmt"
|
||||
"log"
|
||||
"strconv"
|
||||
|
||||
"github.com/gofiber/fiber/v3"
|
||||
|
|
@ -92,8 +91,6 @@ func (ph PostsHandler) Update(c fiber.Ctx) error {
|
|||
}
|
||||
|
||||
func (ph PostsHandler) Patch(c fiber.Ctx) error {
|
||||
log.Println("PATCH")
|
||||
|
||||
postIDStr := c.Params("postID")
|
||||
if postIDStr == "" {
|
||||
return fiber.ErrBadRequest
|
||||
|
|
@ -110,8 +107,6 @@ func (ph PostsHandler) Patch(c fiber.Ctx) error {
|
|||
return err
|
||||
}
|
||||
|
||||
log.Println("Request")
|
||||
|
||||
switch req.Action {
|
||||
case "restore":
|
||||
if err := ph.PostService.RestorePost(c.Context(), postID); err != nil {
|
||||
|
|
|
|||
62
handlers/uploads.go
Normal file
62
handlers/uploads.go
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
package handlers
|
||||
|
||||
import (
|
||||
"github.com/gofiber/fiber/v3"
|
||||
"lmika.dev/lmika/weiro/services/uploads"
|
||||
)
|
||||
|
||||
type UploadsHandler struct {
|
||||
UploadsService *uploads.Service
|
||||
}
|
||||
|
||||
func (uh UploadsHandler) Index(c fiber.Ctx) error {
|
||||
return c.Render("uploads/index", nil)
|
||||
}
|
||||
|
||||
func (uh UploadsHandler) New(c fiber.Ctx) error {
|
||||
var req uploads.NewPendingRequest
|
||||
|
||||
if err := c.Bind().Body(&req); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
res, err := uh.UploadsService.NewPending(c.Context(), req)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return c.JSON(res)
|
||||
}
|
||||
|
||||
func (uh UploadsHandler) UploadPart(c fiber.Ctx) error {
|
||||
guid := c.Params("guid")
|
||||
if guid == "" {
|
||||
return fiber.ErrBadRequest
|
||||
}
|
||||
|
||||
if err := uh.UploadsService.WriteToPending(c.Context(), guid, c.Body()); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return c.Status(fiber.StatusAccepted).JSON(fiber.Map{})
|
||||
}
|
||||
|
||||
func (uh UploadsHandler) UploadComplete(c fiber.Ctx) error {
|
||||
guid := c.Params("guid")
|
||||
if guid == "" {
|
||||
return fiber.ErrBadRequest
|
||||
}
|
||||
|
||||
var res struct {
|
||||
Hash string `json:"hash"`
|
||||
}
|
||||
if err := c.Bind().Body(&res); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := uh.UploadsService.FinalizePending(c.Context(), guid, res.Hash); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return c.Status(fiber.StatusAccepted).JSON(fiber.Map{})
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue