Commit ff857365 authored by Andrei Mihu's avatar Andrei Mihu Committed by Mo Firouz
Browse files

Allow case sensitive search on group name. (#199)

parent dc3f4040
Loading
Loading
Loading
Loading
+414 −309

File changed.

Preview size limit exceeded, changes collapsed.

+50 −0
Original line number Diff line number Diff line
@@ -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
@@ -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()
@@ -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"}, ""))
@@ -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
+23 −0
Original line number Diff line number Diff line
@@ -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";
@@ -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.
@@ -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.
+56 −0
Original line number Diff line number Diff line
@@ -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",
@@ -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": {
+1 −1
Original line number Diff line number Diff line
@@ -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