#1 - Created request to check newest version of the app
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
This commit is contained in:
2025-08-23 11:36:03 +02:00
parent 0d1c69d95e
commit 806e88adeb
26 changed files with 673 additions and 675 deletions

View File

@@ -21,13 +21,10 @@ type SongInfo struct {
var currentSong = -1
// var games []models.GameData
var gamesNew []repository.Game
// var songQue []models.SongData
var songQueNew []repository.Song
// var lastFetched models.SongData
var lastFetchedNew repository.Song
var repo *repository.Queries
@@ -60,7 +57,6 @@ func Reset() {
currentSong = -1
initRepo()
gamesNew, _ = repo.FindAllGames(db.Ctx)
//games = db.FindAllGames()
}
func AddLatestToQue() {
@@ -80,8 +76,6 @@ func AddLatestPlayed() {
initRepo()
repo.AddGamePlayed(db.Ctx, currentSongData.GameID)
repo.AddSongPlayed(db.Ctx, repository.AddSongPlayedParams{GameID: currentSongData.GameID, SongName: currentSongData.SongName})
//db.AddGamePlayed(currentSongData.GameId)
//db.AddSongPlayed(currentSongData.GameId, currentSongData.SongName)
}
func SetPlayed(songNumber int) {
@@ -92,14 +86,9 @@ func SetPlayed(songNumber int) {
initRepo()
repo.AddGamePlayed(db.Ctx, songData.GameID)
repo.AddSongPlayed(db.Ctx, repository.AddSongPlayedParams{GameID: songData.GameID, SongName: songData.SongName})
//db.AddGamePlayed(songData.GameId)
//db.AddSongPlayed(songData.GameId, songData.SongName)
}
func GetRandomSong() string {
/*if len(games) == 0 {
games = db.FindAllGames()
}*/
getAllGames()
if len(gamesNew) == 0 {
return ""
@@ -111,12 +100,8 @@ func GetRandomSong() string {
}
func GetRandomSongLowChance() string {
/*if len(games) == 0 {
games = db.FindAllGames()
}*/
getAllGames()
//var listOfGames []models.GameData
var listOfGames []repository.Game
var averagePlayed = getAveragePlayed()
@@ -139,15 +124,10 @@ func GetRandomSongLowChance() string {
}
func GetRandomSongClassic() string {
/*if games == nil || len(games) == 0 {
games = db.FindAllGames()
}*/
getAllGames()
var listOfAllSongs []repository.Song
for _, game := range gamesNew {
//listOfAllSongs = append(listOfAllSongs, db.FindSongsFromGame(game.Id)...)
songList, _ := repo.FindSongsFromGame(db.Ctx, game.ID)
listOfAllSongs = append(listOfAllSongs, songList...)
}
@@ -156,13 +136,10 @@ func GetRandomSongClassic() string {
var song repository.Song
for !songFound {
song = listOfAllSongs[rand.Intn(len(listOfAllSongs))]
//gameData, err := db.GetGameById(song.GameId)
gameData, err := repo.GetGameById(db.Ctx, song.GameID)
if err != nil {
//db.RemoveBrokenSong(song)
repo.RemoveBrokenSong(db.Ctx, song.Path)
//log.Println("Song not found, song '" + song.SongName + "' deleted from game '" + gameData.GameName + "' FileName: " + song.FileName)
log.Printf("Song not found, song '%s' deleted from game '%s' FileName: %v\n", song.SongName, gameData.GameName, song.FileName)
continue
}
@@ -171,9 +148,7 @@ func GetRandomSongClassic() string {
openFile, err := os.Open(song.Path)
if err != nil || (song.FileName != nil && gameData.Path+*song.FileName != song.Path) {
//File not found
//db.RemoveBrokenSong(song)
repo.RemoveBrokenSong(db.Ctx, song.Path)
//log.Println("Song not found, song '" + song.SongName + "' deleted from game '" + gameData.GameName + "' FileName: " + song.FileName)
log.Printf("Song not found, song '%s' deleted from game '%s' FileName: %v\n", song.SongName, gameData.GameName, song.FileName)
} else {
songFound = true
@@ -234,9 +209,6 @@ func GetSong(song string) string {
}
func GetAllGames() []string {
/*if games == nil || len(games) == 0 {
games = db.FindAllGames()
}*/
getAllGames()
var jsonArray []string
@@ -247,9 +219,6 @@ func GetAllGames() []string {
}
func GetAllGamesRandom() []string {
/*if games == nil || len(games) == 0 {
games = db.FindAllGames()
}*/
getAllGames()
var jsonArray []string
@@ -293,10 +262,7 @@ func getSongFromList(games []repository.Game) repository.Song {
var song repository.Song
for !songFound {
game := getRandomGame(games)
//log.Println("game = ", game)
//songs := db.FindSongsFromGame(game.Id)
songs, _ := repo.FindSongsFromGame(db.Ctx, game.ID)
//log.Println("songs = ", songs)
if len(songs) == 0 {
continue
}
@@ -305,14 +271,9 @@ func getSongFromList(games []repository.Game) repository.Song {
//Check if file exists and open
openFile, err := os.Open(song.Path)
//log.Println("game.Path+song.FileName: ", game.Path+song.FileName)
//log.Println("song.Path: ", song.Path)
//log.Println("game.Path+song.FileName != song.Path: ", game.Path+song.FileName != song.Path)
if err != nil || (song.FileName != nil && game.Path+*song.FileName != song.Path) || (song.FileName != nil && strings.HasSuffix(*song.FileName, ".wav")) {
//File not found
//db.RemoveBrokenSong(song)
repo.RemoveBrokenSong(db.Ctx, song.Path)
//log.Println("Song not found, song '" + song.SongName + "' deleted from game '" + game.GameName + "' FileName: " + song.FileName)
log.Printf("Song not found, song '%s' deleted from game '%s' FileName: %v\n", song.SongName, game.GameName, song.FileName)
} else {
songFound = true