diff --git a/go.mod b/go.mod index 33994ddbfba68a3493dea9eacf7f0c5395348fd5..8e800b6193470ce29fb9ae04991039a0d13b50d3 100644 --- a/go.mod +++ b/go.mod @@ -14,7 +14,7 @@ require ( github.com/gorilla/mux v1.8.0 github.com/gorilla/websocket v1.5.0 github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 - github.com/heroiclabs/nakama-common v1.27.1-0.20230719211805-4a0b1607e954 + github.com/heroiclabs/nakama-common v1.28.0 github.com/jackc/pgconn v1.14.0 github.com/jackc/pgerrcode v0.0.0-20220416144525-469b46aa5efa github.com/jackc/pgtype v1.14.0 diff --git a/go.sum b/go.sum index c9c79f9dcad1e37f46036280c2d3a91105c3c18c..e148cc13e5621aa0ceb8581ea9cc5d6975fe25ee 100644 --- a/go.sum +++ b/go.sum @@ -292,8 +292,8 @@ github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= -github.com/heroiclabs/nakama-common v1.27.1-0.20230719211805-4a0b1607e954 h1:EmN/6DD1kVt07sKIM3pFuD5yRCmWmwQmuFvPxea+9q0= -github.com/heroiclabs/nakama-common v1.27.1-0.20230719211805-4a0b1607e954/go.mod h1:Os8XeXGvHAap/p6M/8fQ3gle4eEXDGRQmoRNcPQTjXs= +github.com/heroiclabs/nakama-common v1.28.0 h1:oj6voT/3xOkOjeWzPVkrH0ATakZT6WNLL6i6kD6dqlE= +github.com/heroiclabs/nakama-common v1.28.0/go.mod h1:Os8XeXGvHAap/p6M/8fQ3gle4eEXDGRQmoRNcPQTjXs= github.com/huandu/xstrings v1.3.1/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= github.com/huandu/xstrings v1.3.2/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= diff --git a/server/runtime_javascript_nakama.go b/server/runtime_javascript_nakama.go index 8a9051d74f41d51948ba17b9d92d31ad6793d434..2d1b9e63d2a4933a4a586b9e156dcfc658773ac0 100644 --- a/server/runtime_javascript_nakama.go +++ b/server/runtime_javascript_nakama.go @@ -5195,7 +5195,7 @@ func (n *runtimeJavascriptNakamaModule) leaderboardRecordsList(r *goja.Runtime) panic(r.NewGoError(fmt.Errorf("error listing leaderboard records: %v", err.Error()))) } - return leaderboardRecordsListToJs(r, records.Records, records.OwnerRecords, records.PrevCursor, records.NextCursor) + return leaderboardRecordsListToJs(r, records.Records, records.OwnerRecords, records.PrevCursor, records.NextCursor, records.RankCount) } } @@ -5384,7 +5384,7 @@ func (n *runtimeJavascriptNakamaModule) leaderboardRecordsHaystack(r *goja.Runti panic(r.NewGoError(fmt.Errorf("error listing leaderboard records around owner: %v", err.Error()))) } - return leaderboardRecordsListToJs(r, records.Records, records.OwnerRecords, records.PrevCursor, records.NextCursor) + return leaderboardRecordsListToJs(r, records.Records, records.OwnerRecords, records.PrevCursor, records.NextCursor, records.RankCount) } } @@ -6167,11 +6167,11 @@ func (n *runtimeJavascriptNakamaModule) tournamentRecordsList(r *goja.Runtime) f panic(r.NewGoError(fmt.Errorf("error listing tournament records: %v", err.Error()))) } - return leaderboardRecordsListToJs(r, records.Records, records.OwnerRecords, records.PrevCursor, records.NextCursor) + return leaderboardRecordsListToJs(r, records.Records, records.OwnerRecords, records.PrevCursor, records.NextCursor, records.RankCount) } } -func leaderboardRecordsListToJs(r *goja.Runtime, records []*api.LeaderboardRecord, ownerRecords []*api.LeaderboardRecord, prevCursor, nextCursor string) goja.Value { +func leaderboardRecordsListToJs(r *goja.Runtime, records []*api.LeaderboardRecord, ownerRecords []*api.LeaderboardRecord, prevCursor, nextCursor string, rankCount int64) goja.Value { recordsSlice := make([]interface{}, 0, len(records)) for _, record := range records { recordsSlice = append(recordsSlice, leaderboardRecordToJsMap(r, record)) @@ -6182,7 +6182,7 @@ func leaderboardRecordsListToJs(r *goja.Runtime, records []*api.LeaderboardRecor ownerRecordsSlice = append(ownerRecordsSlice, leaderboardRecordToJsMap(r, ownerRecord)) } - resultMap := make(map[string]interface{}, 4) + resultMap := make(map[string]interface{}, 5) resultMap["records"] = recordsSlice resultMap["ownerRecords"] = ownerRecordsSlice @@ -6199,6 +6199,8 @@ func leaderboardRecordsListToJs(r *goja.Runtime, records []*api.LeaderboardRecor resultMap["prevCursor"] = nil } + resultMap["rankCount"] = rankCount + return r.ToValue(resultMap) } @@ -6479,7 +6481,7 @@ func (n *runtimeJavascriptNakamaModule) tournamentRecordsHaystack(r *goja.Runtim panic(r.NewGoError(fmt.Errorf("error listing tournament records haystack: %v", err.Error()))) } - return leaderboardRecordsListToJs(r, records.Records, records.OwnerRecords, records.PrevCursor, records.NextCursor) + return leaderboardRecordsListToJs(r, records.Records, records.OwnerRecords, records.PrevCursor, records.NextCursor, records.RankCount) } } diff --git a/server/runtime_lua_nakama.go b/server/runtime_lua_nakama.go index 90360823f1cb9c7e4e12a06a89479dc997781aec..ca2d9b5cc1643f8baba7ca906386f354824b15e1 100644 --- a/server/runtime_lua_nakama.go +++ b/server/runtime_lua_nakama.go @@ -6718,7 +6718,7 @@ func (n *RuntimeLuaNakamaModule) leaderboardRecordsList(l *lua.LState) int { return 0 } - return leaderboardRecordsToLua(l, records.Records, records.OwnerRecords, records.PrevCursor, records.NextCursor, false) + return leaderboardRecordsToLua(l, records.Records, records.OwnerRecords, records.PrevCursor, records.NextCursor, records.RankCount, false) } // @group leaderboards @@ -6848,7 +6848,7 @@ func (n *RuntimeLuaNakamaModule) leaderboardRecordsHaystack(l *lua.LState) int { return 0 } - return leaderboardRecordsToLua(l, records.Records, records.OwnerRecords, records.PrevCursor, records.NextCursor, true) + return leaderboardRecordsToLua(l, records.Records, records.OwnerRecords, records.PrevCursor, records.NextCursor, records.RankCount, true) } // @group leaderboards @@ -7736,10 +7736,10 @@ func (n *RuntimeLuaNakamaModule) tournamentRecordsList(l *lua.LState) int { return 0 } - return leaderboardRecordsToLua(l, records.Records, records.OwnerRecords, records.PrevCursor, records.NextCursor, false) + return leaderboardRecordsToLua(l, records.Records, records.OwnerRecords, records.PrevCursor, records.NextCursor, records.RankCount, false) } -func leaderboardRecordsToLua(l *lua.LState, records, ownerRecords []*api.LeaderboardRecord, prevCursor, nextCursor string, skipOwnerRecords bool) int { +func leaderboardRecordsToLua(l *lua.LState, records, ownerRecords []*api.LeaderboardRecord, prevCursor, nextCursor string, rankCount int64, skipOwnerRecords bool) int { recordsTable := l.CreateTable(len(records), 0) for i, record := range records { recordTable, err := recordToLuaTable(l, record) @@ -7779,10 +7779,12 @@ func leaderboardRecordsToLua(l *lua.LState, records, ownerRecords []*api.Leaderb l.Push(lua.LNil) } + l.Push(lua.LNumber(rankCount)) + if skipOwnerRecords { - return 3 + return 4 } - return 4 + return 5 } func recordToLuaTable(l *lua.LState, record *api.LeaderboardRecord) (*lua.LTable, error) { @@ -8055,7 +8057,7 @@ func (n *RuntimeLuaNakamaModule) tournamentRecordsHaystack(l *lua.LState) int { return 0 } - return leaderboardRecordsToLua(l, records.Records, records.OwnerRecords, records.PrevCursor, records.NextCursor, true) + return leaderboardRecordsToLua(l, records.Records, records.OwnerRecords, records.PrevCursor, records.NextCursor, records.RankCount, true) } // @group groups diff --git a/vendor/modules.txt b/vendor/modules.txt index 428a3cf12fa07fbd9733fc913e0016b05e9182a4..087da8b3a25cdb0168316d7f2daf98d4ddb4ed8a 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -151,7 +151,7 @@ github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/internal/genopena github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options github.com/grpc-ecosystem/grpc-gateway/v2/runtime github.com/grpc-ecosystem/grpc-gateway/v2/utilities -# github.com/heroiclabs/nakama-common v1.27.1-0.20230719211805-4a0b1607e954 +# github.com/heroiclabs/nakama-common v1.28.0 ## explicit; go 1.19 github.com/heroiclabs/nakama-common/api github.com/heroiclabs/nakama-common/rtapi