示例#1
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));
        }
 /// <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));
 }