All checks were successful
Build / build (push) Successful in 2m35s
#2 - Added request to download the newest version of the app #3 - Added request to check progress during sync #4 - Now blocking all request while sync is in progress #5 - Implemented ants for thread pooling #6 - Changed the sync request to now only start the sync
224 lines
5.0 KiB
Go
224 lines
5.0 KiB
Go
// Code generated by sqlc. DO NOT EDIT.
|
|
// versions:
|
|
// sqlc v1.29.0
|
|
// source: song.sql
|
|
|
|
package repository
|
|
|
|
import (
|
|
"context"
|
|
)
|
|
|
|
const addHashToSong = `-- name: AddHashToSong :exec
|
|
UPDATE song SET hash=$1 where path=$2
|
|
`
|
|
|
|
type AddHashToSongParams struct {
|
|
Hash string `json:"hash"`
|
|
Path string `json:"path"`
|
|
}
|
|
|
|
func (q *Queries) AddHashToSong(ctx context.Context, arg AddHashToSongParams) error {
|
|
_, err := q.db.Exec(ctx, addHashToSong, arg.Hash, arg.Path)
|
|
return err
|
|
}
|
|
|
|
const addSong = `-- name: AddSong :exec
|
|
INSERT INTO song(game_id, song_name, path, file_name, hash) VALUES ($1, $2, $3, $4, $5)
|
|
`
|
|
|
|
type AddSongParams struct {
|
|
GameID int32 `json:"game_id"`
|
|
SongName string `json:"song_name"`
|
|
Path string `json:"path"`
|
|
FileName *string `json:"file_name"`
|
|
Hash string `json:"hash"`
|
|
}
|
|
|
|
func (q *Queries) AddSong(ctx context.Context, arg AddSongParams) error {
|
|
_, err := q.db.Exec(ctx, addSong,
|
|
arg.GameID,
|
|
arg.SongName,
|
|
arg.Path,
|
|
arg.FileName,
|
|
arg.Hash,
|
|
)
|
|
return err
|
|
}
|
|
|
|
const addSongPlayed = `-- name: AddSongPlayed :exec
|
|
UPDATE song SET times_played = times_played + 1
|
|
WHERE game_id = $1 AND song_name = $2
|
|
`
|
|
|
|
type AddSongPlayedParams struct {
|
|
GameID int32 `json:"game_id"`
|
|
SongName string `json:"song_name"`
|
|
}
|
|
|
|
func (q *Queries) AddSongPlayed(ctx context.Context, arg AddSongPlayedParams) error {
|
|
_, err := q.db.Exec(ctx, addSongPlayed, arg.GameID, arg.SongName)
|
|
return err
|
|
}
|
|
|
|
const checkSong = `-- name: CheckSong :one
|
|
SELECT COUNT(*) FROM song WHERE path = $1
|
|
`
|
|
|
|
func (q *Queries) CheckSong(ctx context.Context, path string) (int64, error) {
|
|
row := q.db.QueryRow(ctx, checkSong, path)
|
|
var count int64
|
|
err := row.Scan(&count)
|
|
return count, err
|
|
}
|
|
|
|
const checkSongWithHash = `-- name: CheckSongWithHash :one
|
|
SELECT COUNT(*) FROM song WHERE hash = $1
|
|
`
|
|
|
|
func (q *Queries) CheckSongWithHash(ctx context.Context, hash string) (int64, error) {
|
|
row := q.db.QueryRow(ctx, checkSongWithHash, hash)
|
|
var count int64
|
|
err := row.Scan(&count)
|
|
return count, err
|
|
}
|
|
|
|
const clearSongs = `-- name: ClearSongs :exec
|
|
DELETE FROM song
|
|
`
|
|
|
|
func (q *Queries) ClearSongs(ctx context.Context) error {
|
|
_, err := q.db.Exec(ctx, clearSongs)
|
|
return err
|
|
}
|
|
|
|
const clearSongsByGameId = `-- name: ClearSongsByGameId :exec
|
|
DELETE FROM song WHERE game_id = $1
|
|
`
|
|
|
|
func (q *Queries) ClearSongsByGameId(ctx context.Context, gameID int32) error {
|
|
_, err := q.db.Exec(ctx, clearSongsByGameId, gameID)
|
|
return err
|
|
}
|
|
|
|
const fetchAllSongs = `-- name: FetchAllSongs :many
|
|
SELECT game_id, song_name, path, times_played, hash, file_name FROM song
|
|
`
|
|
|
|
func (q *Queries) FetchAllSongs(ctx context.Context) ([]Song, error) {
|
|
rows, err := q.db.Query(ctx, fetchAllSongs)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
defer rows.Close()
|
|
var items []Song
|
|
for rows.Next() {
|
|
var i Song
|
|
if err := rows.Scan(
|
|
&i.GameID,
|
|
&i.SongName,
|
|
&i.Path,
|
|
&i.TimesPlayed,
|
|
&i.Hash,
|
|
&i.FileName,
|
|
); err != nil {
|
|
return nil, err
|
|
}
|
|
items = append(items, i)
|
|
}
|
|
if err := rows.Err(); err != nil {
|
|
return nil, err
|
|
}
|
|
return items, nil
|
|
}
|
|
|
|
const findSongsFromGame = `-- name: FindSongsFromGame :many
|
|
SELECT game_id, song_name, path, times_played, hash, file_name
|
|
FROM song
|
|
WHERE game_id = $1
|
|
`
|
|
|
|
func (q *Queries) FindSongsFromGame(ctx context.Context, gameID int32) ([]Song, error) {
|
|
rows, err := q.db.Query(ctx, findSongsFromGame, gameID)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
defer rows.Close()
|
|
var items []Song
|
|
for rows.Next() {
|
|
var i Song
|
|
if err := rows.Scan(
|
|
&i.GameID,
|
|
&i.SongName,
|
|
&i.Path,
|
|
&i.TimesPlayed,
|
|
&i.Hash,
|
|
&i.FileName,
|
|
); err != nil {
|
|
return nil, err
|
|
}
|
|
items = append(items, i)
|
|
}
|
|
if err := rows.Err(); err != nil {
|
|
return nil, err
|
|
}
|
|
return items, nil
|
|
}
|
|
|
|
const getSongWithHash = `-- name: GetSongWithHash :one
|
|
SELECT game_id, song_name, path, times_played, hash, file_name FROM song WHERE hash = $1
|
|
`
|
|
|
|
func (q *Queries) GetSongWithHash(ctx context.Context, hash string) (Song, error) {
|
|
row := q.db.QueryRow(ctx, getSongWithHash, hash)
|
|
var i Song
|
|
err := row.Scan(
|
|
&i.GameID,
|
|
&i.SongName,
|
|
&i.Path,
|
|
&i.TimesPlayed,
|
|
&i.Hash,
|
|
&i.FileName,
|
|
)
|
|
return i, err
|
|
}
|
|
|
|
const removeBrokenSong = `-- name: RemoveBrokenSong :exec
|
|
DELETE FROM song WHERE path = $1
|
|
`
|
|
|
|
func (q *Queries) RemoveBrokenSong(ctx context.Context, path string) error {
|
|
_, err := q.db.Exec(ctx, removeBrokenSong, path)
|
|
return err
|
|
}
|
|
|
|
const removeBrokenSongs = `-- name: RemoveBrokenSongs :exec
|
|
DELETE FROM song where path = any ($1)
|
|
`
|
|
|
|
func (q *Queries) RemoveBrokenSongs(ctx context.Context, paths []string) error {
|
|
_, err := q.db.Exec(ctx, removeBrokenSongs, paths)
|
|
return err
|
|
}
|
|
|
|
const updateSong = `-- name: UpdateSong :exec
|
|
UPDATE song SET song_name=$1, file_name=$2, path=$3 where hash=$4
|
|
`
|
|
|
|
type UpdateSongParams struct {
|
|
SongName string `json:"song_name"`
|
|
FileName *string `json:"file_name"`
|
|
Path string `json:"path"`
|
|
Hash string `json:"hash"`
|
|
}
|
|
|
|
func (q *Queries) UpdateSong(ctx context.Context, arg UpdateSongParams) error {
|
|
_, err := q.db.Exec(ctx, updateSong,
|
|
arg.SongName,
|
|
arg.FileName,
|
|
arg.Path,
|
|
arg.Hash,
|
|
)
|
|
return err
|
|
}
|