public async ValueTask <BungieResponse <long> > AddOptionalConversation(
     long groupId,
     GroupOptionalConversationAddRequest request,
     CancellationToken token = default)
 {
     return(await _apiAccess.AddOptionalConversation(_token, groupId, request, token));
 }
예제 #2
0
        public async ValueTask <BungieResponse <long> > AddOptionalConversation(
            AuthorizationTokenData authData,
            long groupId,
            GroupOptionalConversationAddRequest 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("OptionalConversations/Add/")
                      .Build();
            var stream = new MemoryStream();
            await _serializationHelper.SerializeAsync(stream, request);

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