mirror of
https://gitlab.dit.htwk-leipzig.de/htwk-software/htwkalender.git
synced 2025-08-07 20:29:13 +02:00
fix:#65 reworked path param upgrade
This commit is contained in:
@@ -19,38 +19,37 @@ package service
|
||||
import (
|
||||
"github.com/pocketbase/pocketbase"
|
||||
"github.com/pocketbase/pocketbase/core"
|
||||
"htwkalender/data-manager/model"
|
||||
"htwkalender/data-manager/service/feed"
|
||||
"htwkalender/data-manager/service/ical"
|
||||
"io"
|
||||
"log/slog"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
func addFeedRoutes(app *pocketbase.PocketBase) {
|
||||
app.OnServe().BindFunc(func(se *core.ServeEvent) error {
|
||||
se.Router.POST("/api/feed", func(e *core.RequestEvent) error {
|
||||
requestBody, _ := io.ReadAll(e.Request.Body)
|
||||
result, err := ical.CreateIndividualFeed(requestBody, app)
|
||||
if err != nil {
|
||||
slog.Error("Failed to create individual feed", "error", err)
|
||||
return e.JSON(http.StatusInternalServerError, "Failed to create individual feed")
|
||||
}
|
||||
return e.JSON(http.StatusOK, result)
|
||||
})
|
||||
return se.Next()
|
||||
func addFeedRoutes(se *core.ServeEvent, pb *pocketbase.PocketBase) {
|
||||
se.Router.POST("/api/feed", func(e *core.RequestEvent) error {
|
||||
var feedCollection []model.FeedCollection
|
||||
err := e.BindBody(&feedCollection)
|
||||
if err != nil {
|
||||
slog.Error("Failed to bind request body", "error", err)
|
||||
return e.JSON(http.StatusBadRequest, "Invalid request body")
|
||||
}
|
||||
result, err := ical.CreateIndividualFeed(feedCollection, pb)
|
||||
if err != nil {
|
||||
slog.Error("Failed to create individual feed", "error", err)
|
||||
return e.JSON(http.StatusInternalServerError, "Failed to create individual feed")
|
||||
}
|
||||
return e.JSON(http.StatusOK, result)
|
||||
})
|
||||
|
||||
app.OnServe().BindFunc(func(se *core.ServeEvent) error {
|
||||
se.Router.DELETE("/api/feed", func(e *core.RequestEvent) error {
|
||||
token := e.Request.PathValue("token")
|
||||
err := feed.MarkFeedForDeletion(app, token)
|
||||
if err != nil {
|
||||
return e.JSON(http.StatusNotFound, err)
|
||||
} else {
|
||||
return e.JSON(http.StatusOK, "Feed deleted")
|
||||
}
|
||||
})
|
||||
return se.Next()
|
||||
se.Router.DELETE("/api/feed", func(e *core.RequestEvent) error {
|
||||
token := e.Request.URL.Query().Get("token")
|
||||
err := feed.MarkFeedForDeletion(pb, token)
|
||||
if err != nil {
|
||||
return e.JSON(http.StatusNotFound, err)
|
||||
} else {
|
||||
return e.JSON(http.StatusOK, "Feed deleted")
|
||||
}
|
||||
})
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user