public async Task <EpisodeAlternateResponse> GetUnclaimedEpisode(int count, int page) { try { HttpResponseMessage response = null; using (var requestMessage = new HttpRequestMessage(HttpMethod.Get, $"{_httpClient.BaseAddress}episodes/all/unverified?page={page.ToString()}&per_page={count.ToString()}")) { requestMessage.Headers.Authorization = new AuthenticationHeaderValue("Bearer", (await _userSession.GetToken()).AccessToken); response = await _httpClient.SendAsync(requestMessage); } if (response.IsSuccessStatusCode) { string json = response.Content.ReadAsStringAsync().Result; EpisodeAlternateResponse ep = JsonSerializer.Deserialize <EpisodeAlternateResponse>(json); return(ep); } else { switch (response.StatusCode) { case HttpStatusCode.Unauthorized: _toastService.ShowError("You are not allowed on to view unverified episodes!"); break; case HttpStatusCode.NotFound: _toastService.ShowError("Error 404: Backend server is offline."); SentrySdk.CaptureMessage("API: Error 404"); break; } } } catch (Exception e) { SentrySdk.CaptureException(e); } return(null); }
public async Task <ActionResult <EpisodeAlternateResponse> > GetUnverifiedAllEpisodes(int page, int per_page) { if (page == 0) { page = 1; } try { User user = await _authenticationService.GetUserFromValidToken(Request); if (!await _authenticationService.CheckIfUserHasElivatedPermissionByUserObject(user)) { return(Unauthorized()); } EpisodeAlternateResponse episodeResponse = new EpisodeAlternateResponse(); episodeResponse.Data = await _databaseService.GetEpisodeAwaitingVerificationAsync(page, per_page); episodeResponse.Meta.EpisodeCount = await _databaseService.GetUnverifiedEpisodeCountAsync(); episodeResponse.Meta.EpisodeMaxPageCount = (int)Math.Ceiling((decimal)episodeResponse.Meta.EpisodeCount / per_page); if (episodeResponse.Data.Count == 0) { return(NoContent()); } return(Ok(episodeResponse)); } catch (TokenDoesNotExistException e) { return(Unauthorized()); } catch (Exception e) { SentrySdk.CaptureException(e); _logger.LogError(e.Message); return(Problem()); } }