infoalloggi-monorepo/apps/backend/queries/media.go
2026-05-22 15:49:28 +02:00

51 lines
1.6 KiB
Go

package queries
import (
models "backend/gen/postgres/postgres/public/model"
. "backend/gen/postgres/postgres/public/table"
"fmt"
. "github.com/go-jet/jet/v2/postgres"
)
func SetMediaToDB(to_insert models.MediaRefs) error {
stmt := MediaRefs.INSERT(MediaRefs.AllColumns).MODEL(to_insert).ON_CONFLICT(MediaRefs.Codice, MediaRefs.Ordine, MediaRefs.IsThumbnail, MediaRefs.MediaType).DO_UPDATE(SET(MediaRefs.StorageID.SET(MediaRefs.EXCLUDED.StorageID), MediaRefs.OgURL.SET(MediaRefs.EXCLUDED.OgURL)))
_, err := stmt.Exec(postgres)
if err != nil {
return fmt.Errorf("failed to insert/update media_refs: %w", err)
}
return nil
}
func GetMediaFromDB() ([]models.MediaRefs, error) {
var media []models.MediaRefs
stmt := SELECT(MediaRefs.AllColumns).FROM(MediaRefs).ORDER_BY(MediaRefs.Ordine.ASC())
err := stmt.Query(postgres, &media)
if err != nil {
return nil, fmt.Errorf("failed to get media: %w", err)
}
return media, nil
}
// func GetCodiceMediaFromDB(codice string) ([]models.MediaRefs, error) {
// var media []models.MediaRefs
// stmt := SELECT(MediaRefs.AllColumns).FROM(MediaRefs).WHERE(MediaRefs.Codice.EQ(Text(codice))).ORDER_BY(MediaRefs.Ordine.ASC())
// err := stmt.Query(postgres, &media)
// if err != nil {
// return nil, fmt.Errorf("failed to get media: %w", err)
// }
// return media, nil
// }
// func ClearMediaRefsByCodice(codice string) error {
// stmt := MediaRefs.DELETE().WHERE(MediaRefs.Codice.EQ(Text(codice)))
// _, err := stmt.Exec(postgres)
// if err != nil {
// return fmt.Errorf("failed to clear media_refs by codice: %w", err)
// }
// return nil
// }