Example #1
0
    public async ValueTask <BungieResponse <int> > BanMember(
        AuthorizationTokenData authorizationToken,
        long groupId,
        long membershipId,
        BungieMembershipType membershipType,
        GroupBanRequest 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/")
                  .AddUrlParam(((int)membershipType).ToString())
                  .AddUrlParam(membershipId.ToString())
                  .Append("Ban/")
                  .Build();

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

        return(await _dotNetBungieApiHttpClient
               .PostToBungieNetPlatform <int>(url, cancellationToken, stream, authorizationToken.AccessToken)
               .ConfigureAwait(false));
    }
 public async ValueTask <BungieResponse <int> > BanMember(
     long groupId,
     long membershipId,
     BungieMembershipType membershipType,
     GroupBanRequest request,
     CancellationToken token = default)
 {
     return(await _apiAccess.BanMember(_token, groupId, membershipId, membershipType, request, token));
 }