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); }
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)); }
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)); }
public async ValueTask <BungieResponse <int> > SetQuestTrackedState( DestinyItemStateRequest request, CancellationToken token = default) { return(await _apiAccess.SetQuestTrackedState(request, _token, token)); }