/// <summary> /// Invites a player to join a group /// </summary> public static void InviteToGroup(InviteToGroupRequest request, Action <InviteToGroupResponse> resultCallback, Action <PlayFabError> errorCallback, object customData = null, Dictionary <string, string> extraHeaders = null) { var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer; PlayFabHttp.MakeApiCall("/Group/InviteToGroup", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context); }
public void InviteToGroup(string groupId, EntityKey entityKey) { // A player-controlled entity invites another player-controlled entity to an existing group var request = new InviteToGroupRequest { Group = EntityKeyMaker(groupId), Entity = entityKey }; PlayFabGroupsAPI.InviteToGroup(request, OnInvite, OnSharedError); }
public async Task <IActionResult> Invite([FromRoute] string groupId, [FromBody] InviteToGroupRequest inviteToGroupRequest) { if (!ModelState.IsValid) { return(BadRequest()); } Core.Models.Result.Result result = await _inviteService.InviteToGroup(groupId, inviteToGroupRequest); return(result.ToNewResult().ToApiResult()); }
/// <summary> /// Invites a player to join a group /// </summary> public void InviteToGroup(InviteToGroupRequest request, Action <InviteToGroupResponse> resultCallback, Action <PlayFabError> errorCallback, object customData = null, Dictionary <string, string> extraHeaders = null) { var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext; var callSettings = apiSettings ?? PlayFabSettings.staticSettings; if (!context.IsEntityLoggedIn()) { throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn, "Must be logged in to call this method"); } PlayFabHttp.MakeApiCall("/Group/InviteToGroup", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this); }
public async Task <Core.Models.Result.Result> InviteToGroup(string groupId, InviteToGroupRequest inviteToGroupRequest) { _logger.LogInformation($"Adding new group invite"); ValidationResult validationResult = _inviteToGroupRequestValidator.Validate(inviteToGroupRequest); if (!validationResult.IsValid) { _logger.LogWarning($"Invalid {nameof(InviteToGroupRequest)} model"); return(Result.Fail(validationResult.ToResultError()).ToOldResult()); } return((await AddInvite(inviteToGroupRequest.Email, null, groupId, inviteToGroupRequest.GroupRoleId)).ToOldResult()); }
public async Task <IActionResult> Invite([FromRoute] string groupId, [FromBody] InviteToGroupRequest inviteToGroupRequest) { if (!ModelState.IsValid) { return(BadRequest()); } Result result = await _inviteService.InviteToGroup(groupId, inviteToGroupRequest); if (result.Failure) { ModelState.AddErrors(result); return(BadRequest(ModelState)); } return(Ok(new EmptyResult())); }
/// <summary> /// Invites a player to join a group /// </summary> /// <param name="AutoAcceptOutstandingApplication">Optional, default true. Automatically accept an application if one exists instead of creating an invitation (Optional)</param> /// <param name="Entity">The entity to perform this action on. (Required)</param> /// <param name="Group">The identifier of the group (Required)</param> /// <param name="RoleId">Optional. ID of an existing a role in the group to assign the user to. The group's default member role is used if this is not specified. Role IDs must be between 1 and 64 characters long. (Optional)</param> public static Task <InviteToGroupResponse> InviteToGroup(EntityKey Entity, EntityKey Group, bool?AutoAcceptOutstandingApplication = default, string RoleId = default, PlayFabAuthenticationContext customAuthContext = null, object customData = null, Dictionary <string, string> extraHeaders = null) { InviteToGroupRequest request = new InviteToGroupRequest() { Entity = Entity, Group = Group, AutoAcceptOutstandingApplication = AutoAcceptOutstandingApplication, RoleId = RoleId, }; var context = GetContext(customAuthContext); return(PlayFabHttp.MakeApiCallAsync <InviteToGroupResponse>("/Group/InviteToGroup", request, AuthType.EntityToken, customData, extraHeaders, context)); }
public void InvitePlayerToGroup(string adminUsername, string password, string groupName, string usernameToAdd) { var loginWithPlayFabRequest = new LoginWithPlayFabRequest { Username = adminUsername, Password = password }; PlayFabClientAPI.LoginWithPlayFab(loginWithPlayFabRequest, delegate(LoginResult loginResult) { var getGroupRequest = new GetGroupRequest() { GroupName = groupName }; PlayFabGroupsAPI.GetGroup(getGroupRequest, delegate(GetGroupResponse getGroupResponse) { var getAccountInfoRequest = new GetAccountInfoRequest() { Username = usernameToAdd }; PlayFabClientAPI.GetAccountInfo(getAccountInfoRequest, delegate(GetAccountInfoResult getAccountInfoResult) { var inviteToGroupRequest = new InviteToGroupRequest() { Group = getGroupResponse.Group, Entity = ConvertEntityKey(getAccountInfoResult.AccountInfo.TitleInfo.TitlePlayerAccount) }; PlayFabGroupsAPI.InviteToGroup(inviteToGroupRequest, delegate(InviteToGroupResponse inviteToGroupResponse) { Debug.Log("Admin username: "******" successfully added username: "******" to group: " + groupName); }, SharedError.OnSharedError); }, SharedError.OnSharedError); }, SharedError.OnSharedError); }, SharedError.OnSharedError); }
public Task <Result> InviteToGroup(string groupId, InviteToGroupRequest inviteToGroupRequest) { _logger.LogInformation($"Adding new group invite"); ValidationResult validationResult = _inviteToGroupRequestValidator.Validate(inviteToGroupRequest); if (!validationResult.IsValid) { _logger.LogWarning($"Invalid {nameof(InviteToGroupRequest)} model"); return(Task.FromResult(Result.Fail(validationResult.Errors))); } Result canInviteResult = CanInvite(inviteToGroupRequest.Email); if (canInviteResult.Failure) { return(Task.FromResult(Result.Fail(canInviteResult.Errors))); } Result isGroupInviteValid = IsGroupInviteValid(groupId, inviteToGroupRequest.GroupRoleId); if (isGroupInviteValid.Failure) { return(Task.FromResult(Result.Fail(isGroupInviteValid.Errors))); } InviteEntity inviteEntity = new InviteEntity( email: inviteToGroupRequest.Email, token: StringUtils.GenerateToken(), status: Data.Enums.Entity.InviteStatuses.Pending, roleId: null, groupId: groupId, groupRoleId: inviteToGroupRequest.GroupRoleId, expiresAt: DateTimeOffset.UtcNow.Add(_identityManagementEndpoints.InviteValidForTimeSpan)); return(AddInvite(inviteEntity)); }
/// <summary> /// Invites a player to join a group /// </summary> public static async Task <PlayFabResult <InviteToGroupResponse> > InviteToGroupAsync(InviteToGroupRequest request, object customData = null, Dictionary <string, string> extraHeaders = null) { if ((request?.AuthenticationContext?.EntityToken ?? PlayFabSettings.staticPlayer.EntityToken) == null) { throw new PlayFabException(PlayFabExceptionCode.EntityTokenNotSet, "Must call GetEntityToken before calling this method"); } var httpResult = await PlayFabHttp.DoPost("/Group/InviteToGroup", request, "X-EntityToken", PlayFabSettings.staticPlayer.EntityToken, extraHeaders); if (httpResult is PlayFabError) { var error = (PlayFabError)httpResult; PlayFabSettings.GlobalErrorHandler?.Invoke(error); return(new PlayFabResult <InviteToGroupResponse> { Error = error, CustomData = customData }); } var resultRawJson = (string)httpResult; var resultData = PluginManager.GetPlugin <ISerializerPlugin>(PluginContract.PlayFab_Serializer).DeserializeObject <PlayFabJsonSuccess <InviteToGroupResponse> >(resultRawJson); var result = resultData.data; return(new PlayFabResult <InviteToGroupResponse> { Result = result, CustomData = customData }); }
/// <summary> /// Invites a player to join a group /// </summary> public static void InviteToGroup(InviteToGroupRequest request, Action <InviteToGroupResponse> resultCallback, Action <PlayFabError> errorCallback, object customData = null, Dictionary <string, string> extraHeaders = null) { PlayFabHttp.MakeApiCall("/Group/InviteToGroup", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders); }
public async Task <IActionResult> Add([FromRoute] string groupId, [FromBody] InviteToGroupRequest request) { Core.Models.Result.Result result = await _inviteService.InviteToGroup(groupId, request); return(result.ToNewResult().ToApiResult()); }