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

Devconsole group improvements. (#927)

parent cf654a65
Loading
Loading
Loading
Loading
+1430 −1334

File changed.

Preview size limit exceeded, changes collapsed.

+119 −0
Original line number Diff line number Diff line
@@ -135,6 +135,74 @@ func local_request_Console_AddUser_0(ctx context.Context, marshaler runtime.Mars

}

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

	newReader, berr := utilities.IOReaderFactory(req.Body)
	if berr != nil {
		return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
	}
	if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
		return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
	}

	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)
	}

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

}

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

	newReader, berr := utilities.IOReaderFactory(req.Body)
	if berr != nil {
		return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
	}
	if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
		return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
	}

	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)
	}

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

}

func request_Console_BanAccount_0(ctx context.Context, marshaler runtime.Marshaler, client ConsoleClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
	var protoReq AccountId
	var metadata runtime.ServerMetadata
@@ -3216,6 +3284,31 @@ func RegisterConsoleHandlerServer(ctx context.Context, mux *runtime.ServeMux, se

	})

	mux.Handle("POST", pattern_Console_AddGroupUsers_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)
		var err error
		var annotatedContext context.Context
		annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/nakama.console.Console/AddGroupUsers", runtime.WithHTTPPathPattern("/v2/console/group/{group_id}/add"))
		if err != nil {
			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
			return
		}
		resp, md, err := local_request_Console_AddGroupUsers_0(annotatedContext, inboundMarshaler, server, req, pathParams)
		md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer())
		annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md)
		if err != nil {
			runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err)
			return
		}

		forward_Console_AddGroupUsers_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)

	})

	mux.Handle("POST", pattern_Console_BanAccount_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
		ctx, cancel := context.WithCancel(req.Context())
		defer cancel()
@@ -4773,6 +4866,28 @@ func RegisterConsoleHandlerClient(ctx context.Context, mux *runtime.ServeMux, cl

	})

	mux.Handle("POST", pattern_Console_AddGroupUsers_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)
		var err error
		var annotatedContext context.Context
		annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/nakama.console.Console/AddGroupUsers", runtime.WithHTTPPathPattern("/v2/console/group/{group_id}/add"))
		if err != nil {
			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
			return
		}
		resp, md, err := request_Console_AddGroupUsers_0(annotatedContext, inboundMarshaler, client, req, pathParams)
		annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md)
		if err != nil {
			runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err)
			return
		}

		forward_Console_AddGroupUsers_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)

	})

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

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

	pattern_Console_AddGroupUsers_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"v2", "console", "group", "group_id", "add"}, ""))

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

	pattern_Console_CallApiEndpoint_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"v2", "console", "api", "endpoints", "method"}, ""))
@@ -6183,6 +6300,8 @@ var (

	forward_Console_AddUser_0 = runtime.ForwardResponseMessage

	forward_Console_AddGroupUsers_0 = runtime.ForwardResponseMessage

	forward_Console_BanAccount_0 = runtime.ForwardResponseMessage

	forward_Console_CallApiEndpoint_0 = runtime.ForwardResponseMessage
+18 −0
Original line number Diff line number Diff line
@@ -102,6 +102,14 @@ service Console {
    };
  }

  // Add/join members to a group.
  rpc AddGroupUsers (AddGroupUsersRequest) returns (google.protobuf.Empty) {
    option (google.api.http) = {
      post: "/v2/console/group/{group_id}/add",
      body: "*"
    };
  }

  // Ban a user.
  rpc BanAccount (AccountId) returns (google.protobuf.Empty) {
    option (google.api.http).post = "/v2/console/account/{id}/ban";
@@ -519,6 +527,16 @@ message AddUserRequest {
  bool newsletter_subscription = 5;
}

// Add/join users to a group.
message AddGroupUsersRequest {
  // Users to add/join.
  string ids = 1;
  // ID of the group to add them to.
  string group_id = 2;
  // Whether it is a join request.
  bool join_request = 3;
}

// API Explorer List of Endpoints
message ApiEndpointList {
  repeated ApiEndpointDescriptor endpoints = 1;
+52 −0
Original line number Diff line number Diff line
@@ -1329,6 +1329,58 @@
        ]
      }
    },
    "/v2/console/group/{group_id}/add": {
      "post": {
        "summary": "Add/join members to a group.",
        "operationId": "Console_AddGroupUsers",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "type": "object",
              "properties": {}
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "group_id",
            "description": "ID of the group to add them to.",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "ids": {
                  "type": "string",
                  "description": "Users to add/join."
                },
                "join_request": {
                  "type": "boolean",
                  "description": "Whether it is a join request."
                }
              },
              "description": "Add/join users to a group."
            }
          }
        ],
        "tags": [
          "Console"
        ]
      }
    },
    "/v2/console/group/{id}": {
      "get": {
        "summary": "Get detailed group information.",
+38 −0
Original line number Diff line number Diff line
@@ -30,6 +30,8 @@ type ConsoleClient interface {
	AuthenticateLogout(ctx context.Context, in *AuthenticateLogoutRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
	// Add a new console user.
	AddUser(ctx context.Context, in *AddUserRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
	// Add/join members to a group.
	AddGroupUsers(ctx context.Context, in *AddGroupUsersRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
	// Ban a user.
	BanAccount(ctx context.Context, in *AccountId, opts ...grpc.CallOption) (*emptypb.Empty, error)
	// API Explorer - call an endpoint
@@ -181,6 +183,15 @@ func (c *consoleClient) AddUser(ctx context.Context, in *AddUserRequest, opts ..
	return out, nil
}

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

func (c *consoleClient) BanAccount(ctx context.Context, in *AccountId, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	out := new(emptypb.Empty)
	err := c.cc.Invoke(ctx, "/nakama.console.Console/BanAccount", in, out, opts...)
@@ -704,6 +715,8 @@ type ConsoleServer interface {
	AuthenticateLogout(context.Context, *AuthenticateLogoutRequest) (*emptypb.Empty, error)
	// Add a new console user.
	AddUser(context.Context, *AddUserRequest) (*emptypb.Empty, error)
	// Add/join members to a group.
	AddGroupUsers(context.Context, *AddGroupUsersRequest) (*emptypb.Empty, error)
	// Ban a user.
	BanAccount(context.Context, *AccountId) (*emptypb.Empty, error)
	// API Explorer - call an endpoint
@@ -834,6 +847,9 @@ func (UnimplementedConsoleServer) AuthenticateLogout(context.Context, *Authentic
func (UnimplementedConsoleServer) AddUser(context.Context, *AddUserRequest) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method AddUser not implemented")
}
func (UnimplementedConsoleServer) AddGroupUsers(context.Context, *AddGroupUsersRequest) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method AddGroupUsers not implemented")
}
func (UnimplementedConsoleServer) BanAccount(context.Context, *AccountId) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method BanAccount not implemented")
}
@@ -1072,6 +1088,24 @@ func _Console_AddUser_Handler(srv interface{}, ctx context.Context, dec func(int
	return interceptor(ctx, in, info, handler)
}

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

func _Console_BanAccount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AccountId)
	if err := dec(in); err != nil {
@@ -2117,6 +2151,10 @@ var Console_ServiceDesc = grpc.ServiceDesc{
			MethodName: "AddUser",
			Handler:    _Console_AddUser_Handler,
		},
		{
			MethodName: "AddGroupUsers",
			Handler:    _Console_AddGroupUsers_Handler,
		},
		{
			MethodName: "BanAccount",
			Handler:    _Console_BanAccount_Handler,
Loading