diff --git a/apigrpc/apigrpc.pb.go b/apigrpc/apigrpc.pb.go index fa668bb00aca96129c5de353655cfbcbeb1ebe1d..31556b2f03d8baf070f77ee63b00ce7c22754276 100644 --- a/apigrpc/apigrpc.pb.go +++ b/apigrpc/apigrpc.pb.go @@ -18,7 +18,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.27.1 -// protoc v3.19.4 +// protoc v3.21.9 // source: apigrpc.proto package apigrpc diff --git a/apigrpc/apigrpc.swagger.json b/apigrpc/apigrpc.swagger.json index 5dbf3aa8cc27cac14dd29b5232f3ec3d9b50256b..e7bdb51b3cdeaa90d79a7949bedfed8b288e742e 100644 --- a/apigrpc/apigrpc.swagger.json +++ b/apigrpc/apigrpc.swagger.json @@ -1748,7 +1748,30 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/apiUpdateGroupRequest" + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name." + }, + "description": { + "type": "string", + "description": "Description string." + }, + "langTag": { + "type": "string", + "description": "Lang tag." + }, + "avatarUrl": { + "type": "string", + "description": "Avatar URL." + }, + "open": { + "type": "boolean", + "description": "Open is true if anyone should be allowed to join, or false if joins must be approved by a group admin." + } + }, + "description": "Update fields in a given group." } } ], @@ -2504,6 +2527,13 @@ "required": false, "type": "string", "format": "int64" + }, + { + "name": "cursor", + "description": "A next or previous page cursor.", + "in": "query", + "required": false, + "type": "string" } ], "tags": [ @@ -3293,6 +3323,13 @@ "required": false, "type": "string", "format": "int64" + }, + { + "name": "cursor", + "description": "A next or previous page cursor.", + "in": "query", + "required": false, + "type": "string" } ], "tags": [ @@ -4664,36 +4701,6 @@ }, "description": "Update a user's account details." }, - "apiUpdateGroupRequest": { - "type": "object", - "properties": { - "groupId": { - "type": "string", - "description": "The ID of the group to update." - }, - "name": { - "type": "string", - "description": "Name." - }, - "description": { - "type": "string", - "description": "Description string." - }, - "langTag": { - "type": "string", - "description": "Lang tag." - }, - "avatarUrl": { - "type": "string", - "description": "Avatar URL." - }, - "open": { - "type": "boolean", - "description": "Open is true if anyone should be allowed to join, or false if joins must be approved by a group admin." - } - }, - "description": "Update fields in a given group." - }, "apiUser": { "type": "object", "properties": { @@ -5039,14 +5046,11 @@ "protobufAny": { "type": "object", "properties": { - "typeUrl": { + "@type": { "type": "string" - }, - "value": { - "type": "string", - "format": "byte" } - } + }, + "additionalProperties": {} }, "rpcStatus": { "type": "object", diff --git a/console/console.pb.go b/console/console.pb.go index 31e787f1994495914dbf9f1909a2fd3ec8e5e67d..a682375c63ae1c5e0bea15773fc0138a53a26ff5 100644 --- a/console/console.pb.go +++ b/console/console.pb.go @@ -18,7 +18,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.27.1 -// protoc v3.19.1 +// protoc v3.21.9 // source: console.proto package console diff --git a/server/runtime_javascript.go b/server/runtime_javascript.go index 04a7e4a944e90af8d731375287934db1c9b92247..57fd539d2782e3d04e35263030e8f926afe15b44 100644 --- a/server/runtime_javascript.go +++ b/server/runtime_javascript.go @@ -1843,6 +1843,7 @@ func (rp *RuntimeProviderJS) TournamentEnd(ctx context.Context, tournament *api. rp.Put(r) return fmt.Errorf("failed to convert metadata to json: %s", err.Error()) } + pointerizeSlices(metadataMap) tournamentObj.Set("metadata", metadataMap) tournamentObj.Set("createTime", tournament.CreateTime.Seconds) tournamentObj.Set("startTime", tournament.StartTime.Seconds) @@ -1912,6 +1913,7 @@ func (rp *RuntimeProviderJS) TournamentReset(ctx context.Context, tournament *ap rp.Put(r) return fmt.Errorf("failed to convert metadata to json: %s", err.Error()) } + pointerizeSlices(metadataMap) tournamentObj.Set("metadata", metadataMap) tournamentObj.Set("createTime", tournament.CreateTime.Seconds) tournamentObj.Set("startTime", tournament.StartTime.Seconds) @@ -1972,7 +1974,14 @@ func (rp *RuntimeProviderJS) LeaderboardReset(ctx context.Context, leaderboard * if leaderboard.NextReset != 0 { leaderboardObj.Set("nextReset", leaderboard.NextReset) } - leaderboardObj.Set("metadata", leaderboard.Metadata) + metadataMap := make(map[string]interface{}) + err = json.Unmarshal([]byte(leaderboard.Metadata), &metadataMap) + if err != nil { + rp.Put(r) + return fmt.Errorf("failed to convert metadata to json: %s", err.Error()) + } + pointerizeSlices(metadataMap) + leaderboardObj.Set("metadata", metadataMap) leaderboardObj.Set("createTime", leaderboard.CreateTime) fn, ok := goja.AssertFunction(r.vm.Get(jsFn)) diff --git a/server/runtime_javascript_nakama.go b/server/runtime_javascript_nakama.go index 4b2a985c7e7384446ef2a43b6bd121763c41fe0f..25692e24a1216515826e03679cb02f1bfbb0b308 100644 --- a/server/runtime_javascript_nakama.go +++ b/server/runtime_javascript_nakama.go @@ -8176,7 +8176,7 @@ func getJsLeaderboardData(leaderboard *api.Leaderboard) (map[string]interface{}, } pointerizeSlices(metadataMap) leaderboardMap["metadata"] = metadataMap - leaderboardMap["createTime"] = leaderboard.CreateTime + leaderboardMap["createTime"] = leaderboard.CreateTime.Seconds if leaderboard.PrevReset != 0 { leaderboardMap["prevReset"] = leaderboard.PrevReset }