Loading CHANGELOG.md +4 −1 Original line number Diff line number Diff line Loading @@ -7,6 +7,7 @@ The format is based on [keep a changelog](http://keepachangelog.com) and this pr ### Added - New runtime functions to retrieve tournaments by ID. - Allow tournament duration to exceed reset window, and cap the duration if it does. - Ban group users, preventing them from rejoining or requesting to rejoin. ### Changed - Do not use absolute path for `tini` executable in default container entry point. Loading @@ -15,6 +16,8 @@ The format is based on [keep a changelog](http://keepachangelog.com) and this pr ### Fixed - Correctly read pagination cursor in notification listings. - Group user add no longer sends another channel message when an add operation is repeated. - Importing Facebook friends when there are no friends and reset is true now works as expected. ## [2.8.0] - 2019-11-11 ### Added Loading apigrpc/apigrpc.pb.go +166 −127 File changed.Preview size limit exceeded, changes collapsed. Show changes apigrpc/apigrpc.pb.gw.go +113 −0 Original line number Diff line number Diff line Loading @@ -475,6 +475,75 @@ func local_request_Nakama_AuthenticateSteam_0(ctx context.Context, marshaler run } var ( filter_Nakama_BanGroupUsers_0 = &utilities.DoubleArray{Encoding: map[string]int{"group_id": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} ) func request_Nakama_BanGroupUsers_0(ctx context.Context, marshaler runtime.Marshaler, client NakamaClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq api.BanGroupUsersRequest var metadata runtime.ServerMetadata var ( val string ok bool err error _ = err ) val, ok = pathParams["group_id"] if !ok { return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "group_id") } protoReq.GroupId, err = runtime.String(val) if err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "group_id", err) } if err := req.ParseForm(); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Nakama_BanGroupUsers_0); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } msg, err := client.BanGroupUsers(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } func local_request_Nakama_BanGroupUsers_0(ctx context.Context, marshaler runtime.Marshaler, server NakamaServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq api.BanGroupUsersRequest var metadata runtime.ServerMetadata var ( val string ok bool err error _ = err ) val, ok = pathParams["group_id"] if !ok { return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "group_id") } protoReq.GroupId, err = runtime.String(val) if err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "group_id", err) } if err := runtime.PopulateQueryParameters(&protoReq, req.URL.Query(), filter_Nakama_BanGroupUsers_0); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } msg, err := server.BanGroupUsers(ctx, &protoReq) return msg, metadata, err } var ( filter_Nakama_BlockFriends_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} ) Loading Loading @@ -3196,6 +3265,26 @@ func RegisterNakamaHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser }) mux.Handle("POST", pattern_Nakama_BanGroupUsers_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } resp, md, err := local_request_Nakama_BanGroupUsers_0(rctx, inboundMarshaler, server, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } forward_Nakama_BanGroupUsers_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) mux.Handle("POST", pattern_Nakama_BlockFriends_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() Loading Loading @@ -4477,6 +4566,26 @@ func RegisterNakamaHandlerClient(ctx context.Context, mux *runtime.ServeMux, cli }) mux.Handle("POST", pattern_Nakama_BanGroupUsers_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) rctx, err := runtime.AnnotateContext(ctx, mux, req) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } resp, md, err := request_Nakama_BanGroupUsers_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } forward_Nakama_BanGroupUsers_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) mux.Handle("POST", pattern_Nakama_BlockFriends_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() Loading Loading @@ -5559,6 +5668,8 @@ var ( pattern_Nakama_AuthenticateSteam_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"v2", "account", "authenticate", "steam"}, "", runtime.AssumeColonVerbOpt(true))) pattern_Nakama_BanGroupUsers_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"v2", "group", "group_id", "ban"}, "", runtime.AssumeColonVerbOpt(true))) pattern_Nakama_BlockFriends_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v2", "friend", "block"}, "", runtime.AssumeColonVerbOpt(true))) pattern_Nakama_CreateGroup_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v2", "group"}, "", runtime.AssumeColonVerbOpt(true))) Loading Loading @@ -5685,6 +5796,8 @@ var ( forward_Nakama_AuthenticateSteam_0 = runtime.ForwardResponseMessage forward_Nakama_BanGroupUsers_0 = runtime.ForwardResponseMessage forward_Nakama_BlockFriends_0 = runtime.ForwardResponseMessage forward_Nakama_CreateGroup_0 = runtime.ForwardResponseMessage Loading apigrpc/apigrpc.proto +5 −0 Original line number Diff line number Diff line Loading @@ -210,6 +210,11 @@ service Nakama { }; } // Ban a set of users from a group. rpc BanGroupUsers (api.BanGroupUsersRequest) returns (google.protobuf.Empty) { option (google.api.http).post = "/v2/group/{group_id}/ban"; } // Block one or more users by ID or username. rpc BlockFriends (api.BlockFriendsRequest) returns (google.protobuf.Empty) { option (google.api.http) = { Loading apigrpc/apigrpc.swagger.json +36 −0 Original line number Diff line number Diff line Loading @@ -1239,6 +1239,42 @@ ] } }, "/v2/group/{group_id}/ban": { "post": { "summary": "Ban a set of users from a group.", "operationId": "BanGroupUsers", "responses": { "200": { "description": "A successful response.", "schema": { "properties": {} } } }, "parameters": [ { "name": "group_id", "description": "The group to ban users from.", "in": "path", "required": true, "type": "string" }, { "name": "user_ids", "description": "The users to ban.", "in": "query", "required": false, "type": "array", "items": { "type": "string" } } ], "tags": [ "Nakama" ] } }, "/v2/group/{group_id}/join": { "post": { "summary": "Immediately join an open group, or request to join a closed one.", Loading Loading
CHANGELOG.md +4 −1 Original line number Diff line number Diff line Loading @@ -7,6 +7,7 @@ The format is based on [keep a changelog](http://keepachangelog.com) and this pr ### Added - New runtime functions to retrieve tournaments by ID. - Allow tournament duration to exceed reset window, and cap the duration if it does. - Ban group users, preventing them from rejoining or requesting to rejoin. ### Changed - Do not use absolute path for `tini` executable in default container entry point. Loading @@ -15,6 +16,8 @@ The format is based on [keep a changelog](http://keepachangelog.com) and this pr ### Fixed - Correctly read pagination cursor in notification listings. - Group user add no longer sends another channel message when an add operation is repeated. - Importing Facebook friends when there are no friends and reset is true now works as expected. ## [2.8.0] - 2019-11-11 ### Added Loading
apigrpc/apigrpc.pb.go +166 −127 File changed.Preview size limit exceeded, changes collapsed. Show changes
apigrpc/apigrpc.pb.gw.go +113 −0 Original line number Diff line number Diff line Loading @@ -475,6 +475,75 @@ func local_request_Nakama_AuthenticateSteam_0(ctx context.Context, marshaler run } var ( filter_Nakama_BanGroupUsers_0 = &utilities.DoubleArray{Encoding: map[string]int{"group_id": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} ) func request_Nakama_BanGroupUsers_0(ctx context.Context, marshaler runtime.Marshaler, client NakamaClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq api.BanGroupUsersRequest var metadata runtime.ServerMetadata var ( val string ok bool err error _ = err ) val, ok = pathParams["group_id"] if !ok { return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "group_id") } protoReq.GroupId, err = runtime.String(val) if err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "group_id", err) } if err := req.ParseForm(); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Nakama_BanGroupUsers_0); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } msg, err := client.BanGroupUsers(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } func local_request_Nakama_BanGroupUsers_0(ctx context.Context, marshaler runtime.Marshaler, server NakamaServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq api.BanGroupUsersRequest var metadata runtime.ServerMetadata var ( val string ok bool err error _ = err ) val, ok = pathParams["group_id"] if !ok { return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "group_id") } protoReq.GroupId, err = runtime.String(val) if err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "group_id", err) } if err := runtime.PopulateQueryParameters(&protoReq, req.URL.Query(), filter_Nakama_BanGroupUsers_0); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } msg, err := server.BanGroupUsers(ctx, &protoReq) return msg, metadata, err } var ( filter_Nakama_BlockFriends_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} ) Loading Loading @@ -3196,6 +3265,26 @@ func RegisterNakamaHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser }) mux.Handle("POST", pattern_Nakama_BanGroupUsers_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } resp, md, err := local_request_Nakama_BanGroupUsers_0(rctx, inboundMarshaler, server, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } forward_Nakama_BanGroupUsers_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) mux.Handle("POST", pattern_Nakama_BlockFriends_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() Loading Loading @@ -4477,6 +4566,26 @@ func RegisterNakamaHandlerClient(ctx context.Context, mux *runtime.ServeMux, cli }) mux.Handle("POST", pattern_Nakama_BanGroupUsers_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) rctx, err := runtime.AnnotateContext(ctx, mux, req) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } resp, md, err := request_Nakama_BanGroupUsers_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } forward_Nakama_BanGroupUsers_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) mux.Handle("POST", pattern_Nakama_BlockFriends_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() Loading Loading @@ -5559,6 +5668,8 @@ var ( pattern_Nakama_AuthenticateSteam_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"v2", "account", "authenticate", "steam"}, "", runtime.AssumeColonVerbOpt(true))) pattern_Nakama_BanGroupUsers_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"v2", "group", "group_id", "ban"}, "", runtime.AssumeColonVerbOpt(true))) pattern_Nakama_BlockFriends_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v2", "friend", "block"}, "", runtime.AssumeColonVerbOpt(true))) pattern_Nakama_CreateGroup_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v2", "group"}, "", runtime.AssumeColonVerbOpt(true))) Loading Loading @@ -5685,6 +5796,8 @@ var ( forward_Nakama_AuthenticateSteam_0 = runtime.ForwardResponseMessage forward_Nakama_BanGroupUsers_0 = runtime.ForwardResponseMessage forward_Nakama_BlockFriends_0 = runtime.ForwardResponseMessage forward_Nakama_CreateGroup_0 = runtime.ForwardResponseMessage Loading
apigrpc/apigrpc.proto +5 −0 Original line number Diff line number Diff line Loading @@ -210,6 +210,11 @@ service Nakama { }; } // Ban a set of users from a group. rpc BanGroupUsers (api.BanGroupUsersRequest) returns (google.protobuf.Empty) { option (google.api.http).post = "/v2/group/{group_id}/ban"; } // Block one or more users by ID or username. rpc BlockFriends (api.BlockFriendsRequest) returns (google.protobuf.Empty) { option (google.api.http) = { Loading
apigrpc/apigrpc.swagger.json +36 −0 Original line number Diff line number Diff line Loading @@ -1239,6 +1239,42 @@ ] } }, "/v2/group/{group_id}/ban": { "post": { "summary": "Ban a set of users from a group.", "operationId": "BanGroupUsers", "responses": { "200": { "description": "A successful response.", "schema": { "properties": {} } } }, "parameters": [ { "name": "group_id", "description": "The group to ban users from.", "in": "path", "required": true, "type": "string" }, { "name": "user_ids", "description": "The users to ban.", "in": "query", "required": false, "type": "array", "items": { "type": "string" } } ], "tags": [ "Nakama" ] } }, "/v2/group/{group_id}/join": { "post": { "summary": "Immediately join an open group, or request to join a closed one.", Loading