mirror of
https://gitlab.dit.htwk-leipzig.de/htwk-software/htwkalender.git
synced 2025-08-02 17:59:14 +02:00
48 lines
1.0 KiB
Go
48 lines
1.0 KiB
Go
package db
|
|
|
|
import (
|
|
"github.com/pocketbase/pocketbase"
|
|
"github.com/pocketbase/pocketbase/models"
|
|
"htwkalender/model"
|
|
"time"
|
|
)
|
|
|
|
func SaveFeed(feed model.Feed, collection *models.Collection, app *pocketbase.PocketBase) (*models.Record, error) {
|
|
record := models.NewRecord(collection)
|
|
record.Set("modules", feed.Modules)
|
|
err := app.Dao().SaveRecord(record)
|
|
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return record, nil
|
|
}
|
|
|
|
func FindFeedByToken(token string, app *pocketbase.PocketBase) (*model.Feed, error) {
|
|
|
|
record, err := app.Dao().FindRecordById("feeds", token)
|
|
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
var feed model.Feed
|
|
feed.Modules = record.GetString("modules")
|
|
feed.Retrieved = record.GetTime("retrieved")
|
|
|
|
//update retrieved time
|
|
record.Set("retrieved", time.Now())
|
|
|
|
err = app.Dao().SaveRecord(record)
|
|
|
|
return &feed, err
|
|
}
|
|
|
|
func GetAllFeeds(app *pocketbase.PocketBase) ([]*models.Record, error) {
|
|
feeds, err := app.Dao().FindRecordsByFilter("feeds", "", "", 0, 0)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return feeds, nil
|
|
}
|