diff --git a/api/endpoints.go b/api/endpoints.go index 478b434..22c2a8a 100644 --- a/api/endpoints.go +++ b/api/endpoints.go @@ -338,7 +338,7 @@ func handleUpdateAll(w http.ResponseWriter, r *http.Request) { } } - existingPlaytime, err := db.RetrievePlaytime(uuid) + existingPlaytime, err := savedata.GetPlaytime(uuid) if err != nil && !errors.Is(err, sql.ErrNoRows) { httpError(w, r, fmt.Errorf("failed to retrieve playtime: %s", err), http.StatusInternalServerError) return @@ -440,7 +440,7 @@ func handleSystem(w http.ResponseWriter, r *http.Request) { return } - existingPlaytime, err := db.RetrievePlaytime(uuid) + existingPlaytime, err := savedata.GetPlaytime(uuid) if err != nil && !errors.Is(err, sql.ErrNoRows) { httpError(w, r, fmt.Errorf("failed to retrieve playtime: %s", err), http.StatusInternalServerError) return diff --git a/api/savedata/system.go b/api/savedata/system.go index 1952eb0..68410fd 100644 --- a/api/savedata/system.go +++ b/api/savedata/system.go @@ -71,3 +71,12 @@ func DeleteSystem(uuid []byte) error { return nil } + +func GetPlaytime(uuid []byte) (int, error) { + system, err := GetSystem(uuid) + if err != nil { + return 0, err + } + + return int(system.GameStats.(map[string]interface{})["playTime"].(float64)), nil +} diff --git a/db/savedata.go b/db/savedata.go index de4f510..a008494 100644 --- a/db/savedata.go +++ b/db/savedata.go @@ -211,15 +211,6 @@ func DeleteSessionSaveData(uuid []byte, slot int) error { return nil } -func RetrievePlaytime(uuid []byte) (int, error) { - system, err := ReadSystemSaveData(uuid) - if err != nil { - return 0, err - } - - return int(system.GameStats.(map[string]interface{})["playTime"].(float64)), nil -} - func GetSystemSaveFromS3(uuid []byte) (defs.SystemSaveData, error) { var system defs.SystemSaveData