mirror of
https://github.com/jikan-me/jikan-rest.git
synced 2025-02-20 11:23:35 +08:00
Fix+update all reviews endpoints
This commit is contained in:
parent
4daf91f806
commit
fafdd42ef5
@ -22,6 +22,7 @@ use App\Http\Resources\V4\AnimeVideosResource;
|
||||
use App\Http\Resources\V4\ForumResource;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Jikan\Helper\Constants;
|
||||
use Jikan\Request\Anime\AnimeCharactersAndStaffRequest;
|
||||
use Jikan\Request\Anime\AnimeEpisodeRequest;
|
||||
use Jikan\Request\Anime\AnimeEpisodesRequest;
|
||||
@ -38,6 +39,7 @@ use Jikan\Request\Anime\AnimeVideosEpisodesRequest;
|
||||
use Jikan\Request\Anime\AnimeVideosRequest;
|
||||
use Laravel\Lumen\Http\ResponseFactory;
|
||||
use MongoDB\BSON\UTCDateTime;
|
||||
use Symfony\Component\HttpFoundation\Exception\BadRequestException;
|
||||
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
|
||||
|
||||
class AnimeController extends Controller
|
||||
@ -1110,9 +1112,27 @@ class AnimeController extends Controller
|
||||
|| $this->isExpired($request, $results)
|
||||
) {
|
||||
$page = $request->get('page') ?? 1;
|
||||
$anime = $this->jikan->getAnimeReviews(new AnimeReviewsRequest($id, $page));
|
||||
$response = \json_decode($this->serializer->serialize($anime, 'json'), true);
|
||||
$sort = $request->get('sort') ?? Constants::REVIEWS_SORT_MOST_VOTED;
|
||||
|
||||
if (!in_array($sort, [Constants::REVIEWS_SORT_MOST_VOTED, Constants::REVIEWS_SORT_NEWEST, Constants::REVIEWS_SORT_OLDEST])) {
|
||||
throw new BadRequestException('Invalid sort for reviews. Please refer to the documentation: https://docs.api.jikan.moe/');
|
||||
}
|
||||
|
||||
$spoilers = $request->get('spoilers') ?? false;
|
||||
$preliminary = $request->get('preliminary') ?? false;
|
||||
|
||||
$anime = $this->jikan
|
||||
->getAnimeReviews(
|
||||
new AnimeReviewsRequest(
|
||||
$id,
|
||||
$page,
|
||||
$sort,
|
||||
$spoilers,
|
||||
$preliminary
|
||||
)
|
||||
);
|
||||
|
||||
$response = \json_decode($this->serializer->serialize($anime, 'json'), true);
|
||||
$results = $this->updateCache($request, $results, $response);
|
||||
}
|
||||
|
||||
|
@ -25,6 +25,7 @@ use App\Manga;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Jikan\Helper\Constants;
|
||||
use Jikan\Request\Anime\AnimeCharactersAndStaffRequest;
|
||||
use Jikan\Request\Anime\AnimeForumRequest;
|
||||
use Jikan\Request\Anime\AnimeMoreInfoRequest;
|
||||
@ -46,6 +47,7 @@ use Jikan\Request\Manga\MangaReviewsRequest;
|
||||
use Jikan\Request\Manga\MangaStatsRequest;
|
||||
use MongoDB\BSON\UTCDateTime;
|
||||
use mysql_xdevapi\Result;
|
||||
use Symfony\Component\HttpFoundation\Exception\BadRequestException;
|
||||
|
||||
class MangaController extends Controller
|
||||
{
|
||||
@ -442,7 +444,7 @@ class MangaController extends Controller
|
||||
* @OA\Property(
|
||||
* property="data",
|
||||
* type="array",
|
||||
*
|
||||
*
|
||||
* @OA\Items(
|
||||
* type="object",
|
||||
* ref="#/components/schemas/manga_images"
|
||||
@ -731,9 +733,27 @@ class MangaController extends Controller
|
||||
|| $this->isExpired($request, $results)
|
||||
) {
|
||||
$page = $request->get('page') ?? 1;
|
||||
$manga = $this->jikan->getMangaReviews(new MangaReviewsRequest($id, $page));
|
||||
$response = \json_decode($this->serializer->serialize($manga, 'json'), true);
|
||||
$sort = $request->get('sort') ?? Constants::REVIEWS_SORT_MOST_VOTED;
|
||||
|
||||
if (!in_array($sort, [Constants::REVIEWS_SORT_MOST_VOTED, Constants::REVIEWS_SORT_NEWEST, Constants::REVIEWS_SORT_OLDEST])) {
|
||||
throw new BadRequestException('Invalid sort for reviews. Please refer to the documentation: https://docs.api.jikan.moe/');
|
||||
}
|
||||
|
||||
$spoilers = $request->get('spoilers') ?? false;
|
||||
$preliminary = $request->get('preliminary') ?? false;
|
||||
|
||||
$manga = $this->jikan
|
||||
->getMangaReviews(
|
||||
new MangaReviewsRequest(
|
||||
$id,
|
||||
$page,
|
||||
$sort,
|
||||
$spoilers,
|
||||
$preliminary
|
||||
)
|
||||
);
|
||||
|
||||
$response = \json_decode($this->serializer->serialize($manga, 'json'), true);
|
||||
$results = $this->updateCache($request, $results, $response);
|
||||
}
|
||||
|
||||
|
@ -9,7 +9,9 @@ use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Jikan\Helper\Constants;
|
||||
use Jikan\Request\Reviews\RecentReviewsRequest;
|
||||
use Jikan\Request\Reviews\ReviewsRequest;
|
||||
use MongoDB\BSON\UTCDateTime;
|
||||
use Symfony\Component\HttpFoundation\Exception\BadRequestException;
|
||||
|
||||
class ReviewsController extends Controller
|
||||
{
|
||||
@ -73,7 +75,26 @@ class ReviewsController extends Controller
|
||||
|| $this->isExpired($request, $results)
|
||||
) {
|
||||
$page = $request->get('page') ?? 1;
|
||||
$anime = $this->jikan->getRecentReviews(new RecentReviewsRequest(Constants::RECENT_REVIEW_ANIME, $page));
|
||||
$sort = $request->get('sort') ?? Constants::REVIEWS_SORT_MOST_VOTED;
|
||||
|
||||
if (!in_array($sort, [Constants::REVIEWS_SORT_MOST_VOTED, Constants::REVIEWS_SORT_NEWEST, Constants::REVIEWS_SORT_OLDEST])) {
|
||||
throw new BadRequestException('Invalid sort for reviews. Please refer to the documentation: https://docs.api.jikan.moe/');
|
||||
}
|
||||
|
||||
$spoilers = $request->get('spoilers') ?? false;
|
||||
$preliminary = $request->get('preliminary') ?? false;
|
||||
|
||||
$anime = $this->jikan
|
||||
->getReviews(
|
||||
new ReviewsRequest(
|
||||
Constants::ANIME,
|
||||
$page,
|
||||
$sort,
|
||||
$spoilers,
|
||||
$preliminary
|
||||
)
|
||||
);
|
||||
|
||||
$response = \json_decode($this->serializer->serialize($anime, 'json'), true);
|
||||
|
||||
$results = $this->updateCache($request, $results, $response);
|
||||
@ -149,9 +170,27 @@ class ReviewsController extends Controller
|
||||
|| $this->isExpired($request, $results)
|
||||
) {
|
||||
$page = $request->get('page') ?? 1;
|
||||
$anime = $this->jikan->getRecentReviews(new RecentReviewsRequest(Constants::RECENT_REVIEW_MANGA, $page));
|
||||
$response = \json_decode($this->serializer->serialize($anime, 'json'), true);
|
||||
$sort = $request->get('sort') ?? Constants::REVIEWS_SORT_MOST_VOTED;
|
||||
|
||||
if (!in_array($sort, [Constants::REVIEWS_SORT_MOST_VOTED, Constants::REVIEWS_SORT_NEWEST, Constants::REVIEWS_SORT_OLDEST])) {
|
||||
throw new BadRequestException('Invalid sort for reviews. Please refer to the documentation: https://docs.api.jikan.moe/');
|
||||
}
|
||||
|
||||
$spoilers = $request->get('spoilers') ?? false;
|
||||
$preliminary = $request->get('preliminary') ?? false;
|
||||
|
||||
$anime = $this->jikan
|
||||
->getReviews(
|
||||
new ReviewsRequest(
|
||||
Constants::MANGA,
|
||||
$page,
|
||||
$sort,
|
||||
$spoilers,
|
||||
$preliminary
|
||||
)
|
||||
);
|
||||
|
||||
$response = \json_decode($this->serializer->serialize($anime, 'json'), true);
|
||||
$results = $this->updateCache($request, $results, $response);
|
||||
}
|
||||
|
||||
|
@ -14,6 +14,7 @@ use App\Http\Resources\V4\UserProfileMangaListResource;
|
||||
use App\Profile;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Jikan\Helper\Constants;
|
||||
use Jikan\Request\User\RecentlyOnlineUsersRequest;
|
||||
use Jikan\Request\User\UserAnimeListRequest;
|
||||
use Jikan\Request\User\UserClubsRequest;
|
||||
@ -23,6 +24,7 @@ use Jikan\Request\User\UserMangaListRequest;
|
||||
use Jikan\Request\User\UserRecommendationsRequest;
|
||||
use Jikan\Request\User\UserReviewsRequest;
|
||||
use MongoDB\BSON\UTCDateTime;
|
||||
use Symfony\Component\HttpFoundation\Exception\BadRequestException;
|
||||
|
||||
/**
|
||||
* Class Controller
|
||||
@ -964,9 +966,16 @@ class UserController extends Controller
|
||||
|| $this->isExpired($request, $results)
|
||||
) {
|
||||
$page = $request->get('page') ?? 1;
|
||||
$data = $this->jikan->getUserReviews(new UserReviewsRequest($username, $page));
|
||||
$response = \json_decode($this->serializer->serialize($data, 'json'), true);
|
||||
|
||||
$data = $this->jikan
|
||||
->getUserReviews(
|
||||
new UserReviewsRequest(
|
||||
$username,
|
||||
$page,
|
||||
)
|
||||
);
|
||||
|
||||
$response = \json_decode($this->serializer->serialize($data, 'json'), true);
|
||||
$results = $this->updateCache($request, $results, $response);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user