public async ValueTask <BungieResponse <SearchResultOfFireteamSummary> > SearchPublicAvailableClanFireteams(
        AuthorizationTokenData authorizationToken,
        FireteamPlatform platform,
        DestinyActivityModeType activityType,
        FireteamDateRange dateRange,
        FireteamSlotSearch slotFilter,
        int page          = 0,
        string langFilter = null,
        CancellationToken cancellationToken = default)
    {
        if (!_configuration.HasSufficientRights(ApplicationScopes.ReadGroups))
        {
            throw new InsufficientScopeException(ApplicationScopes.ReadGroups);
        }

        var url = StringBuilderPool
                  .GetBuilder(cancellationToken)
                  .Append("/Fireteam/Search/Available/")
                  .AddUrlParam(((byte)platform).ToString())
                  .AddUrlParam(((int)activityType).ToString())
                  .AddUrlParam(((byte)dateRange).ToString())
                  .AddUrlParam(((byte)slotFilter).ToString())
                  .AddUrlParam(page.ToString())
                  .AddQueryParam("langFilter", langFilter, () => !string.IsNullOrWhiteSpace(langFilter))
                  .Build();

        return(await _dotNetBungieApiHttpClient
               .GetFromBungieNetPlatform <SearchResultOfFireteamSummary>(url, cancellationToken,
                                                                         authorizationToken.AccessToken)
               .ConfigureAwait(false));
    }
    public async ValueTask <BungieResponse <SearchResultOfFireteamSummary> > GetMyClanFireteams(
        AuthorizationTokenData authorizationToken,
        long groupId,
        FireteamPlatform platform,
        bool includeClosed,
        int page          = 0,
        string langFilter = null,
        bool groupFilter  = false,
        CancellationToken cancellationToken = default)
    {
        if (!_configuration.HasSufficientRights(ApplicationScopes.ReadGroups))
        {
            throw new InsufficientScopeException(ApplicationScopes.ReadGroups);
        }

        var url = StringBuilderPool
                  .GetBuilder(cancellationToken)
                  .Append("/Fireteam/Clan/")
                  .AddUrlParam(groupId.ToString())
                  .AddUrlParam(((byte)platform).ToString())
                  .Append("My/")
                  .AddUrlParam(includeClosed.ToString())
                  .AddUrlParam(page.ToString())
                  .AddQueryParam("langFilter", langFilter, () => !string.IsNullOrWhiteSpace(langFilter))
                  .AddQueryParam("groupFilter", groupFilter.ToString())
                  .Build();

        return(await _dotNetBungieApiHttpClient
               .GetFromBungieNetPlatform <SearchResultOfFireteamSummary>(url, cancellationToken,
                                                                         authorizationToken.AccessToken)
               .ConfigureAwait(false));
    }
示例#3
0
        public async ValueTask <BungieResponse <SearchResultOfFireteamSummary> > GetAvailableClanFireteams(
            AuthorizationTokenData authData,
            long groupId,
            FireteamPlatform platform,
            DestinyActivityModeType activityType,
            FireteamDateRange dateRange,
            FireteamSlotSearch slotFilter,
            FireteamPublicSearchOption publicOnly,
            int page                = 0,
            string langFilter       = null,
            CancellationToken token = default)
        {
            if (!_configuration.Settings.IdentificationSettings.ApplicationScopes.HasFlag(ApplicationScopes.ReadGroups))
            {
                throw new InsufficientScopeException(ApplicationScopes.ReadGroups);
            }

            var url = StringBuilderPool
                      .GetBuilder(token)
                      .Append("/Fireteam/Clan/")
                      .AddUrlParam(groupId.ToString())
                      .Append("Available/")
                      .AddUrlParam(((byte)platform).ToString())
                      .AddUrlParam(((int)activityType).ToString())
                      .AddUrlParam(((byte)dateRange).ToString())
                      .AddUrlParam(((byte)slotFilter).ToString())
                      .AddUrlParam(((byte)publicOnly).ToString())
                      .AddUrlParam(page.ToString())
                      .AddQueryParam("langFilter", langFilter, () => !string.IsNullOrWhiteSpace(langFilter))
                      .Build();

            return(await _httpClient.GetFromBungieNetPlatform <SearchResultOfFireteamSummary>(url, token,
                                                                                              authData.AccessToken));
        }
 public async ValueTask <BungieResponse <SearchResultOfFireteamSummary> > GetMyClanFireteams(
     long groupId,
     FireteamPlatform platform,
     bool includeClosed,
     int page                = 0,
     string langFilter       = null,
     bool groupFilter        = false,
     CancellationToken token = default)
 {
     return(await _apiAccess.GetMyClanFireteams(_token, groupId, platform, includeClosed, page, langFilter,
                                                groupFilter, token));
 }
 /// <summary>
 ///     <inheritdoc cref="IFireteamMethodsAccess.GetActivePrivateClanFireteamCount" />
 /// </summary>
 /// <param name="platform"></param>
 /// <param name="activityType"></param>
 /// <param name="dateRange"></param>
 /// <param name="slotFilter"></param>
 /// <param name="page"></param>
 /// <param name="langFilter"></param>
 /// <param name="token"></param>
 /// <returns></returns>
 public async ValueTask <BungieResponse <SearchResultOfFireteamSummary> > SearchPublicAvailableClanFireteams(
     FireteamPlatform platform,
     DestinyActivityModeType activityType,
     FireteamDateRange dateRange,
     FireteamSlotSearch slotFilter,
     int page                = 0,
     string langFilter       = null,
     CancellationToken token = default)
 {
     return(await _apiAccess.SearchPublicAvailableClanFireteams(_token, platform, activityType, dateRange,
                                                                slotFilter, page, langFilter, token));
 }
 /// <summary>
 ///     <inheritdoc cref="IFireteamMethodsAccess.GetActivePrivateClanFireteamCount" />
 /// </summary>
 /// <param name="authData"></param>
 /// <param name="groupId"></param>
 /// <param name="platform"></param>
 /// <param name="activityType"></param>
 /// <param name="dateRange"></param>
 /// <param name="slotFilter"></param>
 /// <param name="publicOnly"></param>
 /// <param name="page"></param>
 /// <param name="langFilter"></param>
 /// <param name="token"></param>
 /// <returns></returns>
 public async ValueTask <BungieResponse <SearchResultOfFireteamSummary> > GetAvailableClanFireteams(
     AuthorizationTokenData authData,
     long groupId,
     FireteamPlatform platform,
     DestinyActivityModeType activityType,
     FireteamDateRange dateRange,
     FireteamSlotSearch slotFilter,
     FireteamPublicSearchOption publicOnly,
     int page                = 0,
     string langFilter       = null,
     CancellationToken token = default)
 {
     return(await _apiAccess.GetAvailableClanFireteams(_token, groupId, platform, activityType, dateRange,
                                                       slotFilter, publicOnly, page, langFilter, token));
 }