@page "/search"
@using Grpc.Core
@using GrpcShared.DTO
@using GrpcShared.DTO.Search
@using GrpcShared.DTO.Track.MultipleTrack
@using GrpcShared.DTO.Track.SingleTrack
@using Microsoft.AspNetCore.Authorization
@using NemAnBlazor.Services
@using NemAnBlazor.Services.Interfaces
@using System.Diagnostics
@*@inject HttpClient Http*@
@inject Blazored.LocalStorage.ILocalStorageService localStorage
@inject ITrackClientService SearchService
@inject IAuthClientService AuthService
@inject IIdentityClientService identityService
Search
Search
@code {
//protected override async Task OnInitializedAsync()
//{
//MultipleTrackRequest mreq = new() { Ids = new List(){"3JAeYOjyJodI4PRs44lx2l", "6clZa1yrZe7pJrYFUcD9KW"}, Token = token };
//MultipleTrackResponse multipleTrackResponse = await SearchService.GetListMultipleTrackAsync(mreq);
//SingleTrackRequest singleTrackRequest = new() { Id = "3JAeYOjyJodI4PRs44lx2l", Token = token };
//SingleTrackResponse singleTrackResponse = await SearchService.GetListSingleTrackAsync(singleTrackRequest);
//}
private async Task Click()
{
var userInfo = await localStorage.GetItemAsync("user_info");
var user = await identityService.GetTokenByIdAsync(new GrpcShared.DTO.Db.DbRequestMessage
{
Id = userInfo
});
TokenMessage tokenM = new TokenMessage { Token = user.Token, RefreshToken = user.RefreshToken };
SearchRequest request = new() { Query = "aitch", Type = "track", Token = user.Token };
try
{
SearchResponse searchResponse = await SearchService.GetListSearchAsync(request);
if (searchResponse.ResponseMsg == System.Net.HttpStatusCode.Unauthorized)
{
string? tempToken = await SpotifyHelper.TryRefreshToken(AuthService, tokenM, user, localStorage, identityService);
}
}
catch (RpcException e)
{
if (e.StatusCode == StatusCode.Cancelled)
{
return;
}
throw;
}
}
}