Exemple #1
0
        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());
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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());
        }