// Code generated by sqlc. DO NOT EDIT. // versions: // sqlc v1.30.0 // source: mix.sql package sqlcgen import ( "context" "database/sql" ) const getArtistByFilePath = `-- name: GetArtistByFilePath :one SELECT COALESCE(a.name, '') AS artist_name, COALESCE(a.mbid, '') AS artist_mbid FROM audio_files af JOIN recordings r ON af.recording_id = r.id JOIN artist_credit ac ON r.artist_credit_id = ac.id JOIN artist_credit_artist aca ON aca.credit_id = ac.id JOIN artists a ON a.id = aca.artist_id WHERE af.file_path = ? LIMIT 1 ` type GetArtistByFilePathRow struct { ArtistName string ArtistMbid string } func (q *Queries) GetArtistByFilePath(ctx context.Context, filePath string) (GetArtistByFilePathRow, error) { row := q.db.QueryRowContext(ctx, getArtistByFilePath, filePath) var i GetArtistByFilePathRow err := row.Scan(&i.ArtistName, &i.ArtistMbid) return i, err } const getFilePathsByArtistMBID = `-- name: GetFilePathsByArtistMBID :many SELECT DISTINCT af.file_path FROM audio_files af JOIN recordings r ON af.recording_id = r.id JOIN artist_credit ac ON r.artist_credit_id = ac.id JOIN artist_credit_artist aca ON aca.credit_id = ac.id JOIN artists a ON a.id = aca.artist_id WHERE a.mbid = ? ` // Queries backing the dynamic-mix queue fallback (backend/explore/mix.go): // expanding a seed selection into a candidate pool by artist similarity // and genre overlap, restricted to what is actually in the library. func (q *Queries) GetFilePathsByArtistMBID(ctx context.Context, mbid sql.NullString) ([]string, error) { rows, err := q.db.QueryContext(ctx, getFilePathsByArtistMBID, mbid) if err != nil { return nil, err } defer rows.Close() var items []string for rows.Next() { var file_path string if err := rows.Scan(&file_path); err != nil { return nil, err } items = append(items, file_path) } if err := rows.Close(); err != nil { return nil, err } if err := rows.Err(); err != nil { return nil, err } return items, nil } const getGenreNamesByFilePath = `-- name: GetGenreNamesByFilePath :many SELECT DISTINCT g.name FROM genres g JOIN recording_genres rg ON g.id = rg.genre_id JOIN recordings r ON rg.recording_id = r.id JOIN audio_files af ON af.recording_id = r.id WHERE af.file_path = ? ` func (q *Queries) GetGenreNamesByFilePath(ctx context.Context, filePath string) ([]string, error) { rows, err := q.db.QueryContext(ctx, getGenreNamesByFilePath, filePath) if err != nil { return nil, err } defer rows.Close() var items []string for rows.Next() { var name string if err := rows.Scan(&name); err != nil { return nil, err } items = append(items, name) } if err := rows.Close(); err != nil { return nil, err } if err := rows.Err(); err != nil { return nil, err } return items, nil }