示例#1
0
    public async ValueTask <BungieResponse <EntityActionResult[]> > DenyPendingForList(
        AuthorizationTokenData authorizationToken,
        long groupId,
        GroupApplicationListRequest request,
        CancellationToken cancellationToken = default)
    {
        if (!_configuration.HasSufficientRights(ApplicationScopes.AdminGroups))
        {
            throw new InsufficientScopeException(ApplicationScopes.AdminGroups);
        }

        var url = StringBuilderPool.GetBuilder(cancellationToken)
                  .Append("/GroupV2/")
                  .AddUrlParam(groupId.ToString())
                  .Append("Members/DenyList/")
                  .Build();

        var stream = new MemoryStream();
        await _serializer.SerializeAsync(stream, request);

        return(await _dotNetBungieApiHttpClient
               .PostToBungieNetPlatform <EntityActionResult[]>(url, cancellationToken, stream,
                                                               authorizationToken.AccessToken)
               .ConfigureAwait(false));
    }
 public async ValueTask <BungieResponse <EntityActionResult[]> > DenyPendingForList(
     long groupId,
     GroupApplicationListRequest request,
     CancellationToken token = default)
 {
     return(await _apiAccess.DenyPendingForList(_token, groupId, request, token));
 }
示例#3
0
        public async ValueTask <BungieResponse <EntityActionResult[]> > ApprovePendingForList(
            AuthorizationTokenData authData,
            long groupId,
            GroupApplicationListRequest request,
            CancellationToken token = default)
        {
            if (!_configuration.Settings.IdentificationSettings.ApplicationScopes
                .HasFlag(ApplicationScopes.AdminGroups))
            {
                throw new InsufficientScopeException(ApplicationScopes.AdminGroups);
            }

            var url = StringBuilderPool.GetBuilder(token)
                      .Append("/GroupV2/")
                      .AddUrlParam(groupId.ToString())
                      .Append("Members/ApproveList/")
                      .Build();

            var stream = new MemoryStream();
            await _serializationHelper.SerializeAsync(stream, request);

            return(await _httpClient.PostToBungieNetPlatform <EntityActionResult[]>(url, token, stream,
                                                                                    authData.AccessToken));
        }