Added support for profiling. Removed the pkg module altogether. Everything except old sync is now using code generated by sqlc.
49 lines
1.1 KiB
Go
49 lines
1.1 KiB
Go
package server
|
|
|
|
import (
|
|
"log"
|
|
"music-server/internal/backend"
|
|
"music-server/internal/database"
|
|
"net/http"
|
|
|
|
"github.com/labstack/echo/v4"
|
|
)
|
|
|
|
type SyncHandler struct {
|
|
}
|
|
|
|
func NewSyncHandler() *SyncHandler {
|
|
return &SyncHandler{}
|
|
}
|
|
|
|
func (s *SyncHandler) SyncGames(ctx echo.Context) error {
|
|
database.SyncGames()
|
|
backend.Reset()
|
|
return ctx.JSON(http.StatusOK, "Games are synced")
|
|
}
|
|
|
|
func (s *SyncHandler) SyncGamesQuick(ctx echo.Context) error {
|
|
database.SyncGamesQuick()
|
|
backend.Reset()
|
|
return ctx.JSON(http.StatusOK, "Games are synced")
|
|
}
|
|
|
|
func (s *SyncHandler) SyncGamesNewOnlyChanges(ctx echo.Context) error {
|
|
log.Println("Syncing games new")
|
|
response := backend.SyncGamesNewOnlyChanges()
|
|
backend.Reset()
|
|
return ctx.JSON(http.StatusOK, response)
|
|
}
|
|
|
|
func (s *SyncHandler) SyncGamesNewFull(ctx echo.Context) error {
|
|
log.Println("Syncing games new full")
|
|
response := backend.SyncGamesNewFull()
|
|
backend.Reset()
|
|
return ctx.JSON(http.StatusOK, response)
|
|
}
|
|
|
|
func (s *SyncHandler) ResetGames(ctx echo.Context) error {
|
|
backend.ResetDB()
|
|
return ctx.JSON(http.StatusOK, "Games and songs are deleted from the database")
|
|
}
|