public IEnumerator UpdateGroup(string namespace_, string accessToken, string groupId, UpdateGroupRequest updateGroupRequest,
                                       ResultCallback <GroupInformation> callback)
        {
            Report.GetFunctionLog(this.GetType().Name);
            Assert.IsNotNull(namespace_, "Can't update group information! Namespace parameter is null!");
            Assert.IsFalse(string.IsNullOrEmpty(accessToken), "Can't update group information! AccessToken parameter is null!");
            Assert.IsFalse(string.IsNullOrEmpty(groupId), "Can't update group information! GroupId parameter is null!");


            var builder = HttpRequestBuilder
                          .CreatePut(this.baseUrl + "/v1/public/namespaces/{namespace}/groups/{groupId}")
                          .WithPathParam("namespace", namespace_)
                          .WithPathParam("groupId", groupId)
                          .WithBearerAuth(accessToken)
                          .WithContentType(MediaType.ApplicationJson)
                          .Accepts(MediaType.ApplicationJson);

            if (updateGroupRequest.groupType == GroupType.NONE)
            {
                UpdateGroupNoTypeRequest updateRequest = new UpdateGroupNoTypeRequest
                {
                    customAttributes = updateGroupRequest.customAttributes,
                    groupDescription = updateGroupRequest.groupDescription,
                    groupIcon        = updateGroupRequest.groupIcon,
                    groupName        = updateGroupRequest.groupName,
                    groupRegion      = updateGroupRequest.groupRegion
                };
                builder.WithBody(updateRequest.ToUtf8Json());
            }
            else
            {
                builder.WithBody(updateGroupRequest.ToUtf8Json());
            }

            var           request  = builder.GetResult();
            IHttpResponse response = null;

            yield return(this.httpClient.SendRequest(request, rsp => response = rsp));

            var result = response.TryParseJson <GroupInformation>();

            callback.Try(result);
        }
Beispiel #2
0
 /// <summary>
 /// Updates the project group.
 /// Only available to group owners and administrators.
 /// </summary>
 /// <returns>The updated group.</returns>
 /// <param name="groupId">The ID, path or <see cref="Group"/> of the group.</param>
 /// <param name="request">Update group request.</param>
 public async Task <Group> UpdateAsync(GroupId groupId, UpdateGroupRequest request) =>
 await _httpFacade.Put <Group>($"groups/{groupId}", request);
        /// <summary>
        /// Updates non-membership data about a group.
        /// </summary>
        public static async Task <PlayFabResult <UpdateGroupResponse> > UpdateGroupAsync(UpdateGroupRequest 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/UpdateGroup", request, "X-EntityToken", PlayFabSettings.staticPlayer.EntityToken, extraHeaders);

            if (httpResult is PlayFabError)
            {
                var error = (PlayFabError)httpResult;
                PlayFabSettings.GlobalErrorHandler?.Invoke(error);
                return(new PlayFabResult <UpdateGroupResponse> {
                    Error = error, CustomData = customData
                });
            }

            var resultRawJson = (string)httpResult;
            var resultData    = PluginManager.GetPlugin <ISerializerPlugin>(PluginContract.PlayFab_Serializer).DeserializeObject <PlayFabJsonSuccess <UpdateGroupResponse> >(resultRawJson);
            var result        = resultData.data;

            return(new PlayFabResult <UpdateGroupResponse> {
                Result = result, CustomData = customData
            });
        }
 /// <summary>
 /// Updates non-membership data about a group.
 /// </summary>
 public static void UpdateGroup(UpdateGroupRequest request, Action <UpdateGroupResponse> resultCallback, Action <PlayFabError> errorCallback, object customData = null, Dictionary <string, string> extraHeaders = null)
 {
     PlayFabHttp.MakeApiCall("/Group/UpdateGroup", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders);
 }
Beispiel #5
0
        public async Task <IActionResult> UpdateGroup(UpdateGroupRequest updateGroupRequest)
        {
            await _groupsService.UpdateGroupAsync(updateGroupRequest);

            return(NoContent());
        }