Skip to content

Commit

Permalink
Merge branch 'pagefaultgames:master' into fix_changepw_sql
Browse files Browse the repository at this point in the history
  • Loading branch information
ThisIsAreku authored Jun 8, 2024
2 parents e202a3e + 656a935 commit fe0e736
Show file tree
Hide file tree
Showing 16 changed files with 324 additions and 545 deletions.
3 changes: 2 additions & 1 deletion api/account/login.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ import (
"crypto/rand"
"database/sql"
"encoding/base64"
"errors"
"fmt"

"github.com/pagefaultgames/rogueserver/db"
Expand All @@ -43,7 +44,7 @@ func Login(username, password string) (LoginResponse, error) {

key, salt, err := db.FetchAccountKeySaltFromUsername(username)
if err != nil {
if err == sql.ErrNoRows {
if errors.Is(err, sql.ErrNoRows) {
return response, fmt.Errorf("account doesn't exist")
}

Expand Down
41 changes: 28 additions & 13 deletions api/common.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,18 +21,22 @@ import (
"encoding/base64"
"encoding/json"
"fmt"
"log"
"net/http"

"github.com/pagefaultgames/rogueserver/api/account"
"github.com/pagefaultgames/rogueserver/api/daily"
"github.com/pagefaultgames/rogueserver/db"
"log"
"net/http"
)

func Init(mux *http.ServeMux) error {
if err := scheduleStatRefresh(); err != nil {
err := scheduleStatRefresh()
if err != nil {
return err
}
if err := daily.Init(); err != nil {

err = daily.Init()
if err != nil {
return err
}

Expand All @@ -48,22 +52,29 @@ func Init(mux *http.ServeMux) error {
mux.HandleFunc("GET /game/classicsessioncount", handleGameClassicSessionCount)

// savedata
mux.HandleFunc("GET /savedata/get", legacyHandleGetSaveData)
mux.HandleFunc("POST /savedata/update", legacyHandleSaveData)
mux.HandleFunc("GET /savedata/delete", legacyHandleSaveData) // TODO use deleteSystemSave
mux.HandleFunc("POST /savedata/clear", legacyHandleSaveData) // TODO use clearSessionData
mux.HandleFunc("POST /savedata/update", legacyHandleSaveData) // DEPRECATED: use PUT method
mux.HandleFunc("GET /savedata/delete", legacyHandleSaveData) // DEPRECATED: use DELETE method
mux.HandleFunc("POST /savedata/clear", legacyHandleSaveData) // TODO: use clearSessionData
mux.HandleFunc("GET /savedata/newclear", legacyHandleNewClear)

// new session
mux.HandleFunc("POST /savedata/updateall", handleUpdateAll)
mux.HandleFunc("POST /savedata/updateall", handleUpdateAll) // DEPRECATED: use PUT method
mux.HandleFunc("PUT /savedata/updateall", handleUpdateAll)

mux.HandleFunc("GET /savedata/system", handleSystem)
mux.HandleFunc("PUT /savedata/system", handleSystem)
mux.HandleFunc("DELETE /savedata/system", handleSystem)
mux.HandleFunc("POST /savedata/system/verify", handleSystemVerify)
mux.HandleFunc("GET /savedata/system", handleGetSystemData)
mux.HandleFunc("GET /savedata/session", handleGetSessionData)

mux.HandleFunc("GET /savedata/session", handleSession)
mux.HandleFunc("PUT /savedata/session", handleSession)
mux.HandleFunc("DELETE /savedata/session", handleSession)

// daily
mux.HandleFunc("GET /daily/seed", handleDailySeed)
mux.HandleFunc("GET /daily/rankings", handleDailyRankings)
mux.HandleFunc("GET /daily/rankingpagecount", handleDailyRankingPageCount)

return nil
}

Expand All @@ -86,7 +97,11 @@ func tokenFromRequest(r *http.Request) ([]byte, error) {

func uuidFromRequest(r *http.Request) ([]byte, error) {
_, uuid, err := tokenAndUuidFromRequest(r)
return uuid, err
if err != nil {
return nil, err
}

return uuid, nil
}

func tokenAndUuidFromRequest(r *http.Request) ([]byte, []byte, error) {
Expand All @@ -108,7 +123,7 @@ func httpError(w http.ResponseWriter, r *http.Request, err error, code int) {
http.Error(w, err.Error(), code)
}

func jsonResponse(w http.ResponseWriter, r *http.Request, data any) {
func writeJSON(w http.ResponseWriter, r *http.Request, data any) {
w.Header().Set("Content-Type", "application/json")
err := json.NewEncoder(w).Encode(data)
if err != nil {
Expand Down
8 changes: 2 additions & 6 deletions api/daily/common.go
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ func Init() error {
secret = newSecret
}

seed, err := recordNewDaily()
seed, err := db.TryAddDailyRun(Seed())
if err != nil {
log.Print(err)
}
Expand All @@ -71,7 +71,7 @@ func Init() error {
_, err = scheduler.AddFunc("@daily", func() {
time.Sleep(time.Second)

seed, err = recordNewDaily()
seed, err = db.TryAddDailyRun(Seed())
if err != nil {
log.Printf("error while recording new daily: %s", err)
} else {
Expand Down Expand Up @@ -99,7 +99,3 @@ func deriveSeed(seedTime time.Time) []byte {

return hashedSeed[:]
}

func recordNewDaily() (string, error) {
return db.TryAddDailyRun(Seed())
}
Loading

0 comments on commit fe0e736

Please sign in to comment.