From 5abd433735720d56053236a910ef8c24914b83ef Mon Sep 17 00:00:00 2001 From: Simon Esposito Date: Wed, 1 Sep 2021 12:10:59 +0100 Subject: [PATCH] Fix js runtime leaderboard fields Resolves #684 --- server/runtime_javascript_nakama.go | 9 +++++---- server/runtime_lua_nakama.go | 3 ++- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/server/runtime_javascript_nakama.go b/server/runtime_javascript_nakama.go index 41e358d18..51209b8a3 100644 --- a/server/runtime_javascript_nakama.go +++ b/server/runtime_javascript_nakama.go @@ -4808,7 +4808,7 @@ func leaderboardRecordsListToJs(r *goja.Runtime, records []*api.LeaderboardRecor } func leaderboardRecordToJsMap(r *goja.Runtime, record *api.LeaderboardRecord) map[string]interface{} { - recordMap := make(map[string]interface{}, 11) + recordMap := make(map[string]interface{}, 12) recordMap["leaderboardId"] = record.LeaderboardId recordMap["ownerId"] = record.OwnerId if record.Username != nil { @@ -4819,15 +4819,16 @@ func leaderboardRecordToJsMap(r *goja.Runtime, record *api.LeaderboardRecord) ma recordMap["score"] = record.Score recordMap["subscore"] = record.Subscore recordMap["numScore"] = record.NumScore + recordMap["maxNumScore"] = record.MaxNumScore metadataMap := make(map[string]interface{}) err := json.Unmarshal([]byte(record.Metadata), &metadataMap) if err != nil { panic(r.NewGoError(fmt.Errorf("failed to convert metadata to json: %s", err.Error()))) } pointerizeSlices(metadataMap) - metadataMap["metadata"] = metadataMap - metadataMap["createTime"] = record.CreateTime.Seconds - metadataMap["updateTime"] = record.UpdateTime.Seconds + recordMap["metadata"] = metadataMap + recordMap["createTime"] = record.CreateTime.Seconds + recordMap["updateTime"] = record.UpdateTime.Seconds if record.ExpiryTime != nil { recordMap["expiryTime"] = record.ExpiryTime.Seconds } else { diff --git a/server/runtime_lua_nakama.go b/server/runtime_lua_nakama.go index 9963761dc..5ca2a425e 100644 --- a/server/runtime_lua_nakama.go +++ b/server/runtime_lua_nakama.go @@ -6349,7 +6349,7 @@ func leaderboardRecordsToLua(l *lua.LState, records []*api.LeaderboardRecord, ow } func recordToLuaTable(l *lua.LState, record *api.LeaderboardRecord) (*lua.LTable, error) { - recordTable := l.CreateTable(0, 11) + recordTable := l.CreateTable(0, 12) recordTable.RawSetString("leaderboard_id", lua.LString(record.LeaderboardId)) recordTable.RawSetString("owner_id", lua.LString(record.OwnerId)) if record.Username != nil { @@ -6360,6 +6360,7 @@ func recordToLuaTable(l *lua.LState, record *api.LeaderboardRecord) (*lua.LTable recordTable.RawSetString("score", lua.LNumber(record.Score)) recordTable.RawSetString("subscore", lua.LNumber(record.Subscore)) recordTable.RawSetString("num_score", lua.LNumber(record.NumScore)) + recordTable.RawSetString("max_num_score", lua.LNumber(record.MaxNumScore)) metadataMap := make(map[string]interface{}) err := json.Unmarshal([]byte(record.Metadata), &metadataMap) -- GitLab