33 lines
717 B
Go

package models
import (
"context"
"database/sql"
"errors"
"screenmark/screenmark/.gen/haystack/haystack/model"
. "screenmark/screenmark/.gen/haystack/haystack/table"
. "github.com/go-jet/jet/v2/postgres"
"github.com/google/uuid"
)
type UserModek struct {
dbPool *sql.DB
}
func getUserIdFromImage(ctx context.Context, dbPool *sql.DB, imageId uuid.UUID) (uuid.UUID, error) {
getUserIdStmt := UserImages.SELECT(UserImages.UserID).WHERE(UserImages.ID.EQ(UUID(imageId)))
user := []model.Users{}
err := getUserIdStmt.QueryContext(ctx, dbPool, &user)
if err != nil {
return uuid.Nil, err
}
if len(user) != 1 {
return uuid.Nil, errors.New("Expected exactly one choice.")
}
return user[0].ID, nil
}