Have got the processor plumbing working
This commit is contained in:
parent
036b683eab
commit
599c72d465
11 changed files with 185 additions and 39 deletions
|
|
@ -15,6 +15,11 @@ type ImageEditHandlers struct {
|
|||
ImageEditService *imgedit.Service
|
||||
}
|
||||
|
||||
type sessionResponse struct {
|
||||
Session *models.ImageEditSession `json:"session"`
|
||||
PreviewURL string `json:"preview_url"`
|
||||
}
|
||||
|
||||
func (ieh ImageEditHandlers) Create(c fiber.Ctx) error {
|
||||
var req struct {
|
||||
BaseUploadID int64 `json:"base_upload"`
|
||||
|
|
@ -29,10 +34,7 @@ func (ieh ImageEditHandlers) Create(c fiber.Ctx) error {
|
|||
return err
|
||||
}
|
||||
|
||||
var resp = struct {
|
||||
Session models.ImageEditSession `json:"session"`
|
||||
PreviewURL string `json:"preview_url"`
|
||||
}{
|
||||
var resp = sessionResponse{
|
||||
Session: res,
|
||||
PreviewURL: res.PreviewURL(),
|
||||
}
|
||||
|
|
@ -65,3 +67,27 @@ func (ieh ImageEditHandlers) Preview(c fiber.Ctx) error {
|
|||
}
|
||||
})
|
||||
}
|
||||
|
||||
func (ieh ImageEditHandlers) AddProcessor(c fiber.Ctx) error {
|
||||
sessionID := c.Params("sessionID")
|
||||
if sessionID == "" {
|
||||
log.Println("No session ID")
|
||||
return fiber.ErrBadRequest
|
||||
}
|
||||
|
||||
var req imgedit.AddProcessorReq
|
||||
if err := c.Bind().Body(&req); err != nil {
|
||||
log.Printf("Failed to parse request body: %v", err)
|
||||
return fiber.ErrBadRequest
|
||||
}
|
||||
|
||||
res, err := ieh.ImageEditService.AddProcessor(c.Context(), sessionID, req)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return c.Status(http.StatusOK).JSON(sessionResponse{
|
||||
Session: res,
|
||||
PreviewURL: res.PreviewURL(),
|
||||
})
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ package handlers
|
|||
|
||||
import (
|
||||
"fmt"
|
||||
"log"
|
||||
"net/url"
|
||||
"regexp"
|
||||
|
||||
|
|
@ -37,6 +38,13 @@ func (h IndexHandler) Index(c fiber.Ctx) error {
|
|||
}
|
||||
}
|
||||
|
||||
sess := session.FromContext(c)
|
||||
lastSiteID, ok := sess.Get("last_site_id").(int64)
|
||||
log.Printf("last site id: %v", lastSiteID)
|
||||
if ok {
|
||||
return c.Redirect().To(fmt.Sprintf("/sites/%v/posts", lastSiteID))
|
||||
}
|
||||
|
||||
site, err := h.SiteService.BestSite(c.Context(), user)
|
||||
if err != nil {
|
||||
return err
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ import (
|
|||
|
||||
"emperror.dev/errors"
|
||||
"github.com/gofiber/fiber/v3"
|
||||
"github.com/gofiber/fiber/v3/middleware/session"
|
||||
"lmika.dev/lmika/weiro/models"
|
||||
"lmika.dev/lmika/weiro/providers/db"
|
||||
"lmika.dev/lmika/weiro/services/sites"
|
||||
|
|
@ -41,6 +42,9 @@ func RequiresSite(sites *sites.Service) func(c fiber.Ctx) error {
|
|||
}
|
||||
c.Locals("allSites", sitesOwnedByUser)
|
||||
|
||||
sess := session.FromContext(c)
|
||||
sess.Set("last_site_id", siteID)
|
||||
|
||||
if pubTargets, err := sites.BestPubTarget(c.Context(), site); err == nil {
|
||||
c.Locals("pubTarget", pubTargets)
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue