private async Task SetLockState(bool itemState, long itemItemInstanceId, long characterId, BungieMembershipType membershipType)
        {
            var payload = new DestinyItemStateRequest()
            {
                State          = itemState,
                ItemId         = itemItemInstanceId,
                CharacterId    = characterId,
                MembershipType = membershipType
            };

            Log.Info("Setting locked state to {locked} on item {itemId}", itemState, itemItemInstanceId);

            await GetBungie <int>("/Platform/Destiny2/Actions/Items/SetLockState/", requireAuth : true,
                                  method : Method.POST, body : payload);
        }
Exemple #2
0
        public async ValueTask <BungieResponse <int> > SetQuestTrackedState(
            DestinyItemStateRequest request,
            AuthorizationTokenData authData,
            CancellationToken token = default)
        {
            if (!_configuration.Settings.IdentificationSettings.ApplicationScopes
                .HasFlag(ApplicationScopes.MoveEquipDestinyItems))
            {
                throw new InsufficientScopeException(ApplicationScopes.MoveEquipDestinyItems);
            }

            var stream = new MemoryStream();
            await _serializationHelper.SerializeAsync(stream, request);

            return(await _httpClient.PostToBungieNetPlatform <int>("/Destiny2/Actions/Items/SetTrackedState/", token,
                                                                   stream, authData.AccessToken));
        }
Exemple #3
0
    public async ValueTask <BungieResponse <int> > SetQuestTrackedState(
        DestinyItemStateRequest request,
        AuthorizationTokenData authorizationToken,
        CancellationToken cancellationToken = default)
    {
        if (!_configuration.HasSufficientRights(ApplicationScopes.MoveEquipDestinyItems))
        {
            throw new InsufficientScopeException(ApplicationScopes.MoveEquipDestinyItems);
        }

        var stream = new MemoryStream();
        await _serializer.SerializeAsync(stream, request);

        return(await _dotNetBungieApiHttpClient
               .PostToBungieNetPlatform <int>("/Destiny2/Actions/Items/SetTrackedState/", cancellationToken, stream,
                                              authorizationToken.AccessToken)
               .ConfigureAwait(false));
    }
Exemple #4
0
 public async ValueTask <BungieResponse <int> > SetQuestTrackedState(
     DestinyItemStateRequest request,
     CancellationToken token = default)
 {
     return(await _apiAccess.SetQuestTrackedState(request, _token, token));
 }