public async ValueTask <BungieResponse <bool> > IssueFriendRequest( string membershipId, AuthorizationTokenData authorizationToken, CancellationToken cancellationToken = default) { if (!_configuration.HasSufficientRights(ApplicationScopes.BnetWrite)) { throw new InsufficientScopeException(ApplicationScopes.BnetWrite); } var url = StringBuilderPool .GetBuilder(cancellationToken) .Append("/Social/Friends/Add/") .AddUrlParam(membershipId) .Build(); return(await _dotNetBungieApiHttpClient .PostToBungieNetPlatform <bool>(url, cancellationToken, authToken : authorizationToken.AccessToken) .ConfigureAwait(false)); }
public async ValueTask <BungieResponse <ForumRecruitmentDetail[]> > GetRecruitmentThreadSummaries( long[] request, CancellationToken cancellationToken = default) { await using var stream = new MemoryStream(); await _serializer.SerializeAsync(stream, request); return(await _dotNetBungieApiHttpClient .PostToBungieNetPlatform <ForumRecruitmentDetail[]>("/Forum/Recruit/Summaries/", cancellationToken, stream) .ConfigureAwait(false)); }
public async ValueTask <BungieResponse <UserInfoCard[]> > SearchDestinyPlayerByBungieName( BungieMembershipType membershipType, ExactSearchRequest request, CancellationToken cancellationToken = default) { var url = StringBuilderPool .GetBuilder(cancellationToken) .Append("/Destiny2/SearchDestinyPlayerByBungieName/") .AddUrlParam(((int)membershipType).ToString()) .Build(); var stream = new MemoryStream(); await _serializer.SerializeAsync(stream, request).ConfigureAwait(false); stream.Position = 0; return(await _dotNetBungieApiHttpClient .PostToBungieNetPlatform <UserInfoCard[]>(url, cancellationToken, stream) .ConfigureAwait(false)); }
public async ValueTask <BungieResponse <UserSearchResponse> > SearchByGlobalNamePost( UserSearchPrefixRequest request, int page = 0, CancellationToken cancellationToken = default) { var url = StringBuilderPool .GetBuilder(cancellationToken) .Append("/User/Search/GlobalName/") .AddUrlParam(page.ToString()) .Build(); using var memoryStream = new MemoryStream(); await _bungieNetJsonSerializer.SerializeAsync(memoryStream, request).ConfigureAwait(false); return(await _dotNetBungieApiHttpClient .PostToBungieNetPlatform <UserSearchResponse>(url, cancellationToken, memoryStream).ConfigureAwait(false)); }
public async ValueTask <BungieResponse <GroupV2Card[]> > GetRecommendedGroups( AuthorizationTokenData authorizationToken, GroupType groupType, GroupDateRange createDateRange, CancellationToken cancellationToken = default) { if (!_configuration.HasSufficientRights(ApplicationScopes.ReadGroups)) { throw new InsufficientScopeException(ApplicationScopes.ReadGroups); } var url = StringBuilderPool .GetBuilder(cancellationToken) .Append("/GroupV2/Recommended/") .AddUrlParam(((int)groupType).ToString()) .AddUrlParam(((int)createDateRange).ToString()) .Build(); return(await _dotNetBungieApiHttpClient .PostToBungieNetPlatform <GroupV2Card[]>(url, cancellationToken, authToken : authorizationToken.AccessToken) .ConfigureAwait(false)); }