private async Task <MediaList> SearchMediaList(int userId, Media anime) { var query = @" query($userId: Int, $mediaId: Int){ Page (page: 1, perPage: 50) { pageInfo { total currentPage lastPage hasNextPage perPage } mediaList(userId: $userId, mediaId : $mediaId, type:ANIME){ id status } } } "; var variables = new QueryVariables { UserId = userId, MediaId = anime.Id }; var queryBody = new QueryBody(query, variables); var responseData = await QueryAnilist(queryBody); var anilistReturnData = AnlistReturnData.FromJson(responseData); return(anilistReturnData.Data.Page?.MediaList?.FirstOrDefault()); }
private async Task <int?> GetUser() { var query = @" query{ Viewer{ id } } "; var queryBody = new QueryBody(query); var responseData = await QueryAnilist(queryBody); var anilistReturnData = AnlistReturnData.FromJson(responseData); return(anilistReturnData.Data.Viewer?.Id); }
private async Task <Media> SearchAnilist(PlexPayload payload) { var query = @" query($search:String, $seasonYear: Int, $format: MediaFormat){ Page (page: 1, perPage: 1) { pageInfo { total currentPage lastPage hasNextPage perPage } media(search:$search, seasonYear:$seasonYear, format: $format, type:ANIME){ id title { romaji } episodes } } } "; if (string.IsNullOrEmpty(payload.Metadata.GrandparentTitle)) { payload.Metadata.GrandparentTitle = null; } var variables = new QueryVariables { Search = payload.Metadata.GrandparentTitle ?? payload.Metadata.ParentTitle ?? payload.Metadata.Title, SeasonYear = payload.Metadata.Year, Format = payload.Metadata.Type == "movie" ? MediaFormat.MOVIE : MediaFormat.TV }; var queryBody = new QueryBody(query, variables); var responseData = await QueryAnilist(queryBody); var anilistReturnData = AnlistReturnData.FromJson(responseData); return(anilistReturnData.Data.Page?.Media?.FirstOrDefault()); }