34 lines
858 B
Go
34 lines
858 B
Go
package models
|
|
|
|
import (
|
|
"errors"
|
|
"fmt"
|
|
|
|
. "github.com/go-jet/jet/v2/postgres"
|
|
"screenmark/screenmark/.gen/haystack/haystack/model"
|
|
. "screenmark/screenmark/.gen/haystack/haystack/table"
|
|
|
|
"github.com/google/uuid"
|
|
)
|
|
|
|
func SaveImage(userId string, imageName string, imageData []byte) error {
|
|
stmt := UserImages.INSERT(UserImages.UserID, UserImages.ImageName, UserImages.Image).VALUES(userId, imageName, imageData)
|
|
_, err := stmt.Exec(db)
|
|
|
|
return err
|
|
}
|
|
|
|
func GetImage(imageId string) (model.UserImages, error) {
|
|
id := uuid.MustParse(imageId)
|
|
stmt := UserImages.SELECT(UserImages.ImageName, UserImages.Image).WHERE(UserImages.ID.EQ(UUID(id)))
|
|
|
|
images := []model.UserImages{}
|
|
err := stmt.Query(db, &images)
|
|
|
|
if len(images) != 1 {
|
|
return model.UserImages{}, errors.New(fmt.Sprintf("Expected 1, got %d\n", len(images)))
|
|
}
|
|
|
|
return images[0], err
|
|
}
|