// Code generated by sqlc. DO NOT EDIT. // versions: // sqlc v1.30.0 // source: genres.sql package sqlcgen import ( "context" ) const createRecordingGenre = `-- name: CreateRecordingGenre :exec INSERT OR IGNORE INTO recording_genres (recording_id, genre_id) VALUES (?, ?) ` type CreateRecordingGenreParams struct { RecordingID int64 GenreID int64 } func (q *Queries) CreateRecordingGenre(ctx context.Context, arg CreateRecordingGenreParams) error { _, err := q.db.ExecContext(ctx, createRecordingGenre, arg.RecordingID, arg.GenreID) return err } const deleteAllGenres = `-- name: DeleteAllGenres :exec DELETE FROM genres ` func (q *Queries) DeleteAllGenres(ctx context.Context) error { _, err := q.db.ExecContext(ctx, deleteAllGenres) return err } const deleteAllRecordingGenres = `-- name: DeleteAllRecordingGenres :exec DELETE FROM recording_genres ` func (q *Queries) DeleteAllRecordingGenres(ctx context.Context) error { _, err := q.db.ExecContext(ctx, deleteAllRecordingGenres) return err } const deleteRecordingGenres = `-- name: DeleteRecordingGenres :exec DELETE FROM recording_genres WHERE recording_id = ? ` func (q *Queries) DeleteRecordingGenres(ctx context.Context, recordingID int64) error { _, err := q.db.ExecContext(ctx, deleteRecordingGenres, recordingID) return err } const getGenresByRecordingID = `-- name: GetGenresByRecordingID :many SELECT g.id, g.name FROM genres g JOIN recording_genres rg ON g.id = rg.genre_id WHERE rg.recording_id = ? ` func (q *Queries) GetGenresByRecordingID(ctx context.Context, recordingID int64) ([]Genre, error) { rows, err := q.db.QueryContext(ctx, getGenresByRecordingID, recordingID) if err != nil { return nil, err } defer rows.Close() var items []Genre for rows.Next() { var i Genre if err := rows.Scan(&i.ID, &i.Name); 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 upsertGenre = `-- name: UpsertGenre :one INSERT INTO genres (name) VALUES (?) ON CONFLICT(name) DO UPDATE SET name = name RETURNING id, name ` func (q *Queries) UpsertGenre(ctx context.Context, name string) (Genre, error) { row := q.db.QueryRowContext(ctx, upsertGenre, name) var i Genre err := row.Scan(&i.ID, &i.Name) return i, err }