52 lines
1.6 KiB
Go
52 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
|
||
|
|
// }
|