33 lines
717 B
Go
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
|
|
}
|