Documentation
¶
Overview ¶
Package apigrpc is a reverse proxy.
It translates gRPC into RESTful JSON APIs.
Index ¶
- func RegisterNakamaHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error
- func RegisterNakamaHandlerClient(ctx context.Context, mux *runtime.ServeMux, client NakamaClient) error
- func RegisterNakamaHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, ...) (err error)
- func RegisterNakamaServer(s *grpc.Server, srv NakamaServer)
- type NakamaClient
- type NakamaServer
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RegisterNakamaHandler ¶
RegisterNakamaHandler registers the http handlers for service Nakama to "mux". The handlers forward requests to the grpc endpoint over "conn".
func RegisterNakamaHandlerClient ¶
func RegisterNakamaHandlerClient(ctx context.Context, mux *runtime.ServeMux, client NakamaClient) error
RegisterNakamaHandlerClient registers the http handlers for service Nakama to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "NakamaClient". Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "NakamaClient" doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in "NakamaClient" to call the correct interceptors.
func RegisterNakamaHandlerFromEndpoint ¶
func RegisterNakamaHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error)
RegisterNakamaHandlerFromEndpoint is same as RegisterNakamaHandler but automatically dials to "endpoint" and closes the connection when "ctx" gets done.
func RegisterNakamaServer ¶
func RegisterNakamaServer(s *grpc.Server, srv NakamaServer)
Types ¶
type NakamaClient ¶
type NakamaClient interface {
// Add friends by ID or username to a user's account.
AddFriends(ctx context.Context, in *api.AddFriendsRequest, opts ...grpc.CallOption) (*empty.Empty, error)
// Add users to a group.
AddGroupUsers(ctx context.Context, in *api.AddGroupUsersRequest, opts ...grpc.CallOption) (*empty.Empty, error)
// Authenticate a user with a custom id against the server.
AuthenticateCustom(ctx context.Context, in *api.AuthenticateCustomRequest, opts ...grpc.CallOption) (*api.Session, error)
// Authenticate a user with a device id against the server.
AuthenticateDevice(ctx context.Context, in *api.AuthenticateDeviceRequest, opts ...grpc.CallOption) (*api.Session, error)
// Authenticate a user with an email+password against the server.
AuthenticateEmail(ctx context.Context, in *api.AuthenticateEmailRequest, opts ...grpc.CallOption) (*api.Session, error)
// Authenticate a user with a Facebook OAuth token against the server.
AuthenticateFacebook(ctx context.Context, in *api.AuthenticateFacebookRequest, opts ...grpc.CallOption) (*api.Session, error)
// Authenticate a user with Apple's GameCenter against the server.
AuthenticateGameCenter(ctx context.Context, in *api.AuthenticateGameCenterRequest, opts ...grpc.CallOption) (*api.Session, error)
// Authenticate a user with Google against the server.
AuthenticateGoogle(ctx context.Context, in *api.AuthenticateGoogleRequest, opts ...grpc.CallOption) (*api.Session, error)
// Authenticate a user with Steam against the server.
AuthenticateSteam(ctx context.Context, in *api.AuthenticateSteamRequest, opts ...grpc.CallOption) (*api.Session, error)
// Block one or more users by ID or username.
BlockFriends(ctx context.Context, in *api.BlockFriendsRequest, opts ...grpc.CallOption) (*empty.Empty, error)
// Create a new group with the current user as the owner.
CreateGroup(ctx context.Context, in *api.CreateGroupRequest, opts ...grpc.CallOption) (*api.Group, error)
// Delete one or more users by ID or username.
DeleteFriends(ctx context.Context, in *api.DeleteFriendsRequest, opts ...grpc.CallOption) (*empty.Empty, error)
// Delete a group by ID.
DeleteGroup(ctx context.Context, in *api.DeleteGroupRequest, opts ...grpc.CallOption) (*empty.Empty, error)
// Delete a leaderboard record.
DeleteLeaderboardRecord(ctx context.Context, in *api.DeleteLeaderboardRecordRequest, opts ...grpc.CallOption) (*empty.Empty, error)
// Delete one or more notifications for the current user.
DeleteNotifications(ctx context.Context, in *api.DeleteNotificationsRequest, opts ...grpc.CallOption) (*empty.Empty, error)
// Delete one or more objects by ID or username.
DeleteStorageObjects(ctx context.Context, in *api.DeleteStorageObjectsRequest, opts ...grpc.CallOption) (*empty.Empty, error)
// Fetch the current user's account.
GetAccount(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*api.Account, error)
// Fetch zero or more users by ID and/or username.
GetUsers(ctx context.Context, in *api.GetUsersRequest, opts ...grpc.CallOption) (*api.Users, error)
// A healthcheck which load balancers can use to check the service.
Healthcheck(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*empty.Empty, error)
// Import Facebook friends and add them to a user's account.
ImportFacebookFriends(ctx context.Context, in *api.ImportFacebookFriendsRequest, opts ...grpc.CallOption) (*empty.Empty, error)
// Immediately join an open group, or request to join a closed one.
JoinGroup(ctx context.Context, in *api.JoinGroupRequest, opts ...grpc.CallOption) (*empty.Empty, error)
// Attempt to join an open and running tournament.
JoinTournament(ctx context.Context, in *api.JoinTournamentRequest, opts ...grpc.CallOption) (*empty.Empty, error)
// Kick a set of users from a group.
KickGroupUsers(ctx context.Context, in *api.KickGroupUsersRequest, opts ...grpc.CallOption) (*empty.Empty, error)
// Leave a group the user is a member of.
LeaveGroup(ctx context.Context, in *api.LeaveGroupRequest, opts ...grpc.CallOption) (*empty.Empty, error)
// Add a custom ID to the social profiles on the current user's account.
LinkCustom(ctx context.Context, in *api.AccountCustom, opts ...grpc.CallOption) (*empty.Empty, error)
// Add a device ID to the social profiles on the current user's account.
LinkDevice(ctx context.Context, in *api.AccountDevice, opts ...grpc.CallOption) (*empty.Empty, error)
// Add an email+password to the social profiles on the current user's account.
LinkEmail(ctx context.Context, in *api.AccountEmail, opts ...grpc.CallOption) (*empty.Empty, error)
// Add Facebook to the social profiles on the current user's account.
LinkFacebook(ctx context.Context, in *api.LinkFacebookRequest, opts ...grpc.CallOption) (*empty.Empty, error)
// Add Apple's GameCenter to the social profiles on the current user's account.
LinkGameCenter(ctx context.Context, in *api.AccountGameCenter, opts ...grpc.CallOption) (*empty.Empty, error)
// Add Google to the social profiles on the current user's account.
LinkGoogle(ctx context.Context, in *api.AccountGoogle, opts ...grpc.CallOption) (*empty.Empty, error)
// Add Steam to the social profiles on the current user's account.
LinkSteam(ctx context.Context, in *api.AccountSteam, opts ...grpc.CallOption) (*empty.Empty, error)
// List a channel's message history.
ListChannelMessages(ctx context.Context, in *api.ListChannelMessagesRequest, opts ...grpc.CallOption) (*api.ChannelMessageList, error)
// List all friends for the current user.
ListFriends(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*api.Friends, error)
// List groups based on given filters.
ListGroups(ctx context.Context, in *api.ListGroupsRequest, opts ...grpc.CallOption) (*api.GroupList, error)
// List all users that are part of a group.
ListGroupUsers(ctx context.Context, in *api.ListGroupUsersRequest, opts ...grpc.CallOption) (*api.GroupUserList, error)
// List leaderboard records.
ListLeaderboardRecords(ctx context.Context, in *api.ListLeaderboardRecordsRequest, opts ...grpc.CallOption) (*api.LeaderboardRecordList, error)
// List leaderboard records that belong to a user.
ListLeaderboardRecordsAroundOwner(ctx context.Context, in *api.ListLeaderboardRecordsAroundOwnerRequest, opts ...grpc.CallOption) (*api.LeaderboardRecordList, error)
// Fetch list of running matches.
ListMatches(ctx context.Context, in *api.ListMatchesRequest, opts ...grpc.CallOption) (*api.MatchList, error)
// Fetch list of notifications.
ListNotifications(ctx context.Context, in *api.ListNotificationsRequest, opts ...grpc.CallOption) (*api.NotificationList, error)
// List publicly readable storage objects in a given collection.
ListStorageObjects(ctx context.Context, in *api.ListStorageObjectsRequest, opts ...grpc.CallOption) (*api.StorageObjectList, error)
// List current or upcoming tournaments.
ListTournaments(ctx context.Context, in *api.ListTournamentsRequest, opts ...grpc.CallOption) (*api.TournamentList, error)
// List tournament records.
ListTournamentRecords(ctx context.Context, in *api.ListTournamentRecordsRequest, opts ...grpc.CallOption) (*api.TournamentRecordList, error)
// List tournament records for a given owner.
ListTournamentRecordsAroundOwner(ctx context.Context, in *api.ListTournamentRecordsAroundOwnerRequest, opts ...grpc.CallOption) (*api.TournamentRecordList, error)
// List groups the current user belongs to.
ListUserGroups(ctx context.Context, in *api.ListUserGroupsRequest, opts ...grpc.CallOption) (*api.UserGroupList, error)
// Promote a set of users in a group to the next role up.
PromoteGroupUsers(ctx context.Context, in *api.PromoteGroupUsersRequest, opts ...grpc.CallOption) (*empty.Empty, error)
// Get storage objects.
ReadStorageObjects(ctx context.Context, in *api.ReadStorageObjectsRequest, opts ...grpc.CallOption) (*api.StorageObjects, error)
// Execute a Lua function on the server.
RpcFunc(ctx context.Context, in *api.Rpc, opts ...grpc.CallOption) (*api.Rpc, error)
// Remove the custom ID from the social profiles on the current user's account.
UnlinkCustom(ctx context.Context, in *api.AccountCustom, opts ...grpc.CallOption) (*empty.Empty, error)
// Remove the device ID from the social profiles on the current user's account.
UnlinkDevice(ctx context.Context, in *api.AccountDevice, opts ...grpc.CallOption) (*empty.Empty, error)
// Remove the email+password from the social profiles on the current user's account.
UnlinkEmail(ctx context.Context, in *api.AccountEmail, opts ...grpc.CallOption) (*empty.Empty, error)
// Remove Facebook from the social profiles on the current user's account.
UnlinkFacebook(ctx context.Context, in *api.AccountFacebook, opts ...grpc.CallOption) (*empty.Empty, error)
// Remove Apple's GameCenter from the social profiles on the current user's account.
UnlinkGameCenter(ctx context.Context, in *api.AccountGameCenter, opts ...grpc.CallOption) (*empty.Empty, error)
// Remove Google from the social profiles on the current user's account.
UnlinkGoogle(ctx context.Context, in *api.AccountGoogle, opts ...grpc.CallOption) (*empty.Empty, error)
// Remove Steam from the social profiles on the current user's account.
UnlinkSteam(ctx context.Context, in *api.AccountSteam, opts ...grpc.CallOption) (*empty.Empty, error)
// Update fields in the current user's account.
UpdateAccount(ctx context.Context, in *api.UpdateAccountRequest, opts ...grpc.CallOption) (*empty.Empty, error)
// Update fields in a given group.
UpdateGroup(ctx context.Context, in *api.UpdateGroupRequest, opts ...grpc.CallOption) (*empty.Empty, 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.
WriteStorageObjects(ctx context.Context, in *api.WriteStorageObjectsRequest, opts ...grpc.CallOption) (*api.StorageObjectAcks, error)
// Write a record to a tournament.
WriteTournamentRecord(ctx context.Context, in *api.WriteTournamentRecordRequest, opts ...grpc.CallOption) (*api.LeaderboardRecord, error)
}
NakamaClient is the client API for Nakama service.
For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
func NewNakamaClient ¶
func NewNakamaClient(cc *grpc.ClientConn) NakamaClient
type NakamaServer ¶
type NakamaServer interface {
// Add friends by ID or username to a user's account.
AddFriends(context.Context, *api.AddFriendsRequest) (*empty.Empty, error)
// Add users to a group.
AddGroupUsers(context.Context, *api.AddGroupUsersRequest) (*empty.Empty, error)
// Authenticate a user with a custom id against the server.
AuthenticateCustom(context.Context, *api.AuthenticateCustomRequest) (*api.Session, error)
// Authenticate a user with a device id against the server.
AuthenticateDevice(context.Context, *api.AuthenticateDeviceRequest) (*api.Session, error)
// Authenticate a user with an email+password against the server.
AuthenticateEmail(context.Context, *api.AuthenticateEmailRequest) (*api.Session, error)
// Authenticate a user with a Facebook OAuth token against the server.
AuthenticateFacebook(context.Context, *api.AuthenticateFacebookRequest) (*api.Session, error)
// Authenticate a user with Apple's GameCenter against the server.
AuthenticateGameCenter(context.Context, *api.AuthenticateGameCenterRequest) (*api.Session, error)
// Authenticate a user with Google against the server.
AuthenticateGoogle(context.Context, *api.AuthenticateGoogleRequest) (*api.Session, error)
// Authenticate a user with Steam against the server.
AuthenticateSteam(context.Context, *api.AuthenticateSteamRequest) (*api.Session, error)
// Block one or more users by ID or username.
BlockFriends(context.Context, *api.BlockFriendsRequest) (*empty.Empty, error)
// Create a new group with the current user as the owner.
CreateGroup(context.Context, *api.CreateGroupRequest) (*api.Group, error)
// Delete one or more users by ID or username.
DeleteFriends(context.Context, *api.DeleteFriendsRequest) (*empty.Empty, error)
// Delete a group by ID.
DeleteGroup(context.Context, *api.DeleteGroupRequest) (*empty.Empty, error)
// Delete a leaderboard record.
DeleteLeaderboardRecord(context.Context, *api.DeleteLeaderboardRecordRequest) (*empty.Empty, error)
// Delete one or more notifications for the current user.
DeleteNotifications(context.Context, *api.DeleteNotificationsRequest) (*empty.Empty, error)
// Delete one or more objects by ID or username.
DeleteStorageObjects(context.Context, *api.DeleteStorageObjectsRequest) (*empty.Empty, error)
// Fetch the current user's account.
GetAccount(context.Context, *empty.Empty) (*api.Account, error)
// Fetch zero or more users by ID and/or username.
GetUsers(context.Context, *api.GetUsersRequest) (*api.Users, error)
// A healthcheck which load balancers can use to check the service.
Healthcheck(context.Context, *empty.Empty) (*empty.Empty, error)
// Import Facebook friends and add them to a user's account.
ImportFacebookFriends(context.Context, *api.ImportFacebookFriendsRequest) (*empty.Empty, error)
// Immediately join an open group, or request to join a closed one.
JoinGroup(context.Context, *api.JoinGroupRequest) (*empty.Empty, error)
// Attempt to join an open and running tournament.
JoinTournament(context.Context, *api.JoinTournamentRequest) (*empty.Empty, error)
// Kick a set of users from a group.
KickGroupUsers(context.Context, *api.KickGroupUsersRequest) (*empty.Empty, error)
// Leave a group the user is a member of.
LeaveGroup(context.Context, *api.LeaveGroupRequest) (*empty.Empty, error)
// Add a custom ID to the social profiles on the current user's account.
LinkCustom(context.Context, *api.AccountCustom) (*empty.Empty, error)
// Add a device ID to the social profiles on the current user's account.
LinkDevice(context.Context, *api.AccountDevice) (*empty.Empty, error)
// Add an email+password to the social profiles on the current user's account.
LinkEmail(context.Context, *api.AccountEmail) (*empty.Empty, error)
// Add Facebook to the social profiles on the current user's account.
LinkFacebook(context.Context, *api.LinkFacebookRequest) (*empty.Empty, error)
// Add Apple's GameCenter to the social profiles on the current user's account.
LinkGameCenter(context.Context, *api.AccountGameCenter) (*empty.Empty, error)
// Add Google to the social profiles on the current user's account.
LinkGoogle(context.Context, *api.AccountGoogle) (*empty.Empty, error)
// Add Steam to the social profiles on the current user's account.
LinkSteam(context.Context, *api.AccountSteam) (*empty.Empty, error)
// List a channel's message history.
ListChannelMessages(context.Context, *api.ListChannelMessagesRequest) (*api.ChannelMessageList, error)
// List all friends for the current user.
ListFriends(context.Context, *empty.Empty) (*api.Friends, error)
// List groups based on given filters.
ListGroups(context.Context, *api.ListGroupsRequest) (*api.GroupList, error)
// List all users that are part of a group.
ListGroupUsers(context.Context, *api.ListGroupUsersRequest) (*api.GroupUserList, error)
// List leaderboard records.
ListLeaderboardRecords(context.Context, *api.ListLeaderboardRecordsRequest) (*api.LeaderboardRecordList, error)
// List leaderboard records that belong to a user.
ListLeaderboardRecordsAroundOwner(context.Context, *api.ListLeaderboardRecordsAroundOwnerRequest) (*api.LeaderboardRecordList, error)
// Fetch list of running matches.
ListMatches(context.Context, *api.ListMatchesRequest) (*api.MatchList, error)
// Fetch list of notifications.
ListNotifications(context.Context, *api.ListNotificationsRequest) (*api.NotificationList, error)
// List publicly readable storage objects in a given collection.
ListStorageObjects(context.Context, *api.ListStorageObjectsRequest) (*api.StorageObjectList, error)
// List current or upcoming tournaments.
ListTournaments(context.Context, *api.ListTournamentsRequest) (*api.TournamentList, error)
// List tournament records.
ListTournamentRecords(context.Context, *api.ListTournamentRecordsRequest) (*api.TournamentRecordList, error)
// List tournament records for a given owner.
ListTournamentRecordsAroundOwner(context.Context, *api.ListTournamentRecordsAroundOwnerRequest) (*api.TournamentRecordList, error)
// List groups the current user belongs to.
ListUserGroups(context.Context, *api.ListUserGroupsRequest) (*api.UserGroupList, error)
// Promote a set of users in a group to the next role up.
PromoteGroupUsers(context.Context, *api.PromoteGroupUsersRequest) (*empty.Empty, error)
// Get storage objects.
ReadStorageObjects(context.Context, *api.ReadStorageObjectsRequest) (*api.StorageObjects, error)
// Execute a Lua function on the server.
RpcFunc(context.Context, *api.Rpc) (*api.Rpc, error)
// Remove the custom ID from the social profiles on the current user's account.
UnlinkCustom(context.Context, *api.AccountCustom) (*empty.Empty, error)
// Remove the device ID from the social profiles on the current user's account.
UnlinkDevice(context.Context, *api.AccountDevice) (*empty.Empty, error)
// Remove the email+password from the social profiles on the current user's account.
UnlinkEmail(context.Context, *api.AccountEmail) (*empty.Empty, error)
// Remove Facebook from the social profiles on the current user's account.
UnlinkFacebook(context.Context, *api.AccountFacebook) (*empty.Empty, error)
// Remove Apple's GameCenter from the social profiles on the current user's account.
UnlinkGameCenter(context.Context, *api.AccountGameCenter) (*empty.Empty, error)
// Remove Google from the social profiles on the current user's account.
UnlinkGoogle(context.Context, *api.AccountGoogle) (*empty.Empty, error)
// Remove Steam from the social profiles on the current user's account.
UnlinkSteam(context.Context, *api.AccountSteam) (*empty.Empty, error)
// Update fields in the current user's account.
UpdateAccount(context.Context, *api.UpdateAccountRequest) (*empty.Empty, error)
// Update fields in a given group.
UpdateGroup(context.Context, *api.UpdateGroupRequest) (*empty.Empty, error)
// Write a record to a leaderboard.
WriteLeaderboardRecord(context.Context, *api.WriteLeaderboardRecordRequest) (*api.LeaderboardRecord, error)
// Write objects into the storage engine.
WriteStorageObjects(context.Context, *api.WriteStorageObjectsRequest) (*api.StorageObjectAcks, error)
// Write a record to a tournament.
WriteTournamentRecord(context.Context, *api.WriteTournamentRecordRequest) (*api.LeaderboardRecord, error)
}
NakamaServer is the server API for Nakama service.