Loading api/api.pb.go +414 −309 File changed.Preview size limit exceeded, changes collapsed. Show changes api/api.pb.gw.go +50 −0 Original line number Diff line number Diff line Loading @@ -689,6 +689,23 @@ func request_Nakama_ListFriends_0(ctx context.Context, marshaler runtime.Marshal } var ( filter_Nakama_ListGroups_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} ) func request_Nakama_ListGroups_0(ctx context.Context, marshaler runtime.Marshaler, client NakamaClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ListGroupsRequest var metadata runtime.ServerMetadata if err := runtime.PopulateQueryParameters(&protoReq, req.URL.Query(), filter_Nakama_ListGroups_0); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } msg, err := client.ListGroups(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } func request_Nakama_ListGroupUsers_0(ctx context.Context, marshaler runtime.Marshaler, client NakamaClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ListGroupUsersRequest var metadata runtime.ServerMetadata Loading Loading @@ -2184,6 +2201,35 @@ func RegisterNakamaHandlerClient(ctx context.Context, mux *runtime.ServeMux, cli }) mux.Handle("GET", pattern_Nakama_ListGroups_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() if cn, ok := w.(http.CloseNotifier); ok { go func(done <-chan struct{}, closed <-chan bool) { select { case <-done: case <-closed: cancel() } }(ctx.Done(), cn.CloseNotify()) } 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_ListGroups_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_ListGroups_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) mux.Handle("GET", pattern_Nakama_ListGroupUsers_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() Loading Loading @@ -2890,6 +2936,8 @@ var ( pattern_Nakama_ListFriends_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v2", "friend"}, "")) pattern_Nakama_ListGroups_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v2", "group"}, "")) pattern_Nakama_ListGroupUsers_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"v2", "group", "group_id", "user"}, "")) pattern_Nakama_ListLeaderboardRecords_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"v2", "leaderboard", "leaderboard_id"}, "")) Loading Loading @@ -3000,6 +3048,8 @@ var ( forward_Nakama_ListFriends_0 = runtime.ForwardResponseMessage forward_Nakama_ListGroups_0 = runtime.ForwardResponseMessage forward_Nakama_ListGroupUsers_0 = runtime.ForwardResponseMessage forward_Nakama_ListLeaderboardRecords_0 = runtime.ForwardResponseMessage Loading api/api.proto +23 −0 Original line number Diff line number Diff line Loading @@ -310,6 +310,11 @@ service Nakama { option (google.api.http).get = "/v2/friend"; } // List groups based on given filters. rpc ListGroups (ListGroupsRequest) returns (GroupList) { option (google.api.http).get = "/v2/group"; } // List all users that are part of a group. rpc ListGroupUsers (ListGroupUsersRequest) returns (GroupUserList) { option (google.api.http).get = "/v2/group/{group_id}/user"; Loading Loading @@ -783,6 +788,14 @@ message Group { google.protobuf.Timestamp update_time = 12; } // One or more groups returned from a listing operation. message GroupList { // One or more groups. repeated Group groups = 1; // A cursor used to get the next page. string cursor = 2; } // A list of users belonging to a group, along with their role. message GroupUserList { // A single user-role pair. Loading Loading @@ -897,6 +910,16 @@ message ListChannelMessagesRequest { string cursor = 4; } // List groups based on given filters. message ListGroupsRequest { // List groups that contain this value in their names. string name = 1; // Optional pagination cursor. string cursor = 2; // Max number of groups to return. Between 1 and 100. google.protobuf.Int32Value limit = 3; } // List all users that are part of a group. message ListGroupUsersRequest { // The group ID to list from. Loading api/api.swagger.json +56 −0 Original line number Diff line number Diff line Loading @@ -785,6 +785,45 @@ } }, "/v2/group": { "get": { "summary": "List groups based on given filters.", "operationId": "ListGroups", "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/apiGroupList" } } }, "parameters": [ { "name": "name", "description": "List groups that contain this value in their names.", "in": "query", "required": false, "type": "string" }, { "name": "cursor", "description": "Optional pagination cursor.", "in": "query", "required": false, "type": "string" }, { "name": "limit", "description": "Max number of groups to return. Between 1 and 100.", "in": "query", "required": false, "type": "integer", "format": "int32" } ], "tags": [ "Nakama" ] }, "post": { "summary": "Create a new group with the current user as the owner.", "operationId": "CreateGroup", Loading Loading @@ -1994,6 +2033,23 @@ }, "description": "A group in the server." }, "apiGroupList": { "type": "object", "properties": { "groups": { "type": "array", "items": { "$ref": "#/definitions/apiGroup" }, "description": "One or more groups." }, "cursor": { "type": "string", "description": "A cursor used to get the next page." } }, "description": "One or more groups returned from a listing operation." }, "apiGroupUserList": { "type": "object", "properties": { Loading migrate/migrate-packr.go +1 −1 Original line number Diff line number Diff line Loading @@ -9,5 +9,5 @@ import "github.com/gobuffalo/packr" // Go binary. You can use the "packr clean" command to clean up this, // and any other packr generated files. func init() { packr.PackJSONBytes("./sql", "20180103142001_initial_schema.sql", "\"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\"") packr.PackJSONBytes("./sql", "20180103142001_initial_schema.sql", "\"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\"") } Loading
api/api.pb.gw.go +50 −0 Original line number Diff line number Diff line Loading @@ -689,6 +689,23 @@ func request_Nakama_ListFriends_0(ctx context.Context, marshaler runtime.Marshal } var ( filter_Nakama_ListGroups_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} ) func request_Nakama_ListGroups_0(ctx context.Context, marshaler runtime.Marshaler, client NakamaClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ListGroupsRequest var metadata runtime.ServerMetadata if err := runtime.PopulateQueryParameters(&protoReq, req.URL.Query(), filter_Nakama_ListGroups_0); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } msg, err := client.ListGroups(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } func request_Nakama_ListGroupUsers_0(ctx context.Context, marshaler runtime.Marshaler, client NakamaClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ListGroupUsersRequest var metadata runtime.ServerMetadata Loading Loading @@ -2184,6 +2201,35 @@ func RegisterNakamaHandlerClient(ctx context.Context, mux *runtime.ServeMux, cli }) mux.Handle("GET", pattern_Nakama_ListGroups_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() if cn, ok := w.(http.CloseNotifier); ok { go func(done <-chan struct{}, closed <-chan bool) { select { case <-done: case <-closed: cancel() } }(ctx.Done(), cn.CloseNotify()) } 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_ListGroups_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_ListGroups_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) mux.Handle("GET", pattern_Nakama_ListGroupUsers_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() Loading Loading @@ -2890,6 +2936,8 @@ var ( pattern_Nakama_ListFriends_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v2", "friend"}, "")) pattern_Nakama_ListGroups_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v2", "group"}, "")) pattern_Nakama_ListGroupUsers_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"v2", "group", "group_id", "user"}, "")) pattern_Nakama_ListLeaderboardRecords_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"v2", "leaderboard", "leaderboard_id"}, "")) Loading Loading @@ -3000,6 +3048,8 @@ var ( forward_Nakama_ListFriends_0 = runtime.ForwardResponseMessage forward_Nakama_ListGroups_0 = runtime.ForwardResponseMessage forward_Nakama_ListGroupUsers_0 = runtime.ForwardResponseMessage forward_Nakama_ListLeaderboardRecords_0 = runtime.ForwardResponseMessage Loading
api/api.proto +23 −0 Original line number Diff line number Diff line Loading @@ -310,6 +310,11 @@ service Nakama { option (google.api.http).get = "/v2/friend"; } // List groups based on given filters. rpc ListGroups (ListGroupsRequest) returns (GroupList) { option (google.api.http).get = "/v2/group"; } // List all users that are part of a group. rpc ListGroupUsers (ListGroupUsersRequest) returns (GroupUserList) { option (google.api.http).get = "/v2/group/{group_id}/user"; Loading Loading @@ -783,6 +788,14 @@ message Group { google.protobuf.Timestamp update_time = 12; } // One or more groups returned from a listing operation. message GroupList { // One or more groups. repeated Group groups = 1; // A cursor used to get the next page. string cursor = 2; } // A list of users belonging to a group, along with their role. message GroupUserList { // A single user-role pair. Loading Loading @@ -897,6 +910,16 @@ message ListChannelMessagesRequest { string cursor = 4; } // List groups based on given filters. message ListGroupsRequest { // List groups that contain this value in their names. string name = 1; // Optional pagination cursor. string cursor = 2; // Max number of groups to return. Between 1 and 100. google.protobuf.Int32Value limit = 3; } // List all users that are part of a group. message ListGroupUsersRequest { // The group ID to list from. Loading
api/api.swagger.json +56 −0 Original line number Diff line number Diff line Loading @@ -785,6 +785,45 @@ } }, "/v2/group": { "get": { "summary": "List groups based on given filters.", "operationId": "ListGroups", "responses": { "200": { "description": "", "schema": { "$ref": "#/definitions/apiGroupList" } } }, "parameters": [ { "name": "name", "description": "List groups that contain this value in their names.", "in": "query", "required": false, "type": "string" }, { "name": "cursor", "description": "Optional pagination cursor.", "in": "query", "required": false, "type": "string" }, { "name": "limit", "description": "Max number of groups to return. Between 1 and 100.", "in": "query", "required": false, "type": "integer", "format": "int32" } ], "tags": [ "Nakama" ] }, "post": { "summary": "Create a new group with the current user as the owner.", "operationId": "CreateGroup", Loading Loading @@ -1994,6 +2033,23 @@ }, "description": "A group in the server." }, "apiGroupList": { "type": "object", "properties": { "groups": { "type": "array", "items": { "$ref": "#/definitions/apiGroup" }, "description": "One or more groups." }, "cursor": { "type": "string", "description": "A cursor used to get the next page." } }, "description": "One or more groups returned from a listing operation." }, "apiGroupUserList": { "type": "object", "properties": { Loading
migrate/migrate-packr.go +1 −1 Original line number Diff line number Diff line Loading @@ -9,5 +9,5 @@ import "github.com/gobuffalo/packr" // Go binary. You can use the "packr clean" command to clean up this, // and any other packr generated files. func init() { packr.PackJSONBytes("./sql", "20180103142001_initial_schema.sql", "\"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\"") packr.PackJSONBytes("./sql", "20180103142001_initial_schema.sql", "\"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\"") }