// Code generated by sqlc. DO NOT EDIT. // versions: // sqlc v1.30.0 // source: queue.sql package sqlcgen import ( "context" "database/sql" ) const clearQueueTracks = `-- name: ClearQueueTracks :exec DELETE FROM queue_tracks ` func (q *Queries) ClearQueueTracks(ctx context.Context) error { _, err := q.db.ExecContext(ctx, clearQueueTracks) return err } const getQueueState = `-- name: GetQueueState :one SELECT current_position, shuffle_mode, repeat_mode, shuffle_order, source_type, source_id, source_label FROM queue WHERE id = 1 ` type GetQueueStateRow struct { CurrentPosition int64 ShuffleMode bool RepeatMode string ShuffleOrder sql.NullString SourceType string SourceID int64 SourceLabel string } func (q *Queries) GetQueueState(ctx context.Context) (GetQueueStateRow, error) { row := q.db.QueryRowContext(ctx, getQueueState) var i GetQueueStateRow err := row.Scan( &i.CurrentPosition, &i.ShuffleMode, &i.RepeatMode, &i.ShuffleOrder, &i.SourceType, &i.SourceID, &i.SourceLabel, ) return i, err } const getQueueTrackCount = `-- name: GetQueueTrackCount :one SELECT count(*) FROM queue_tracks ` func (q *Queries) GetQueueTrackCount(ctx context.Context) (int64, error) { row := q.db.QueryRowContext(ctx, getQueueTrackCount) var count int64 err := row.Scan(&count) return count, err } const getQueueTracks = `-- name: GetQueueTracks :many SELECT qt.id, qt.audio_file_id, qt.position, tm.file_path, tm.title, tm.artist_name AS artist, tm.album, tm.cover_art_path, tm.artist_mbid, tm.release_group_mbid, tm.recording_mbid FROM queue_tracks qt JOIN track_metadata tm ON tm.id = qt.audio_file_id ORDER BY qt.position ` type GetQueueTracksRow struct { ID int64 AudioFileID int64 Position int64 FilePath string Title string Artist string Album string CoverArtPath string ArtistMbid string ReleaseGroupMbid string RecordingMbid string } // The queue's rows, joined to the one track projection. func (q *Queries) GetQueueTracks(ctx context.Context) ([]GetQueueTracksRow, error) { rows, err := q.db.QueryContext(ctx, getQueueTracks) if err != nil { return nil, err } defer rows.Close() var items []GetQueueTracksRow for rows.Next() { var i GetQueueTracksRow if err := rows.Scan( &i.ID, &i.AudioFileID, &i.Position, &i.FilePath, &i.Title, &i.Artist, &i.Album, &i.CoverArtPath, &i.ArtistMbid, &i.ReleaseGroupMbid, &i.RecordingMbid, ); err != nil { return nil, err } items = append(items, i) } if err := rows.Close(); err != nil { return nil, err } if err := rows.Err(); err != nil { return nil, err } return items, nil } const insertQueueTrack = `-- name: InsertQueueTrack :one INSERT INTO queue_tracks (audio_file_id, position) VALUES (?, ?) RETURNING id, audio_file_id, position ` type InsertQueueTrackParams struct { AudioFileID int64 Position int64 } func (q *Queries) InsertQueueTrack(ctx context.Context, arg InsertQueueTrackParams) (QueueTrack, error) { row := q.db.QueryRowContext(ctx, insertQueueTrack, arg.AudioFileID, arg.Position) var i QueueTrack err := row.Scan(&i.ID, &i.AudioFileID, &i.Position) return i, err } const removeQueueTrack = `-- name: RemoveQueueTrack :exec DELETE FROM queue_tracks WHERE id = ? ` func (q *Queries) RemoveQueueTrack(ctx context.Context, id int64) error { _, err := q.db.ExecContext(ctx, removeQueueTrack, id) return err } const removeQueueTrackByPosition = `-- name: RemoveQueueTrackByPosition :exec DELETE FROM queue_tracks WHERE position = ? ` func (q *Queries) RemoveQueueTrackByPosition(ctx context.Context, position int64) error { _, err := q.db.ExecContext(ctx, removeQueueTrackByPosition, position) return err } const shiftQueuePositionsDown = `-- name: ShiftQueuePositionsDown :exec UPDATE queue_tracks SET position = position - 1 WHERE position > ? ` func (q *Queries) ShiftQueuePositionsDown(ctx context.Context, position int64) error { _, err := q.db.ExecContext(ctx, shiftQueuePositionsDown, position) return err } const shiftQueuePositionsUp = `-- name: ShiftQueuePositionsUp :exec UPDATE queue_tracks SET position = position + 1 WHERE position >= ? ` func (q *Queries) ShiftQueuePositionsUp(ctx context.Context, position int64) error { _, err := q.db.ExecContext(ctx, shiftQueuePositionsUp, position) return err } const updateQueuePosition = `-- name: UpdateQueuePosition :exec UPDATE queue SET current_position = ? WHERE id = 1 ` func (q *Queries) UpdateQueuePosition(ctx context.Context, currentPosition int64) error { _, err := q.db.ExecContext(ctx, updateQueuePosition, currentPosition) return err } const updateQueueState = `-- name: UpdateQueueState :exec UPDATE queue SET current_position = ?, shuffle_mode = ?, repeat_mode = ?, shuffle_order = ?, source_type = ?, source_id = ?, source_label = ? WHERE id = 1 ` type UpdateQueueStateParams struct { CurrentPosition int64 ShuffleMode bool RepeatMode string ShuffleOrder sql.NullString SourceType string SourceID int64 SourceLabel string } func (q *Queries) UpdateQueueState(ctx context.Context, arg UpdateQueueStateParams) error { _, err := q.db.ExecContext(ctx, updateQueueState, arg.CurrentPosition, arg.ShuffleMode, arg.RepeatMode, arg.ShuffleOrder, arg.SourceType, arg.SourceID, arg.SourceLabel, ) return err }