Skip to content

Commit 9302239

Browse files
committed
Serve newly created players to /api/new_players
1 parent 03a9de9 commit 9302239

File tree

2 files changed

+38
-0
lines changed

2 files changed

+38
-0
lines changed

api/new_players.go

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
package api
2+
3+
import (
4+
"net/http"
5+
"wwfc/database"
6+
)
7+
8+
type NewPlayersRequest struct {
9+
Secret string `json:"secret"`
10+
ProfileID uint32 `json:"pid"`
11+
}
12+
13+
type NewPlayersResponse struct {
14+
Users []database.User
15+
Success bool
16+
Error string
17+
}
18+
19+
var NewPlayersRoute = MakeRouteSpec[NewPlayersRequest, NewPlayersResponse](
20+
true,
21+
"/api/new_players",
22+
func(_ any, _ bool, _ *http.Request) (any, int, error) {
23+
res := NewPlayersResponse{}
24+
res.Users = database.GetNewUsers()
25+
26+
return res, http.StatusOK, nil
27+
},
28+
http.MethodPost,
29+
)

database/login.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,13 @@ var (
3232
ErrCsnumMismatch = errors.New("csnum mismatch")
3333
)
3434

35+
var newUsers = []User{}
36+
37+
func GetNewUsers() []User {
38+
defer func() { newUsers = []User{} }()
39+
return newUsers
40+
}
41+
3542
func handleCsnum(pool *pgxpool.Pool, ctx context.Context, user *User, csnum string, lastIPAddress *string, ipAddress string) (bool, error) {
3643
success := false
3744
csnumList := ""
@@ -106,6 +113,8 @@ func LoginUserToGPCM(pool *pgxpool.Pool, ctx context.Context, userId uint64, gsb
106113
}
107114

108115
logging.Notice("DATABASE", "Created new GPCM user:", aurora.Cyan(userId), aurora.Cyan(gsbrcd), aurora.Cyan(user.ProfileId))
116+
117+
newUsers = append(newUsers, user)
109118
} else {
110119
var firstName *string
111120
var lastName *string

0 commit comments

Comments
 (0)