// Code generated by sqlc. DO NOT EDIT. // versions: // sqlc v1.31.1 // source: likes.sql package dbq import ( "context" "github.com/jackc/pgx/v5/pgtype" ) const countLikedAlbums = `-- name: CountLikedAlbums :one SELECT count(*) FROM general_likes_albums WHERE user_id = $1 ` func (q *Queries) CountLikedAlbums(ctx context.Context, userID pgtype.UUID) (int64, error) { row := q.db.QueryRow(ctx, countLikedAlbums, userID) var count int64 err := row.Scan(&count) return count, err } const countLikedArtists = `-- name: CountLikedArtists :one SELECT count(*) FROM general_likes_artists WHERE user_id = $1 ` func (q *Queries) CountLikedArtists(ctx context.Context, userID pgtype.UUID) (int64, error) { row := q.db.QueryRow(ctx, countLikedArtists, userID) var count int64 err := row.Scan(&count) return count, err } const countLikedTracks = `-- name: CountLikedTracks :one SELECT count(*) FROM general_likes WHERE user_id = $1 ` func (q *Queries) CountLikedTracks(ctx context.Context, userID pgtype.UUID) (int64, error) { row := q.db.QueryRow(ctx, countLikedTracks, userID) var count int64 err := row.Scan(&count) return count, err } const likeAlbum = `-- name: LikeAlbum :exec INSERT INTO general_likes_albums (user_id, album_id) VALUES ($1, $2) ON CONFLICT (user_id, album_id) DO NOTHING ` type LikeAlbumParams struct { UserID pgtype.UUID AlbumID pgtype.UUID } func (q *Queries) LikeAlbum(ctx context.Context, arg LikeAlbumParams) error { _, err := q.db.Exec(ctx, likeAlbum, arg.UserID, arg.AlbumID) return err } const likeArtist = `-- name: LikeArtist :exec INSERT INTO general_likes_artists (user_id, artist_id) VALUES ($1, $2) ON CONFLICT (user_id, artist_id) DO NOTHING ` type LikeArtistParams struct { UserID pgtype.UUID ArtistID pgtype.UUID } func (q *Queries) LikeArtist(ctx context.Context, arg LikeArtistParams) error { _, err := q.db.Exec(ctx, likeArtist, arg.UserID, arg.ArtistID) return err } const likeTrack = `-- name: LikeTrack :execrows INSERT INTO general_likes (user_id, track_id) VALUES ($1, $2) ON CONFLICT (user_id, track_id) DO NOTHING ` type LikeTrackParams struct { UserID pgtype.UUID TrackID pgtype.UUID } func (q *Queries) LikeTrack(ctx context.Context, arg LikeTrackParams) (int64, error) { result, err := q.db.Exec(ctx, likeTrack, arg.UserID, arg.TrackID) if err != nil { return 0, err } return result.RowsAffected(), nil } const listLikedAlbumIDs = `-- name: ListLikedAlbumIDs :many SELECT album_id FROM general_likes_albums WHERE user_id = $1 ORDER BY liked_at DESC ` func (q *Queries) ListLikedAlbumIDs(ctx context.Context, userID pgtype.UUID) ([]pgtype.UUID, error) { rows, err := q.db.Query(ctx, listLikedAlbumIDs, userID) if err != nil { return nil, err } defer rows.Close() var items []pgtype.UUID for rows.Next() { var album_id pgtype.UUID if err := rows.Scan(&album_id); err != nil { return nil, err } items = append(items, album_id) } if err := rows.Err(); err != nil { return nil, err } return items, nil } const listLikedAlbumRows = `-- name: ListLikedAlbumRows :many SELECT a.id, a.title, a.sort_title, a.artist_id, a.release_date, a.mbid, a.cover_art_path, a.created_at, a.updated_at, a.cover_art_source, a.cover_art_sources_version FROM albums a JOIN general_likes_albums l ON l.album_id = a.id WHERE l.user_id = $1 ORDER BY l.liked_at DESC LIMIT $2 OFFSET $3 ` type ListLikedAlbumRowsParams struct { UserID pgtype.UUID Limit int32 Offset int32 } func (q *Queries) ListLikedAlbumRows(ctx context.Context, arg ListLikedAlbumRowsParams) ([]Album, error) { rows, err := q.db.Query(ctx, listLikedAlbumRows, arg.UserID, arg.Limit, arg.Offset) if err != nil { return nil, err } defer rows.Close() var items []Album for rows.Next() { var i Album if err := rows.Scan( &i.ID, &i.Title, &i.SortTitle, &i.ArtistID, &i.ReleaseDate, &i.Mbid, &i.CoverArtPath, &i.CreatedAt, &i.UpdatedAt, &i.CoverArtSource, &i.CoverArtSourcesVersion, ); err != nil { return nil, err } items = append(items, i) } if err := rows.Err(); err != nil { return nil, err } return items, nil } const listLikedArtistIDs = `-- name: ListLikedArtistIDs :many SELECT artist_id FROM general_likes_artists WHERE user_id = $1 ORDER BY liked_at DESC ` func (q *Queries) ListLikedArtistIDs(ctx context.Context, userID pgtype.UUID) ([]pgtype.UUID, error) { rows, err := q.db.Query(ctx, listLikedArtistIDs, userID) if err != nil { return nil, err } defer rows.Close() var items []pgtype.UUID for rows.Next() { var artist_id pgtype.UUID if err := rows.Scan(&artist_id); err != nil { return nil, err } items = append(items, artist_id) } if err := rows.Err(); err != nil { return nil, err } return items, nil } const listLikedArtistRows = `-- name: ListLikedArtistRows :many SELECT a.id, a.name, a.sort_name, a.mbid, a.created_at, a.updated_at, a.artist_thumb_path, a.artist_fanart_path, a.artist_art_source, a.artist_art_sources_version FROM artists a JOIN general_likes_artists l ON l.artist_id = a.id WHERE l.user_id = $1 ORDER BY l.liked_at DESC LIMIT $2 OFFSET $3 ` type ListLikedArtistRowsParams struct { UserID pgtype.UUID Limit int32 Offset int32 } func (q *Queries) ListLikedArtistRows(ctx context.Context, arg ListLikedArtistRowsParams) ([]Artist, error) { rows, err := q.db.Query(ctx, listLikedArtistRows, arg.UserID, arg.Limit, arg.Offset) if err != nil { return nil, err } defer rows.Close() var items []Artist for rows.Next() { var i Artist if err := rows.Scan( &i.ID, &i.Name, &i.SortName, &i.Mbid, &i.CreatedAt, &i.UpdatedAt, &i.ArtistThumbPath, &i.ArtistFanartPath, &i.ArtistArtSource, &i.ArtistArtSourcesVersion, ); err != nil { return nil, err } items = append(items, i) } if err := rows.Err(); err != nil { return nil, err } return items, nil } const listLikedTrackIDs = `-- name: ListLikedTrackIDs :many SELECT track_id FROM general_likes WHERE user_id = $1 ORDER BY liked_at DESC ` func (q *Queries) ListLikedTrackIDs(ctx context.Context, userID pgtype.UUID) ([]pgtype.UUID, error) { rows, err := q.db.Query(ctx, listLikedTrackIDs, userID) if err != nil { return nil, err } defer rows.Close() var items []pgtype.UUID for rows.Next() { var track_id pgtype.UUID if err := rows.Scan(&track_id); err != nil { return nil, err } items = append(items, track_id) } if err := rows.Err(); err != nil { return nil, err } return items, nil } const listLikedTrackRows = `-- name: ListLikedTrackRows :many SELECT t.id, t.title, t.album_id, t.artist_id, t.track_number, t.disc_number, t.duration_ms, t.file_path, t.file_size, t.file_format, t.bitrate, t.mbid, t.genre, t.added_at, t.updated_at FROM tracks t JOIN general_likes l ON l.track_id = t.id WHERE l.user_id = $1 ORDER BY l.liked_at DESC LIMIT $2 OFFSET $3 ` type ListLikedTrackRowsParams struct { UserID pgtype.UUID Limit int32 Offset int32 } func (q *Queries) ListLikedTrackRows(ctx context.Context, arg ListLikedTrackRowsParams) ([]Track, error) { rows, err := q.db.Query(ctx, listLikedTrackRows, arg.UserID, arg.Limit, arg.Offset) if err != nil { return nil, err } defer rows.Close() var items []Track for rows.Next() { var i Track if err := rows.Scan( &i.ID, &i.Title, &i.AlbumID, &i.ArtistID, &i.TrackNumber, &i.DiscNumber, &i.DurationMs, &i.FilePath, &i.FileSize, &i.FileFormat, &i.Bitrate, &i.Mbid, &i.Genre, &i.AddedAt, &i.UpdatedAt, ); err != nil { return nil, err } items = append(items, i) } if err := rows.Err(); err != nil { return nil, err } return items, nil } const unlikeAlbum = `-- name: UnlikeAlbum :exec DELETE FROM general_likes_albums WHERE user_id = $1 AND album_id = $2 ` type UnlikeAlbumParams struct { UserID pgtype.UUID AlbumID pgtype.UUID } func (q *Queries) UnlikeAlbum(ctx context.Context, arg UnlikeAlbumParams) error { _, err := q.db.Exec(ctx, unlikeAlbum, arg.UserID, arg.AlbumID) return err } const unlikeArtist = `-- name: UnlikeArtist :exec DELETE FROM general_likes_artists WHERE user_id = $1 AND artist_id = $2 ` type UnlikeArtistParams struct { UserID pgtype.UUID ArtistID pgtype.UUID } func (q *Queries) UnlikeArtist(ctx context.Context, arg UnlikeArtistParams) error { _, err := q.db.Exec(ctx, unlikeArtist, arg.UserID, arg.ArtistID) return err } const unlikeTrack = `-- name: UnlikeTrack :exec DELETE FROM general_likes WHERE user_id = $1 AND track_id = $2 ` type UnlikeTrackParams struct { UserID pgtype.UUID TrackID pgtype.UUID } func (q *Queries) UnlikeTrack(ctx context.Context, arg UnlikeTrackParams) error { _, err := q.db.Exec(ctx, unlikeTrack, arg.UserID, arg.TrackID) return err }