mirror of
https://github.com/jikan-me/jikan-rest.git
synced 2025-02-20 11:23:35 +08:00
docs: update anime episodes
This commit is contained in:
parent
01296b32d6
commit
bacd259315
@ -244,78 +244,17 @@ class AnimeController extends Controller
|
||||
|
||||
/**
|
||||
* @OA\Get(
|
||||
* path="/anime/{id}/episodes/{ep_id}",
|
||||
* operationId="getAnimeEpisodeById",
|
||||
* path="/anime/{id}/episodes",
|
||||
* operationId="getAnimeEpisodes",
|
||||
* tags={"anime"},
|
||||
*
|
||||
*
|
||||
* @OA\Parameter(
|
||||
* name="id",
|
||||
* in="path",
|
||||
* required=true,
|
||||
* @OA\Schema(type="integer")
|
||||
* ),
|
||||
*
|
||||
* @OA\Parameter(
|
||||
* name="ep_id",
|
||||
* in="path",
|
||||
* required=true,
|
||||
* @OA\Schema(type="integer")
|
||||
* ),
|
||||
*
|
||||
* @OA\Response(
|
||||
* response="200",
|
||||
* description="Returns a single anime episode resource",
|
||||
* @OA\JsonContent(
|
||||
* ref="#/components/schemas/anime episode"
|
||||
* )
|
||||
* ),
|
||||
* @OA\Response(
|
||||
* response="400",
|
||||
* description="Error: Bad request. When required parameters were not supplied.",
|
||||
* ),
|
||||
* )
|
||||
*/
|
||||
public function episode(Request $request, int $id, int $episodeId)
|
||||
{
|
||||
$results = DB::table($this->getRouteTable($request))
|
||||
->where('request_hash', $this->fingerprint)
|
||||
->get();
|
||||
|
||||
if (
|
||||
$results->isEmpty()
|
||||
|| $this->isExpired($request, $results)
|
||||
) {
|
||||
$page = $request->get('page') ?? 1;
|
||||
$anime = $this->jikan->getAnimeEpisode(new AnimeEpisodeRequest($id, $episodeId));
|
||||
$response = \json_decode($this->serializer->serialize($anime, 'json'), true);
|
||||
|
||||
$results = $this->updateCache($request, $results, $response);
|
||||
}
|
||||
|
||||
$response = (new AnimeEpisodeResource(
|
||||
$results->first()
|
||||
))->response();
|
||||
|
||||
return $this->prepareResponse(
|
||||
$response,
|
||||
$results,
|
||||
$request
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @OA\Get(
|
||||
* path="/anime/{id}/episodes",
|
||||
* operationId="getAnimeEpisodes",
|
||||
* tags={"anime"},
|
||||
*
|
||||
* @OA\Parameter(
|
||||
* name="id",
|
||||
* in="path",
|
||||
* required=true,
|
||||
* @OA\Schema(type="integer")
|
||||
* ),
|
||||
*
|
||||
* @OA\Parameter(ref="#/components/parameters/page"),
|
||||
*
|
||||
* @OA\Response(
|
||||
@ -389,9 +328,9 @@ class AnimeController extends Controller
|
||||
* description="Recap episode"
|
||||
* ),
|
||||
* @OA\Property(
|
||||
* property="synopsis",
|
||||
* property="forum_url",
|
||||
* type="string",
|
||||
* description="Episode Synopsis"
|
||||
* description="Episode discussion forum URL"
|
||||
* ),
|
||||
* ),
|
||||
* ),
|
||||
@ -427,6 +366,67 @@ class AnimeController extends Controller
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @OA\Get(
|
||||
* path="/anime/{id}/episodes/{episode}",
|
||||
* operationId="getAnimeEpisodeById",
|
||||
* tags={"anime"},
|
||||
*
|
||||
* @OA\Parameter(
|
||||
* name="id",
|
||||
* in="path",
|
||||
* required=true,
|
||||
* @OA\Schema(type="integer")
|
||||
* ),
|
||||
*
|
||||
* @OA\Parameter(
|
||||
* name="ep_id",
|
||||
* in="path",
|
||||
* required=true,
|
||||
* @OA\Schema(type="integer")
|
||||
* ),
|
||||
*
|
||||
* @OA\Response(
|
||||
* response="200",
|
||||
* description="Returns a single anime episode resource",
|
||||
* @OA\JsonContent(
|
||||
* ref="#/components/schemas/anime episode"
|
||||
* )
|
||||
* ),
|
||||
* @OA\Response(
|
||||
* response="400",
|
||||
* description="Error: Bad request. When required parameters were not supplied.",
|
||||
* ),
|
||||
* )
|
||||
*/
|
||||
public function episode(Request $request, int $id, int $episodeId)
|
||||
{
|
||||
$results = DB::table($this->getRouteTable($request))
|
||||
->where('request_hash', $this->fingerprint)
|
||||
->get();
|
||||
|
||||
if (
|
||||
$results->isEmpty()
|
||||
|| $this->isExpired($request, $results)
|
||||
) {
|
||||
$page = $request->get('page') ?? 1;
|
||||
$anime = $this->jikan->getAnimeEpisode(new AnimeEpisodeRequest($id, $episodeId));
|
||||
$response = \json_decode($this->serializer->serialize($anime, 'json'), true);
|
||||
|
||||
$results = $this->updateCache($request, $results, $response);
|
||||
}
|
||||
|
||||
$response = (new AnimeEpisodeResource(
|
||||
$results->first()
|
||||
))->response();
|
||||
|
||||
return $this->prepareResponse(
|
||||
$response,
|
||||
$results,
|
||||
$request
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @OA\Get(
|
||||
* path="/anime/{id}/news",
|
||||
|
@ -15,6 +15,7 @@ class AnimeStaffResource extends JsonResource
|
||||
* @OA\Property(
|
||||
* property="data",
|
||||
* type="array",
|
||||
*
|
||||
* @OA\Items(
|
||||
* type="object",
|
||||
*
|
||||
@ -22,6 +23,7 @@ class AnimeStaffResource extends JsonResource
|
||||
* property="person",
|
||||
* type="object",
|
||||
* description="Person details",
|
||||
*
|
||||
* @OA\Property(
|
||||
* property="mal_id",
|
||||
* type="integer",
|
||||
|
@ -250,14 +250,20 @@ class CommonResource extends JsonResource
|
||||
* @OA\Schema(
|
||||
* schema="pagination",
|
||||
* type="object",
|
||||
*
|
||||
* @OA\Property(
|
||||
* property="last_visible_page",
|
||||
* type="integer"
|
||||
* property="pagination",
|
||||
* type="object",
|
||||
*
|
||||
* @OA\Property(
|
||||
* property="last_visible_page",
|
||||
* type="integer"
|
||||
* ),
|
||||
* @OA\Property(
|
||||
* property="has_next_page",
|
||||
* type="boolean"
|
||||
* ),
|
||||
* ),
|
||||
* @OA\Property(
|
||||
* property="has_next_page",
|
||||
* type="boolean"
|
||||
* ),
|
||||
* ),
|
||||
*
|
||||
* @OA\Schema(
|
||||
|
@ -124,7 +124,43 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"/anime/{id}/episodes/{ep_id}": {
|
||||
"/anime/{id}/episodes": {
|
||||
"get": {
|
||||
"tags": [
|
||||
"anime"
|
||||
],
|
||||
"operationId": "getAnimeEpisodes",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "id",
|
||||
"in": "path",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "integer"
|
||||
}
|
||||
},
|
||||
{
|
||||
"$ref": "#/components/parameters/page"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Returns a list of anime episodes",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/anime episodes"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "Error: Bad request. When required parameters were not supplied."
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/anime/{id}/episodes/{episode}": {
|
||||
"get": {
|
||||
"tags": [
|
||||
"anime"
|
||||
@ -165,42 +201,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"/anime/{id}/episodes": {
|
||||
"get": {
|
||||
"tags": [
|
||||
"anime"
|
||||
],
|
||||
"operationId": "getAnimeEpisodes",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "id",
|
||||
"in": "path",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "integer"
|
||||
}
|
||||
},
|
||||
{
|
||||
"$ref": "#/components/parameters/page"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Returns a list of anime episodes",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/anime episodes"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "Error: Bad request. When required parameters were not supplied."
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/anime/{id}/news": {
|
||||
"get": {
|
||||
"tags": [
|
||||
@ -2707,8 +2707,8 @@
|
||||
"description": "Recap episode",
|
||||
"type": "boolean"
|
||||
},
|
||||
"synopsis": {
|
||||
"description": "Episode Synopsis",
|
||||
"forum_url": {
|
||||
"description": "Episode discussion forum URL",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
@ -4546,11 +4546,16 @@
|
||||
},
|
||||
"pagination": {
|
||||
"properties": {
|
||||
"last_visible_page": {
|
||||
"type": "integer"
|
||||
},
|
||||
"has_next_page": {
|
||||
"type": "boolean"
|
||||
"pagination": {
|
||||
"properties": {
|
||||
"last_visible_page": {
|
||||
"type": "integer"
|
||||
},
|
||||
"has_next_page": {
|
||||
"type": "boolean"
|
||||
}
|
||||
},
|
||||
"type": "object"
|
||||
}
|
||||
},
|
||||
"type": "object"
|
||||
|
Loading…
x
Reference in New Issue
Block a user