Loading apigrpc/apigrpc.pb.go +182 −168 File changed.Preview size limit exceeded, changes collapsed. Show changes apigrpc/apigrpc.pb.gw.go +85 −0 Original line number Diff line number Diff line Loading @@ -3719,6 +3719,40 @@ func local_request_Nakama_ValidatePurchaseHuawei_0(ctx context.Context, marshale } func request_Nakama_ValidatePurchaseFacebookInstant_0(ctx context.Context, marshaler runtime.Marshaler, client NakamaClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq api.ValidatePurchaseFacebookInstantRequest 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) } msg, err := client.ValidatePurchaseFacebookInstant(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } func local_request_Nakama_ValidatePurchaseFacebookInstant_0(ctx context.Context, marshaler runtime.Marshaler, server NakamaServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq api.ValidatePurchaseFacebookInstantRequest 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) } msg, err := server.ValidatePurchaseFacebookInstant(ctx, &protoReq) return msg, metadata, err } func request_Nakama_WriteLeaderboardRecord_0(ctx context.Context, marshaler runtime.Marshaler, client NakamaClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq api.WriteLeaderboardRecordRequest var metadata runtime.ServerMetadata Loading Loading @@ -5938,6 +5972,31 @@ func RegisterNakamaHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser }) mux.Handle("POST", pattern_Nakama_ValidatePurchaseFacebookInstant_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.api.Nakama/ValidatePurchaseFacebookInstant", runtime.WithHTTPPathPattern("/v2/iap/purchase/facebookinstant")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } resp, md, err := local_request_Nakama_ValidatePurchaseFacebookInstant_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_Nakama_ValidatePurchaseFacebookInstant_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) mux.Handle("POST", pattern_Nakama_WriteLeaderboardRecord_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() Loading Loading @@ -7817,6 +7876,28 @@ func RegisterNakamaHandlerClient(ctx context.Context, mux *runtime.ServeMux, cli }) mux.Handle("POST", pattern_Nakama_ValidatePurchaseFacebookInstant_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.api.Nakama/ValidatePurchaseFacebookInstant", runtime.WithHTTPPathPattern("/v2/iap/purchase/facebookinstant")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } resp, md, err := request_Nakama_ValidatePurchaseFacebookInstant_0(annotatedContext, inboundMarshaler, client, req, pathParams) annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } forward_Nakama_ValidatePurchaseFacebookInstant_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) mux.Handle("POST", pattern_Nakama_WriteLeaderboardRecord_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() Loading Loading @@ -8067,6 +8148,8 @@ var ( pattern_Nakama_ValidatePurchaseHuawei_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"v2", "iap", "purchase", "huawei"}, "")) pattern_Nakama_ValidatePurchaseFacebookInstant_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"v2", "iap", "purchase", "facebookinstant"}, "")) pattern_Nakama_WriteLeaderboardRecord_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"v2", "leaderboard", "leaderboard_id"}, "")) pattern_Nakama_WriteStorageObjects_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v2", "storage"}, "")) Loading Loading @@ -8235,6 +8318,8 @@ var ( forward_Nakama_ValidatePurchaseHuawei_0 = runtime.ForwardResponseMessage forward_Nakama_ValidatePurchaseFacebookInstant_0 = runtime.ForwardResponseMessage forward_Nakama_WriteLeaderboardRecord_0 = runtime.ForwardResponseMessage forward_Nakama_WriteStorageObjects_0 = runtime.ForwardResponseMessage Loading apigrpc/apigrpc.proto +8 −0 Original line number Diff line number Diff line Loading @@ -706,6 +706,14 @@ service Nakama { }; } // Validate FB Instant IAP Receipt rpc ValidatePurchaseFacebookInstant (api.ValidatePurchaseFacebookInstantRequest) returns (api.ValidatePurchaseResponse) { option (google.api.http) = { post: "/v2/iap/purchase/facebookinstant", body: "*" }; } // Write a record to a leaderboard. rpc WriteLeaderboardRecord (api.WriteLeaderboardRecordRequest) returns (api.LeaderboardRecord) { option (google.api.http) = { Loading apigrpc/apigrpc.swagger.json +50 −2 Original line number Diff line number Diff line Loading @@ -2225,6 +2225,39 @@ ] } }, "/v2/iap/purchase/facebookinstant": { "post": { "summary": "Validate FB Instant IAP Receipt", "operationId": "Nakama_ValidatePurchaseFacebookInstant", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiValidatePurchaseResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } }, "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/apiValidatePurchaseFacebookInstantRequest" } } ], "tags": [ "Nakama" ] } }, "/v2/iap/purchase/google": { "post": { "summary": "Validate Google IAP Receipt", Loading Loading @@ -4652,10 +4685,11 @@ "enum": [ "APPLE_APP_STORE", "GOOGLE_PLAY_STORE", "HUAWEI_APP_GALLERY" "HUAWEI_APP_GALLERY", "FACEBOOK_INSTANT_STORE" ], "default": "APPLE_APP_STORE", "description": "- APPLE_APP_STORE: Apple App Store\n - GOOGLE_PLAY_STORE: Google Play Store\n - HUAWEI_APP_GALLERY: Huawei App Gallery", "description": "- APPLE_APP_STORE: Apple App Store\n - GOOGLE_PLAY_STORE: Google Play Store\n - HUAWEI_APP_GALLERY: Huawei App Gallery\n - FACEBOOK_INSTANT_STORE: Facebook Instant Store", "title": "Validation Provider," }, "apiSubscriptionList": { Loading Loading @@ -4989,6 +5023,20 @@ }, "title": "Apple IAP Purchases validation request" }, "apiValidatePurchaseFacebookInstantRequest": { "type": "object", "properties": { "signedRequest": { "type": "string", "description": "Base64 encoded Facebook Instant signedRequest receipt data payload." }, "persist": { "type": "boolean", "title": "Persist the purchase" } }, "title": "Facebook Instant IAP Purchase validation request" }, "apiValidatePurchaseGoogleRequest": { "type": "object", "properties": { Loading apigrpc/apigrpc_grpc.pb.go +40 −1 Original line number Diff line number Diff line Loading @@ -18,7 +18,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.3.0 // - protoc v4.24.2 // - protoc v4.24.4 // source: apigrpc.proto package apigrpc Loading Loading @@ -115,6 +115,7 @@ const ( Nakama_ValidatePurchaseGoogle_FullMethodName = "/nakama.api.Nakama/ValidatePurchaseGoogle" Nakama_ValidateSubscriptionGoogle_FullMethodName = "/nakama.api.Nakama/ValidateSubscriptionGoogle" Nakama_ValidatePurchaseHuawei_FullMethodName = "/nakama.api.Nakama/ValidatePurchaseHuawei" Nakama_ValidatePurchaseFacebookInstant_FullMethodName = "/nakama.api.Nakama/ValidatePurchaseFacebookInstant" Nakama_WriteLeaderboardRecord_FullMethodName = "/nakama.api.Nakama/WriteLeaderboardRecord" Nakama_WriteStorageObjects_FullMethodName = "/nakama.api.Nakama/WriteStorageObjects" Nakama_WriteTournamentRecord_FullMethodName = "/nakama.api.Nakama/WriteTournamentRecord" Loading Loading @@ -278,6 +279,8 @@ type NakamaClient interface { ValidateSubscriptionGoogle(ctx context.Context, in *api.ValidateSubscriptionGoogleRequest, opts ...grpc.CallOption) (*api.ValidateSubscriptionResponse, error) // Validate Huawei IAP Receipt ValidatePurchaseHuawei(ctx context.Context, in *api.ValidatePurchaseHuaweiRequest, opts ...grpc.CallOption) (*api.ValidatePurchaseResponse, error) // Validate FB Instant IAP Receipt ValidatePurchaseFacebookInstant(ctx context.Context, in *api.ValidatePurchaseFacebookInstantRequest, opts ...grpc.CallOption) (*api.ValidatePurchaseResponse, error) // Write a record to a leaderboard. WriteLeaderboardRecord(ctx context.Context, in *api.WriteLeaderboardRecordRequest, opts ...grpc.CallOption) (*api.LeaderboardRecord, error) // Write objects into the storage engine. Loading Loading @@ -987,6 +990,15 @@ func (c *nakamaClient) ValidatePurchaseHuawei(ctx context.Context, in *api.Valid return out, nil } func (c *nakamaClient) ValidatePurchaseFacebookInstant(ctx context.Context, in *api.ValidatePurchaseFacebookInstantRequest, opts ...grpc.CallOption) (*api.ValidatePurchaseResponse, error) { out := new(api.ValidatePurchaseResponse) err := c.cc.Invoke(ctx, Nakama_ValidatePurchaseFacebookInstant_FullMethodName, in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *nakamaClient) WriteLeaderboardRecord(ctx context.Context, in *api.WriteLeaderboardRecordRequest, opts ...grpc.CallOption) (*api.LeaderboardRecord, error) { out := new(api.LeaderboardRecord) err := c.cc.Invoke(ctx, Nakama_WriteLeaderboardRecord_FullMethodName, in, out, opts...) Loading Loading @@ -1172,6 +1184,8 @@ type NakamaServer interface { ValidateSubscriptionGoogle(context.Context, *api.ValidateSubscriptionGoogleRequest) (*api.ValidateSubscriptionResponse, error) // Validate Huawei IAP Receipt ValidatePurchaseHuawei(context.Context, *api.ValidatePurchaseHuaweiRequest) (*api.ValidatePurchaseResponse, error) // Validate FB Instant IAP Receipt ValidatePurchaseFacebookInstant(context.Context, *api.ValidatePurchaseFacebookInstantRequest) (*api.ValidatePurchaseResponse, error) // Write a record to a leaderboard. WriteLeaderboardRecord(context.Context, *api.WriteLeaderboardRecordRequest) (*api.LeaderboardRecord, error) // Write objects into the storage engine. Loading Loading @@ -1416,6 +1430,9 @@ func (UnimplementedNakamaServer) ValidateSubscriptionGoogle(context.Context, *ap func (UnimplementedNakamaServer) ValidatePurchaseHuawei(context.Context, *api.ValidatePurchaseHuaweiRequest) (*api.ValidatePurchaseResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ValidatePurchaseHuawei not implemented") } func (UnimplementedNakamaServer) ValidatePurchaseFacebookInstant(context.Context, *api.ValidatePurchaseFacebookInstantRequest) (*api.ValidatePurchaseResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ValidatePurchaseFacebookInstant not implemented") } func (UnimplementedNakamaServer) WriteLeaderboardRecord(context.Context, *api.WriteLeaderboardRecordRequest) (*api.LeaderboardRecord, error) { return nil, status.Errorf(codes.Unimplemented, "method WriteLeaderboardRecord not implemented") } Loading Loading @@ -2824,6 +2841,24 @@ func _Nakama_ValidatePurchaseHuawei_Handler(srv interface{}, ctx context.Context return interceptor(ctx, in, info, handler) } func _Nakama_ValidatePurchaseFacebookInstant_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(api.ValidatePurchaseFacebookInstantRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(NakamaServer).ValidatePurchaseFacebookInstant(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: Nakama_ValidatePurchaseFacebookInstant_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(NakamaServer).ValidatePurchaseFacebookInstant(ctx, req.(*api.ValidatePurchaseFacebookInstantRequest)) } return interceptor(ctx, in, info, handler) } func _Nakama_WriteLeaderboardRecord_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(api.WriteLeaderboardRecordRequest) if err := dec(in); err != nil { Loading Loading @@ -3193,6 +3228,10 @@ var Nakama_ServiceDesc = grpc.ServiceDesc{ MethodName: "ValidatePurchaseHuawei", Handler: _Nakama_ValidatePurchaseHuawei_Handler, }, { MethodName: "ValidatePurchaseFacebookInstant", Handler: _Nakama_ValidatePurchaseFacebookInstant_Handler, }, { MethodName: "WriteLeaderboardRecord", Handler: _Nakama_WriteLeaderboardRecord_Handler, Loading Loading
apigrpc/apigrpc.pb.go +182 −168 File changed.Preview size limit exceeded, changes collapsed. Show changes
apigrpc/apigrpc.pb.gw.go +85 −0 Original line number Diff line number Diff line Loading @@ -3719,6 +3719,40 @@ func local_request_Nakama_ValidatePurchaseHuawei_0(ctx context.Context, marshale } func request_Nakama_ValidatePurchaseFacebookInstant_0(ctx context.Context, marshaler runtime.Marshaler, client NakamaClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq api.ValidatePurchaseFacebookInstantRequest 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) } msg, err := client.ValidatePurchaseFacebookInstant(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } func local_request_Nakama_ValidatePurchaseFacebookInstant_0(ctx context.Context, marshaler runtime.Marshaler, server NakamaServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq api.ValidatePurchaseFacebookInstantRequest 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) } msg, err := server.ValidatePurchaseFacebookInstant(ctx, &protoReq) return msg, metadata, err } func request_Nakama_WriteLeaderboardRecord_0(ctx context.Context, marshaler runtime.Marshaler, client NakamaClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq api.WriteLeaderboardRecordRequest var metadata runtime.ServerMetadata Loading Loading @@ -5938,6 +5972,31 @@ func RegisterNakamaHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser }) mux.Handle("POST", pattern_Nakama_ValidatePurchaseFacebookInstant_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.api.Nakama/ValidatePurchaseFacebookInstant", runtime.WithHTTPPathPattern("/v2/iap/purchase/facebookinstant")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } resp, md, err := local_request_Nakama_ValidatePurchaseFacebookInstant_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_Nakama_ValidatePurchaseFacebookInstant_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) mux.Handle("POST", pattern_Nakama_WriteLeaderboardRecord_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() Loading Loading @@ -7817,6 +7876,28 @@ func RegisterNakamaHandlerClient(ctx context.Context, mux *runtime.ServeMux, cli }) mux.Handle("POST", pattern_Nakama_ValidatePurchaseFacebookInstant_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.api.Nakama/ValidatePurchaseFacebookInstant", runtime.WithHTTPPathPattern("/v2/iap/purchase/facebookinstant")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } resp, md, err := request_Nakama_ValidatePurchaseFacebookInstant_0(annotatedContext, inboundMarshaler, client, req, pathParams) annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } forward_Nakama_ValidatePurchaseFacebookInstant_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) mux.Handle("POST", pattern_Nakama_WriteLeaderboardRecord_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() Loading Loading @@ -8067,6 +8148,8 @@ var ( pattern_Nakama_ValidatePurchaseHuawei_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"v2", "iap", "purchase", "huawei"}, "")) pattern_Nakama_ValidatePurchaseFacebookInstant_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"v2", "iap", "purchase", "facebookinstant"}, "")) pattern_Nakama_WriteLeaderboardRecord_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"v2", "leaderboard", "leaderboard_id"}, "")) pattern_Nakama_WriteStorageObjects_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v2", "storage"}, "")) Loading Loading @@ -8235,6 +8318,8 @@ var ( forward_Nakama_ValidatePurchaseHuawei_0 = runtime.ForwardResponseMessage forward_Nakama_ValidatePurchaseFacebookInstant_0 = runtime.ForwardResponseMessage forward_Nakama_WriteLeaderboardRecord_0 = runtime.ForwardResponseMessage forward_Nakama_WriteStorageObjects_0 = runtime.ForwardResponseMessage Loading
apigrpc/apigrpc.proto +8 −0 Original line number Diff line number Diff line Loading @@ -706,6 +706,14 @@ service Nakama { }; } // Validate FB Instant IAP Receipt rpc ValidatePurchaseFacebookInstant (api.ValidatePurchaseFacebookInstantRequest) returns (api.ValidatePurchaseResponse) { option (google.api.http) = { post: "/v2/iap/purchase/facebookinstant", body: "*" }; } // Write a record to a leaderboard. rpc WriteLeaderboardRecord (api.WriteLeaderboardRecordRequest) returns (api.LeaderboardRecord) { option (google.api.http) = { Loading
apigrpc/apigrpc.swagger.json +50 −2 Original line number Diff line number Diff line Loading @@ -2225,6 +2225,39 @@ ] } }, "/v2/iap/purchase/facebookinstant": { "post": { "summary": "Validate FB Instant IAP Receipt", "operationId": "Nakama_ValidatePurchaseFacebookInstant", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/apiValidatePurchaseResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/rpcStatus" } } }, "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/apiValidatePurchaseFacebookInstantRequest" } } ], "tags": [ "Nakama" ] } }, "/v2/iap/purchase/google": { "post": { "summary": "Validate Google IAP Receipt", Loading Loading @@ -4652,10 +4685,11 @@ "enum": [ "APPLE_APP_STORE", "GOOGLE_PLAY_STORE", "HUAWEI_APP_GALLERY" "HUAWEI_APP_GALLERY", "FACEBOOK_INSTANT_STORE" ], "default": "APPLE_APP_STORE", "description": "- APPLE_APP_STORE: Apple App Store\n - GOOGLE_PLAY_STORE: Google Play Store\n - HUAWEI_APP_GALLERY: Huawei App Gallery", "description": "- APPLE_APP_STORE: Apple App Store\n - GOOGLE_PLAY_STORE: Google Play Store\n - HUAWEI_APP_GALLERY: Huawei App Gallery\n - FACEBOOK_INSTANT_STORE: Facebook Instant Store", "title": "Validation Provider," }, "apiSubscriptionList": { Loading Loading @@ -4989,6 +5023,20 @@ }, "title": "Apple IAP Purchases validation request" }, "apiValidatePurchaseFacebookInstantRequest": { "type": "object", "properties": { "signedRequest": { "type": "string", "description": "Base64 encoded Facebook Instant signedRequest receipt data payload." }, "persist": { "type": "boolean", "title": "Persist the purchase" } }, "title": "Facebook Instant IAP Purchase validation request" }, "apiValidatePurchaseGoogleRequest": { "type": "object", "properties": { Loading
apigrpc/apigrpc_grpc.pb.go +40 −1 Original line number Diff line number Diff line Loading @@ -18,7 +18,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.3.0 // - protoc v4.24.2 // - protoc v4.24.4 // source: apigrpc.proto package apigrpc Loading Loading @@ -115,6 +115,7 @@ const ( Nakama_ValidatePurchaseGoogle_FullMethodName = "/nakama.api.Nakama/ValidatePurchaseGoogle" Nakama_ValidateSubscriptionGoogle_FullMethodName = "/nakama.api.Nakama/ValidateSubscriptionGoogle" Nakama_ValidatePurchaseHuawei_FullMethodName = "/nakama.api.Nakama/ValidatePurchaseHuawei" Nakama_ValidatePurchaseFacebookInstant_FullMethodName = "/nakama.api.Nakama/ValidatePurchaseFacebookInstant" Nakama_WriteLeaderboardRecord_FullMethodName = "/nakama.api.Nakama/WriteLeaderboardRecord" Nakama_WriteStorageObjects_FullMethodName = "/nakama.api.Nakama/WriteStorageObjects" Nakama_WriteTournamentRecord_FullMethodName = "/nakama.api.Nakama/WriteTournamentRecord" Loading Loading @@ -278,6 +279,8 @@ type NakamaClient interface { ValidateSubscriptionGoogle(ctx context.Context, in *api.ValidateSubscriptionGoogleRequest, opts ...grpc.CallOption) (*api.ValidateSubscriptionResponse, error) // Validate Huawei IAP Receipt ValidatePurchaseHuawei(ctx context.Context, in *api.ValidatePurchaseHuaweiRequest, opts ...grpc.CallOption) (*api.ValidatePurchaseResponse, error) // Validate FB Instant IAP Receipt ValidatePurchaseFacebookInstant(ctx context.Context, in *api.ValidatePurchaseFacebookInstantRequest, opts ...grpc.CallOption) (*api.ValidatePurchaseResponse, error) // Write a record to a leaderboard. WriteLeaderboardRecord(ctx context.Context, in *api.WriteLeaderboardRecordRequest, opts ...grpc.CallOption) (*api.LeaderboardRecord, error) // Write objects into the storage engine. Loading Loading @@ -987,6 +990,15 @@ func (c *nakamaClient) ValidatePurchaseHuawei(ctx context.Context, in *api.Valid return out, nil } func (c *nakamaClient) ValidatePurchaseFacebookInstant(ctx context.Context, in *api.ValidatePurchaseFacebookInstantRequest, opts ...grpc.CallOption) (*api.ValidatePurchaseResponse, error) { out := new(api.ValidatePurchaseResponse) err := c.cc.Invoke(ctx, Nakama_ValidatePurchaseFacebookInstant_FullMethodName, in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *nakamaClient) WriteLeaderboardRecord(ctx context.Context, in *api.WriteLeaderboardRecordRequest, opts ...grpc.CallOption) (*api.LeaderboardRecord, error) { out := new(api.LeaderboardRecord) err := c.cc.Invoke(ctx, Nakama_WriteLeaderboardRecord_FullMethodName, in, out, opts...) Loading Loading @@ -1172,6 +1184,8 @@ type NakamaServer interface { ValidateSubscriptionGoogle(context.Context, *api.ValidateSubscriptionGoogleRequest) (*api.ValidateSubscriptionResponse, error) // Validate Huawei IAP Receipt ValidatePurchaseHuawei(context.Context, *api.ValidatePurchaseHuaweiRequest) (*api.ValidatePurchaseResponse, error) // Validate FB Instant IAP Receipt ValidatePurchaseFacebookInstant(context.Context, *api.ValidatePurchaseFacebookInstantRequest) (*api.ValidatePurchaseResponse, error) // Write a record to a leaderboard. WriteLeaderboardRecord(context.Context, *api.WriteLeaderboardRecordRequest) (*api.LeaderboardRecord, error) // Write objects into the storage engine. Loading Loading @@ -1416,6 +1430,9 @@ func (UnimplementedNakamaServer) ValidateSubscriptionGoogle(context.Context, *ap func (UnimplementedNakamaServer) ValidatePurchaseHuawei(context.Context, *api.ValidatePurchaseHuaweiRequest) (*api.ValidatePurchaseResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ValidatePurchaseHuawei not implemented") } func (UnimplementedNakamaServer) ValidatePurchaseFacebookInstant(context.Context, *api.ValidatePurchaseFacebookInstantRequest) (*api.ValidatePurchaseResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ValidatePurchaseFacebookInstant not implemented") } func (UnimplementedNakamaServer) WriteLeaderboardRecord(context.Context, *api.WriteLeaderboardRecordRequest) (*api.LeaderboardRecord, error) { return nil, status.Errorf(codes.Unimplemented, "method WriteLeaderboardRecord not implemented") } Loading Loading @@ -2824,6 +2841,24 @@ func _Nakama_ValidatePurchaseHuawei_Handler(srv interface{}, ctx context.Context return interceptor(ctx, in, info, handler) } func _Nakama_ValidatePurchaseFacebookInstant_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(api.ValidatePurchaseFacebookInstantRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(NakamaServer).ValidatePurchaseFacebookInstant(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: Nakama_ValidatePurchaseFacebookInstant_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(NakamaServer).ValidatePurchaseFacebookInstant(ctx, req.(*api.ValidatePurchaseFacebookInstantRequest)) } return interceptor(ctx, in, info, handler) } func _Nakama_WriteLeaderboardRecord_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(api.WriteLeaderboardRecordRequest) if err := dec(in); err != nil { Loading Loading @@ -3193,6 +3228,10 @@ var Nakama_ServiceDesc = grpc.ServiceDesc{ MethodName: "ValidatePurchaseHuawei", Handler: _Nakama_ValidatePurchaseHuawei_Handler, }, { MethodName: "ValidatePurchaseFacebookInstant", Handler: _Nakama_ValidatePurchaseFacebookInstant_Handler, }, { MethodName: "WriteLeaderboardRecord", Handler: _Nakama_WriteLeaderboardRecord_Handler, Loading