Unverified Commit 58036008 authored by Fernando Takagi's avatar Fernando Takagi Committed by GitHub
Browse files

Chat Messages devconsole view and associated Console API endpoints. (#735)

parent 7207ede0
Loading
Loading
Loading
Loading
+1259 −915

File changed.

Preview size limit exceeded, changes collapsed.

+166 −0
Original line number Diff line number Diff line
@@ -411,6 +411,42 @@ func local_request_Console_DeleteAccount_0(ctx context.Context, marshaler runtim

}

var (
	filter_Console_DeleteChannelMessages_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)}
)

func request_Console_DeleteChannelMessages_0(ctx context.Context, marshaler runtime.Marshaler, client ConsoleClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
	var protoReq DeleteChannelMessagesRequest
	var metadata runtime.ServerMetadata

	if err := req.ParseForm(); err != nil {
		return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
	}
	if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Console_DeleteChannelMessages_0); err != nil {
		return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
	}

	msg, err := client.DeleteChannelMessages(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
	return msg, metadata, err

}

func local_request_Console_DeleteChannelMessages_0(ctx context.Context, marshaler runtime.Marshaler, server ConsoleServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
	var protoReq DeleteChannelMessagesRequest
	var metadata runtime.ServerMetadata

	if err := req.ParseForm(); err != nil {
		return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
	}
	if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Console_DeleteChannelMessages_0); err != nil {
		return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
	}

	msg, err := server.DeleteChannelMessages(ctx, &protoReq)
	return msg, metadata, err

}

func request_Console_DeleteFriend_0(ctx context.Context, marshaler runtime.Marshaler, client ConsoleClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
	var protoReq DeleteFriendRequest
	var metadata runtime.ServerMetadata
@@ -2049,6 +2085,42 @@ func local_request_Console_ListAccounts_0(ctx context.Context, marshaler runtime

}

var (
	filter_Console_ListChannelMessages_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)}
)

func request_Console_ListChannelMessages_0(ctx context.Context, marshaler runtime.Marshaler, client ConsoleClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
	var protoReq ListChannelMessagesRequest
	var metadata runtime.ServerMetadata

	if err := req.ParseForm(); err != nil {
		return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
	}
	if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Console_ListChannelMessages_0); err != nil {
		return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
	}

	msg, err := client.ListChannelMessages(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
	return msg, metadata, err

}

func local_request_Console_ListChannelMessages_0(ctx context.Context, marshaler runtime.Marshaler, server ConsoleServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
	var protoReq ListChannelMessagesRequest
	var metadata runtime.ServerMetadata

	if err := req.ParseForm(); err != nil {
		return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
	}
	if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Console_ListChannelMessages_0); err != nil {
		return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
	}

	msg, err := server.ListChannelMessages(ctx, &protoReq)
	return msg, metadata, err

}

var (
	filter_Console_ListGroups_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)}
)
@@ -3253,6 +3325,29 @@ func RegisterConsoleHandlerServer(ctx context.Context, mux *runtime.ServeMux, se

	})

	mux.Handle("DELETE", pattern_Console_DeleteChannelMessages_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
		ctx, cancel := context.WithCancel(req.Context())
		defer cancel()
		var stream runtime.ServerTransportStream
		ctx = grpc.NewContextWithServerTransportStream(ctx, &stream)
		inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
		rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/nakama.console.Console/DeleteChannelMessages", runtime.WithHTTPPathPattern("/v2/console/message"))
		if err != nil {
			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
			return
		}
		resp, md, err := local_request_Console_DeleteChannelMessages_0(rctx, inboundMarshaler, server, req, pathParams)
		md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer())
		ctx = runtime.NewServerMetadataContext(ctx, md)
		if err != nil {
			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
			return
		}

		forward_Console_DeleteChannelMessages_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)

	})

	mux.Handle("DELETE", pattern_Console_DeleteFriend_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
		ctx, cancel := context.WithCancel(req.Context())
		defer cancel()
@@ -3989,6 +4084,29 @@ func RegisterConsoleHandlerServer(ctx context.Context, mux *runtime.ServeMux, se

	})

	mux.Handle("GET", pattern_Console_ListChannelMessages_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
		ctx, cancel := context.WithCancel(req.Context())
		defer cancel()
		var stream runtime.ServerTransportStream
		ctx = grpc.NewContextWithServerTransportStream(ctx, &stream)
		inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
		rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/nakama.console.Console/ListChannelMessages", runtime.WithHTTPPathPattern("/v2/console/channel"))
		if err != nil {
			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
			return
		}
		resp, md, err := local_request_Console_ListChannelMessages_0(rctx, inboundMarshaler, server, req, pathParams)
		md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer())
		ctx = runtime.NewServerMetadataContext(ctx, md)
		if err != nil {
			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
			return
		}

		forward_Console_ListChannelMessages_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)

	})

	mux.Handle("GET", pattern_Console_ListGroups_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
		ctx, cancel := context.WithCancel(req.Context())
		defer cancel()
@@ -4627,6 +4745,26 @@ func RegisterConsoleHandlerClient(ctx context.Context, mux *runtime.ServeMux, cl

	})

	mux.Handle("DELETE", pattern_Console_DeleteChannelMessages_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, "/nakama.console.Console/DeleteChannelMessages", runtime.WithHTTPPathPattern("/v2/console/message"))
		if err != nil {
			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
			return
		}
		resp, md, err := request_Console_DeleteChannelMessages_0(rctx, inboundMarshaler, client, req, pathParams)
		ctx = runtime.NewServerMetadataContext(ctx, md)
		if err != nil {
			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
			return
		}

		forward_Console_DeleteChannelMessages_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)

	})

	mux.Handle("DELETE", pattern_Console_DeleteFriend_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
		ctx, cancel := context.WithCancel(req.Context())
		defer cancel()
@@ -5267,6 +5405,26 @@ func RegisterConsoleHandlerClient(ctx context.Context, mux *runtime.ServeMux, cl

	})

	mux.Handle("GET", pattern_Console_ListChannelMessages_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, "/nakama.console.Console/ListChannelMessages", runtime.WithHTTPPathPattern("/v2/console/channel"))
		if err != nil {
			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
			return
		}
		resp, md, err := request_Console_ListChannelMessages_0(rctx, inboundMarshaler, client, req, pathParams)
		ctx = runtime.NewServerMetadataContext(ctx, md)
		if err != nil {
			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
			return
		}

		forward_Console_ListChannelMessages_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)

	})

	mux.Handle("GET", pattern_Console_ListGroups_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
		ctx, cancel := context.WithCancel(req.Context())
		defer cancel()
@@ -5667,6 +5825,8 @@ var (

	pattern_Console_DeleteAccount_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"v2", "console", "account", "id"}, ""))

	pattern_Console_DeleteChannelMessages_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v2", "console", "message"}, ""))

	pattern_Console_DeleteFriend_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5}, []string{"v2", "console", "account", "id", "friend", "friend_id"}, ""))

	pattern_Console_DeleteGroup_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"v2", "console", "group", "id"}, ""))
@@ -5731,6 +5891,8 @@ var (

	pattern_Console_ListAccounts_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v2", "console", "account"}, ""))

	pattern_Console_ListChannelMessages_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v2", "console", "channel"}, ""))

	pattern_Console_ListGroups_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v2", "console", "group"}, ""))

	pattern_Console_ListMatches_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v2", "console", "match"}, ""))
@@ -5787,6 +5949,8 @@ var (

	forward_Console_DeleteAccount_0 = runtime.ForwardResponseMessage

	forward_Console_DeleteChannelMessages_0 = runtime.ForwardResponseMessage

	forward_Console_DeleteFriend_0 = runtime.ForwardResponseMessage

	forward_Console_DeleteGroup_0 = runtime.ForwardResponseMessage
@@ -5851,6 +6015,8 @@ var (

	forward_Console_ListAccounts_0 = runtime.ForwardResponseMessage

	forward_Console_ListChannelMessages_0 = runtime.ForwardResponseMessage

	forward_Console_ListGroups_0 = runtime.ForwardResponseMessage

	forward_Console_ListMatches_0 = runtime.ForwardResponseMessage
+44 −0
Original line number Diff line number Diff line
@@ -133,6 +133,11 @@ service Console {
    option (google.api.http).delete = "/v2/console/account/{id}";
  }

  // Delete messages.
  rpc DeleteChannelMessages (DeleteChannelMessagesRequest) returns (DeleteChannelMessagesResponse) {
    option (google.api.http).delete = "/v2/console/message";
  }

  // Delete the friend relationship between two users.
  rpc DeleteFriend (DeleteFriendRequest) returns (google.protobuf.Empty) {
    option (google.api.http).delete = "/v2/console/account/{id}/friend/{friend_id}";
@@ -293,6 +298,11 @@ service Console {
    option (google.api.http).get = "/v2/console/account";
  }

  // List channel messages with the selected filter
  rpc ListChannelMessages (ListChannelMessagesRequest) returns (api.ChannelMessageList) {
    option (google.api.http).get = "/v2/console/channel";
  }

  // List (and optionally filter) groups.
  rpc ListGroups (ListGroupsRequest) returns (GroupList) {
    option (google.api.http).get = "/v2/console/group";
@@ -555,6 +565,14 @@ message ConsoleSession {
  string token = 1;
}

// Delete channel messages by timestamp or/and ids.
message DeleteChannelMessagesRequest {
  // Timestamp before which messages will be deleted.
  google.protobuf.Timestamp before = 1;
  // IDs of the messages to delete.
  repeated string ids = 2;
}

// Delete friend relationship between two users.
message DeleteFriendRequest {
  // The user do delete for.
@@ -679,6 +697,27 @@ message ListAccountsRequest {
  string cursor = 3;
}

// List selected channel messages.
message ListChannelMessagesRequest {
  enum Type {
    UNKNOWN = 0;
    ROOM = 2;
    GROUP = 3;
    DIRECT = 4;
  }
  // Type of the chat channel
  Type type = 1;
  // Label of the channel, if a standard chat room
  string label = 2;
  // Group ID of the channel, if a group chat
  string group_id = 3;
  // User IDs, if a direct chat
  string user_id_one = 4;
  string user_id_two = 5;
  // Cursor to start from
  string cursor = 6;
}

// List (and optionally filter) groups.
message ListGroupsRequest {
  // User ID or username filter.
@@ -735,6 +774,11 @@ message MatchStateRequest {
  string id = 1;
}

message DeleteChannelMessagesResponse {
  // Total number of messages deleted.
  int64 total = 1;
}

// List of storage objects.
message StorageList {
  // List of storage objects matching list/filter operation.
+162 −0
Original line number Diff line number Diff line
@@ -1093,6 +1093,79 @@
        ]
      }
    },
    "/v2/console/channel": {
      "get": {
        "summary": "List channel messages with the selected filter",
        "operationId": "Console_ListChannelMessages",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/apiChannelMessageList"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "type",
            "description": "Type of the chat channel.",
            "in": "query",
            "required": false,
            "type": "string",
            "enum": [
              "UNKNOWN",
              "ROOM",
              "GROUP",
              "DIRECT"
            ],
            "default": "UNKNOWN"
          },
          {
            "name": "label",
            "description": "Label of the channel, if a standard chat room.",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "group_id",
            "description": "Group ID of the channel, if a group chat.",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "user_id_one",
            "description": "User IDs, if a direct chat.",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "user_id_two",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "cursor",
            "description": "Cursor to start from.",
            "in": "query",
            "required": false,
            "type": "string"
          }
        ],
        "tags": [
          "Console"
        ]
      }
    },
    "/v2/console/config": {
      "get": {
        "summary": "Get server config and configuration warnings.",
@@ -1721,6 +1794,50 @@
        ]
      }
    },
    "/v2/console/message": {
      "delete": {
        "summary": "Delete messages.",
        "operationId": "Console_DeleteChannelMessages",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/consoleDeleteChannelMessagesResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "before",
            "description": "Timestamp before which messages will be deleted.",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "ids",
            "description": "IDs of the messages to delete.",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          }
        ],
        "tags": [
          "Console"
        ]
      }
    },
    "/v2/console/purchase": {
      "get": {
        "summary": "List validated purchases",
@@ -2404,6 +2521,31 @@
      },
      "description": "A message sent on a channel."
    },
    "apiChannelMessageList": {
      "type": "object",
      "properties": {
        "messages": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/apiChannelMessage"
          },
          "description": "A list of messages."
        },
        "next_cursor": {
          "type": "string",
          "description": "The cursor to send when retrieving the next page, if any."
        },
        "prev_cursor": {
          "type": "string",
          "description": "The cursor to send when retrieving the previous page, if any."
        },
        "cacheable_cursor": {
          "type": "string",
          "description": "Cacheable cursor to list newer messages. Durable and designed to be stored, unlike next/prev cursors."
        }
      },
      "description": "A list of channel messages, usually a result of a list operation."
    },
    "apiFriend": {
      "type": "object",
      "properties": {
@@ -3098,6 +3240,16 @@
      },
      "description": "A console user session."
    },
    "consoleDeleteChannelMessagesResponse": {
      "type": "object",
      "properties": {
        "total": {
          "type": "string",
          "format": "int64",
          "description": "Total number of messages deleted."
        }
      }
    },
    "consoleGroupExport": {
      "type": "object",
      "properties": {
@@ -3115,6 +3267,16 @@
      },
      "description": "An export of all information stored for a group."
    },
    "consoleListChannelMessagesRequestType": {
      "type": "string",
      "enum": [
        "UNKNOWN",
        "ROOM",
        "GROUP",
        "DIRECT"
      ],
      "default": "UNKNOWN"
    },
    "consoleMatchState": {
      "type": "object",
      "properties": {
+76 −0
Original line number Diff line number Diff line
@@ -36,6 +36,8 @@ type ConsoleClient interface {
	DeleteAllData(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*emptypb.Empty, error)
	// Delete all information stored for a user account.
	DeleteAccount(ctx context.Context, in *AccountDeleteRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
	// Delete messages.
	DeleteChannelMessages(ctx context.Context, in *DeleteChannelMessagesRequest, opts ...grpc.CallOption) (*DeleteChannelMessagesResponse, error)
	// Delete the friend relationship between two users.
	DeleteFriend(ctx context.Context, in *DeleteFriendRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
	// Remove a group.
@@ -98,6 +100,8 @@ type ConsoleClient interface {
	ListStorageCollections(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*StorageCollectionsList, error)
	// List (and optionally filter) accounts.
	ListAccounts(ctx context.Context, in *ListAccountsRequest, opts ...grpc.CallOption) (*AccountList, error)
	// List channel messages with the selected filter
	ListChannelMessages(ctx context.Context, in *ListChannelMessagesRequest, opts ...grpc.CallOption) (*api.ChannelMessageList, error)
	// List (and optionally filter) groups.
	ListGroups(ctx context.Context, in *ListGroupsRequest, opts ...grpc.CallOption) (*GroupList, error)
	// List ongoing matches
@@ -218,6 +222,15 @@ func (c *consoleClient) DeleteAccount(ctx context.Context, in *AccountDeleteRequ
	return out, nil
}

func (c *consoleClient) DeleteChannelMessages(ctx context.Context, in *DeleteChannelMessagesRequest, opts ...grpc.CallOption) (*DeleteChannelMessagesResponse, error) {
	out := new(DeleteChannelMessagesResponse)
	err := c.cc.Invoke(ctx, "/nakama.console.Console/DeleteChannelMessages", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *consoleClient) DeleteFriend(ctx context.Context, in *DeleteFriendRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	out := new(emptypb.Empty)
	err := c.cc.Invoke(ctx, "/nakama.console.Console/DeleteFriend", in, out, opts...)
@@ -497,6 +510,15 @@ func (c *consoleClient) ListAccounts(ctx context.Context, in *ListAccountsReques
	return out, nil
}

func (c *consoleClient) ListChannelMessages(ctx context.Context, in *ListChannelMessagesRequest, opts ...grpc.CallOption) (*api.ChannelMessageList, error) {
	out := new(api.ChannelMessageList)
	err := c.cc.Invoke(ctx, "/nakama.console.Console/ListChannelMessages", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *consoleClient) ListGroups(ctx context.Context, in *ListGroupsRequest, opts ...grpc.CallOption) (*GroupList, error) {
	out := new(GroupList)
	err := c.cc.Invoke(ctx, "/nakama.console.Console/ListGroups", in, out, opts...)
@@ -688,6 +710,8 @@ type ConsoleServer interface {
	DeleteAllData(context.Context, *emptypb.Empty) (*emptypb.Empty, error)
	// Delete all information stored for a user account.
	DeleteAccount(context.Context, *AccountDeleteRequest) (*emptypb.Empty, error)
	// Delete messages.
	DeleteChannelMessages(context.Context, *DeleteChannelMessagesRequest) (*DeleteChannelMessagesResponse, error)
	// Delete the friend relationship between two users.
	DeleteFriend(context.Context, *DeleteFriendRequest) (*emptypb.Empty, error)
	// Remove a group.
@@ -750,6 +774,8 @@ type ConsoleServer interface {
	ListStorageCollections(context.Context, *emptypb.Empty) (*StorageCollectionsList, error)
	// List (and optionally filter) accounts.
	ListAccounts(context.Context, *ListAccountsRequest) (*AccountList, error)
	// List channel messages with the selected filter
	ListChannelMessages(context.Context, *ListChannelMessagesRequest) (*api.ChannelMessageList, error)
	// List (and optionally filter) groups.
	ListGroups(context.Context, *ListGroupsRequest) (*GroupList, error)
	// List ongoing matches
@@ -819,6 +845,9 @@ func (UnimplementedConsoleServer) DeleteAllData(context.Context, *emptypb.Empty)
func (UnimplementedConsoleServer) DeleteAccount(context.Context, *AccountDeleteRequest) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteAccount not implemented")
}
func (UnimplementedConsoleServer) DeleteChannelMessages(context.Context, *DeleteChannelMessagesRequest) (*DeleteChannelMessagesResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteChannelMessages not implemented")
}
func (UnimplementedConsoleServer) DeleteFriend(context.Context, *DeleteFriendRequest) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteFriend not implemented")
}
@@ -912,6 +941,9 @@ func (UnimplementedConsoleServer) ListStorageCollections(context.Context, *empty
func (UnimplementedConsoleServer) ListAccounts(context.Context, *ListAccountsRequest) (*AccountList, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListAccounts not implemented")
}
func (UnimplementedConsoleServer) ListChannelMessages(context.Context, *ListChannelMessagesRequest) (*api.ChannelMessageList, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListChannelMessages not implemented")
}
func (UnimplementedConsoleServer) ListGroups(context.Context, *ListGroupsRequest) (*GroupList, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListGroups not implemented")
}
@@ -1126,6 +1158,24 @@ func _Console_DeleteAccount_Handler(srv interface{}, ctx context.Context, dec fu
	return interceptor(ctx, in, info, handler)
}

func _Console_DeleteChannelMessages_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteChannelMessagesRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ConsoleServer).DeleteChannelMessages(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.console.Console/DeleteChannelMessages",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ConsoleServer).DeleteChannelMessages(ctx, req.(*DeleteChannelMessagesRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Console_DeleteFriend_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteFriendRequest)
	if err := dec(in); err != nil {
@@ -1684,6 +1734,24 @@ func _Console_ListAccounts_Handler(srv interface{}, ctx context.Context, dec fun
	return interceptor(ctx, in, info, handler)
}

func _Console_ListChannelMessages_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListChannelMessagesRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ConsoleServer).ListChannelMessages(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.console.Console/ListChannelMessages",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ConsoleServer).ListChannelMessages(ctx, req.(*ListChannelMessagesRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Console_ListGroups_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListGroupsRequest)
	if err := dec(in); err != nil {
@@ -2065,6 +2133,10 @@ var Console_ServiceDesc = grpc.ServiceDesc{
			MethodName: "DeleteAccount",
			Handler:    _Console_DeleteAccount_Handler,
		},
		{
			MethodName: "DeleteChannelMessages",
			Handler:    _Console_DeleteChannelMessages_Handler,
		},
		{
			MethodName: "DeleteFriend",
			Handler:    _Console_DeleteFriend_Handler,
@@ -2189,6 +2261,10 @@ var Console_ServiceDesc = grpc.ServiceDesc{
			MethodName: "ListAccounts",
			Handler:    _Console_ListAccounts_Handler,
		},
		{
			MethodName: "ListChannelMessages",
			Handler:    _Console_ListChannelMessages_Handler,
		},
		{
			MethodName: "ListGroups",
			Handler:    _Console_ListGroups_Handler,
Loading