added UserDefined Module Naming

This commit is contained in:
Elmar Kresse
2023-09-22 15:54:34 +02:00
parent 20ec88d8d2
commit 99618c57c1
15 changed files with 249 additions and 150 deletions

View File

@@ -7,8 +7,8 @@ import (
"github.com/labstack/echo/v5"
"github.com/pocketbase/pocketbase"
"github.com/pocketbase/pocketbase/apis"
model "htwkalender/model"
db "htwkalender/service/db"
"htwkalender/model"
"htwkalender/service/db"
"io"
"net/http"
"time"
@@ -28,10 +28,7 @@ func Feed(c echo.Context, app *pocketbase.PocketBase, token string) error {
created, _ := time.Parse(layout, feed.Created)
var modules []struct {
Name string `db:"Name" json:"Name"`
Course string `db:"course" json:"Course"`
}
var modules []model.FeedCollection
_ = json.Unmarshal([]byte(feed.Modules), &modules)
if created.Add(time.Hour * 265).Before(time.Now()) {
newFeed, err := createFeedForToken(app, modules)
@@ -50,30 +47,26 @@ func Feed(c echo.Context, app *pocketbase.PocketBase, token string) error {
return nil
}
func createFeedForToken(app *pocketbase.PocketBase, modules []struct {
Name string `db:"Name" json:"Name"`
Course string `db:"course" json:"Course"`
}) (*model.FeedModel, error) {
func createFeedForToken(app *pocketbase.PocketBase, modules []model.FeedCollection) (*model.FeedModel, error) {
res := db.GetPlanForModules(app, modules)
b := bytes.Buffer{}
goics.NewICalEncode(&b).Encode(res)
goics.NewICalEncode(&b).Encode(IcalModel{Events: res, Mapping: modules})
feed := &model.FeedModel{Content: b.String(), ExpiresAt: time.Now().Add(expirationTime)}
return feed, nil
}
func writeSuccess(message string, w http.ResponseWriter) {
w.WriteHeader(http.StatusOK)
w.Write([]byte(message))
_, err := w.Write([]byte(message))
if err != nil {
return
}
}
func CreateIndividualFeed(c echo.Context, app *pocketbase.PocketBase) error {
// read json from request body
var modules []struct {
Name string `db:"Name" json:"Name"`
Course string `db:"course" json:"Course"`
}
var modules []model.FeedCollection
requestBodyBytes, err := io.ReadAll(c.Request().Body)
if err != nil {
return apis.NewApiError(400, "Could not bind request body", err)