Added a new sync that uses hash

Added a new sync that uses hash and sqlc for the queries. Added db
migration. Started adding a config file.
This commit is contained in:
2024-12-19 12:11:20 +01:00
parent 8fa93d580d
commit 5ab19e16e5
26 changed files with 1527 additions and 45 deletions

View File

@@ -12,7 +12,7 @@ import (
func GetGameName(gameId int) string {
var gameName = ""
err := dbpool.QueryRow(ctx,
err := Dbpool.QueryRow(Ctx,
"SELECT game_name FROM game WHERE id = $1", gameId).Scan(&gameName)
if err != nil {
if compareError.Error() != err.Error() {
@@ -28,7 +28,7 @@ func GetGameById(gameId int) (models.GameData, error) {
var numberOfSongs pgtype.Int4
var gameName, path string
var added, deleted, lastChanged, lastPlayed pgtype.Timestamp
err := dbpool.QueryRow(ctx,
err := Dbpool.QueryRow(Ctx,
"SELECT id, game_name, added, deleted, last_changed, path, times_played, last_played, number_of_songs "+
"FROM game WHERE id = $1 AND deleted IS NULL ", gameId).Scan(&id, &gameName, &added, &deleted, &lastChanged, &path, &timesPlayed, &lastPlayed, &numberOfSongs)
if err != nil {
@@ -51,7 +51,7 @@ func GetGameById(gameId int) (models.GameData, error) {
}
func SetGameDeletionDate() {
_, err := dbpool.Exec(ctx,
_, err := Dbpool.Exec(Ctx,
"UPDATE game SET deleted=$1 WHERE deleted IS NULL", time.Now())
if err != nil {
_, _ = fmt.Fprintf(os.Stderr, "Exec failed: %v\n", err)
@@ -59,14 +59,14 @@ func SetGameDeletionDate() {
}
func ClearGames() {
_, err := dbpool.Exec(ctx, "DELETE FROM game")
_, err := Dbpool.Exec(Ctx, "DELETE FROM game")
if err != nil {
_, _ = fmt.Fprintf(os.Stderr, "Exec failed: %v\n", err)
}
}
func UpdateGameName(id int, name string, path string) {
_, err := dbpool.Exec(ctx,
_, err := Dbpool.Exec(Ctx,
"UPDATE game SET game_name=$1, path=$2, last_changed=$3 WHERE id=$4",
name, path, time.Now(), id)
if err != nil {
@@ -75,7 +75,7 @@ func UpdateGameName(id int, name string, path string) {
}
func RemoveDeletionDate(id int) {
_, err := dbpool.Exec(ctx,
_, err := Dbpool.Exec(Ctx,
"UPDATE game SET deleted=null WHERE id=$1", id)
if err != nil {
_, _ = fmt.Fprintf(os.Stderr, "Exec failed: %v\n", err)
@@ -84,7 +84,7 @@ func RemoveDeletionDate(id int) {
func GetIdByGameName(name string) int {
var gameId = -1
err := dbpool.QueryRow(ctx,
err := Dbpool.QueryRow(Ctx,
"SELECT id FROM game WHERE game_name = $1", name).Scan(&gameId)
if err != nil {
if compareError.Error() != err.Error() {
@@ -97,7 +97,7 @@ func GetIdByGameName(name string) int {
func InsertGame(name string, path string) int {
gameId := -1
err := dbpool.QueryRow(ctx,
err := Dbpool.QueryRow(Ctx,
"INSERT INTO game(game_name, path, added) VALUES ($1, $2, $3) RETURNING id",
name, path, time.Now()).Scan(&gameId)
if err != nil {
@@ -105,7 +105,7 @@ func InsertGame(name string, path string) int {
_, _ = fmt.Fprintf(os.Stderr, "QueryRow failed: %v\n", err)
}
resetGameIdSeq()
err2 := dbpool.QueryRow(ctx,
err2 := Dbpool.QueryRow(Ctx,
"INSERT INTO game(game_name, path, added) VALUES ($1, $2, $3) RETURNING id",
name, path, time.Now()).Scan(&gameId)
if err2 != nil {
@@ -119,7 +119,7 @@ func InsertGame(name string, path string) int {
}
func InsertGameWithExistingId(id int, name string, path string) {
_, err := dbpool.Exec(ctx,
_, err := Dbpool.Exec(Ctx,
"INSERT INTO game(id, game_name, path, added) VALUES ($1, $2, $3, $4)",
id, name, path, time.Now())
if err != nil {
@@ -128,7 +128,7 @@ func InsertGameWithExistingId(id int, name string, path string) {
}
func FindAllGames() []models.GameData {
rows, err := dbpool.Query(ctx,
rows, err := Dbpool.Query(Ctx,
"SELECT id, game_name, added, deleted, last_changed, path, times_played, last_played, number_of_songs "+
"FROM game WHERE deleted IS NULL "+
"ORDER BY game_name")
@@ -165,7 +165,7 @@ func FindAllGames() []models.GameData {
}
func AddGamePlayed(id int) {
_, err := dbpool.Exec(ctx,
_, err := Dbpool.Exec(Ctx,
"UPDATE game SET times_played=times_played+1, last_played=now() WHERE id=$1", id)
if err != nil {
_, _ = fmt.Fprintf(os.Stderr, "Exec failed: %v\n", err)