public async ValueTask <BungieResponse <int> > EditClanBanner(
     long groupId,
     ClanBanner request,
     CancellationToken token = default)
 {
     return(await _apiAccess.EditClanBanner(_token, groupId, request, token));
 }
Пример #2
0
        public bool SetClanBanner(Clan clan, ClanBanner info)
        {
            if (info == null)
            {
                return(false);
            }
            if (clan == null)
            {
                return(false);
            }
            var bannerCode = info.BannerCode;

            if (SetClanBanner(clan, bannerCode))
            {
                if (info.FollowKingdomColors)
                {
                    Traverse.Create(clan).Method("UpdateBannerColorsAccordingToKingdom").GetValue();
                }
            }
            return(true);
        }
Пример #3
0
        public async ValueTask <BungieResponse <int> > EditClanBanner(
            AuthorizationTokenData authData,
            long groupId,
            ClanBanner 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("EditClanBanner/")
                      .Build();
            var stream = new MemoryStream();
            await _serializationHelper.SerializeAsync(stream, request);

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