jikan-rest/routes/web.v4.php

577 lines
13 KiB
PHP
Raw Permalink Normal View History

2019-04-26 02:20:32 +05:00
<?php
$router->get('/', function () use ($router) {
return response()->json([
2020-07-22 19:11:26 +05:00
'author_url' => 'https://github.com/irfan-dahir',
'discord_url' => 'http://discord.jikan.moe',
2021-01-14 05:06:52 +05:00
'version' => env('APP_VERSION'),
'parser_version' => JIKAN_PARSER_VERSION,
'website_url' => 'https://jikan.moe',
2020-07-22 19:11:26 +05:00
'documentation_url' => 'https://docs.api.jikan.moe/',
'github_url' => 'https://github.com/jikan-me/jikan-rest',
'parser_github_url' => 'https://github.com/jikan-me/jikan',
2021-04-12 00:10:33 +05:00
'production_api_url' => 'https://api.jikan.moe/v4/',
'status_url' => 'https://status.jikan.moe',
'myanimelist_heartbeat' => [
'status' => \App\Providers\SourceHeartbeatProvider::getHeartbeatStatus(),
'score' => \App\Providers\SourceHeartbeatProvider::getHeartbeatScore(),
'down' => \App\Providers\SourceHeartbeatProvider::isFailoverEnabled(),
'last_downtime' => \App\Providers\SourceHeartbeatProvider::getLastDowntime()
]
2019-04-26 02:20:32 +05:00
]);
});
2020-06-13 11:35:09 +05:00
$router->get('/anime', [
'uses' => 'SearchController@anime'
]);
2019-04-26 02:20:32 +05:00
$router->group(
[
'prefix' => 'anime/{id:[0-9]+}'
],
2019-05-13 05:46:48 +05:00
function () use ($router) {
2019-04-26 02:20:32 +05:00
$router->get('/', [
'uses' => 'AnimeController@main'
]);
2022-05-22 13:58:34 +05:00
$router->get('/full', [
'uses' => 'AnimeController@full'
]);
2020-06-13 11:35:09 +05:00
$router->get('/characters', [
'uses' => 'AnimeController@characters'
]);
$router->get('/staff', [
'uses' => 'AnimeController@staff'
2019-04-26 02:20:32 +05:00
]);
2020-04-25 11:57:49 +05:00
$router->get('/episodes', [
2019-04-26 02:20:32 +05:00
'uses' => 'AnimeController@episodes'
]);
2020-04-25 11:57:49 +05:00
$router->get('/episodes/{episodeId:[0-9]+}', [
'uses' => 'AnimeController@episode'
]);
2019-04-26 02:20:32 +05:00
$router->get('/news', [
'uses' => 'AnimeController@news'
]);
2020-05-31 01:11:18 +05:00
$router->get('/forum', [
2019-04-26 02:20:32 +05:00
'uses' => 'AnimeController@forum'
]);
2020-07-05 11:29:11 +05:00
$router->get('/videos', [
'uses' => 'AnimeController@videos'
]);
2022-07-27 21:50:21 +05:00
$router->get('/videos/episodes', [
'uses' => 'AnimeController@videosEpisodes'
]);
2020-07-05 11:29:11 +05:00
$router->get('/pictures', [
'uses' => 'AnimeController@pictures'
2019-04-26 02:20:32 +05:00
]);
2020-05-21 20:54:18 +05:00
$router->get('/statistics', [
2019-04-26 02:20:32 +05:00
'uses' => 'AnimeController@stats'
]);
$router->get('/moreinfo', [
'uses' => 'AnimeController@moreInfo'
]);
$router->get('/recommendations', [
'uses' => 'AnimeController@recommendations'
]);
2020-07-05 12:45:12 +05:00
$router->get('/userupdates', [
2019-04-26 02:20:32 +05:00
'uses' => 'AnimeController@userupdates'
]);
2020-07-05 12:45:12 +05:00
$router->get('/reviews', [
2019-04-26 02:20:32 +05:00
'uses' => 'AnimeController@reviews'
]);
2020-11-26 23:31:42 +05:00
$router->get('/relations', [
'uses' => 'AnimeController@relations'
]);
2020-11-26 23:35:29 +05:00
$router->get('/themes', [
'uses' => 'AnimeController@themes'
]);
$router->get('/external', [
'uses' => 'AnimeController@external'
]);
$router->get('/streaming', [
'uses' => 'AnimeController@streaming'
]);
2019-04-26 02:20:32 +05:00
}
);
2020-06-13 18:52:49 +05:00
$router->get('/manga', [
'uses' => 'SearchController@manga'
]);
2019-04-26 02:20:32 +05:00
$router->group(
[
'prefix' => 'manga/{id:[0-9]+}'
],
2019-05-13 05:46:48 +05:00
function () use ($router) {
2019-04-26 02:20:32 +05:00
$router->get('/', [
'uses' => 'MangaController@main'
]);
2022-05-22 13:58:34 +05:00
$router->get('/full', [
'uses' => 'MangaController@full'
]);
2019-04-26 02:20:32 +05:00
$router->get('/characters', [
'uses' => 'MangaController@characters'
]);
$router->get('/news', [
'uses' => 'MangaController@news'
]);
2020-05-31 01:11:18 +05:00
$router->get('/forum', [
2019-04-26 02:20:32 +05:00
'uses' => 'MangaController@forum'
]);
$router->get('/pictures', [
2020-07-05 12:26:49 +05:00
'uses' => 'MangaController@pictures'
2019-04-26 02:20:32 +05:00
]);
2020-05-21 20:54:18 +05:00
$router->get('/statistics', [
2019-04-26 02:20:32 +05:00
'uses' => 'MangaController@stats'
]);
$router->get('/moreinfo', [
'uses' => 'MangaController@moreInfo'
]);
$router->get('/recommendations', [
'uses' => 'MangaController@recommendations'
]);
2020-07-05 12:45:12 +05:00
$router->get('/userupdates', [
2019-04-26 02:20:32 +05:00
'uses' => 'MangaController@userupdates'
]);
2020-07-05 12:45:12 +05:00
$router->get('/reviews', [
2019-04-26 02:20:32 +05:00
'uses' => 'MangaController@reviews'
]);
2020-11-26 23:40:31 +05:00
$router->get('/relations', [
'uses' => 'MangaController@relations'
]);
$router->get('/external', [
'uses' => 'MangaController@external'
]);
2019-04-26 02:20:32 +05:00
}
);
2020-06-13 18:52:49 +05:00
$router->get('/characters', [
2020-07-12 22:08:33 +05:00
'uses' => 'SearchController@character'
2020-06-13 18:52:49 +05:00
]);
2020-07-12 22:08:33 +05:00
2019-04-26 02:20:32 +05:00
$router->group(
[
2020-05-21 08:28:18 +05:00
'prefix' => 'characters/{id:[0-9]+}'
2019-04-26 02:20:32 +05:00
],
2019-05-13 05:46:48 +05:00
function () use ($router) {
2019-04-26 02:20:32 +05:00
$router->get('/', [
'uses' => 'CharacterController@main'
]);
2022-05-22 13:58:34 +05:00
$router->get('/full', [
'uses' => 'CharacterController@full'
]);
$router->get('/anime', [
'uses' => 'CharacterController@anime'
]);
$router->get('/voices', [
'uses' => 'CharacterController@voices'
]);
$router->get('/manga', [
'uses' => 'CharacterController@manga'
]);
2019-04-26 02:20:32 +05:00
$router->get('/pictures', [
2020-07-05 12:45:12 +05:00
'uses' => 'CharacterController@pictures'
2019-04-26 02:20:32 +05:00
]);
}
);
2020-06-13 18:52:49 +05:00
$router->get('/people', [
'uses' => 'SearchController@people'
]);
2019-04-26 02:20:32 +05:00
$router->group(
[
2020-05-21 08:28:18 +05:00
'prefix' => 'people/{id:[0-9]+}'
2019-04-26 02:20:32 +05:00
],
2019-05-13 05:46:48 +05:00
function () use ($router) {
2019-04-26 02:20:32 +05:00
$router->get('/', [
'uses' => 'PersonController@main'
]);
2022-05-22 13:58:34 +05:00
$router->get('/full', [
'uses' => 'PersonController@full'
]);
$router->get('/anime', [
'uses' => 'PersonController@anime'
]);
$router->get('/voices', [
'uses' => 'PersonController@voices'
]);
$router->get('/manga', [
'uses' => 'PersonController@manga'
]);
2019-04-26 02:20:32 +05:00
$router->get('/pictures', [
2020-07-05 12:45:12 +05:00
'uses' => 'PersonController@pictures'
2019-04-26 02:20:32 +05:00
]);
}
);
2020-05-21 20:54:18 +05:00
$router->group(
[
'prefix' => 'seasons'
],
function () use ($router) {
$router->get('/', [
'uses' => 'SeasonController@archive'
]);
2019-04-26 02:20:32 +05:00
2020-05-21 20:54:18 +05:00
$router->get('/now', [
'uses' => 'SeasonController@now'
2020-05-21 20:54:18 +05:00
]);
2019-04-26 02:20:32 +05:00
2020-06-13 18:52:49 +05:00
$router->get('/upcoming', [
2020-05-21 20:54:18 +05:00
'uses' => 'SeasonController@later'
]);
$router->get('/{year:[0-9]{4}}/{season:[A-Za-z]+}', [
'uses' => 'SeasonController@main'
]);
}
);
$router->get('schedules[/{filter:[A-Za-z]+}]', [
2019-04-26 02:20:32 +05:00
'uses' => 'ScheduleController@main'
]);
2020-04-25 10:59:47 +05:00
$router->group(
[
'prefix' => 'producers'
],
function() use ($router) {
$router->get('/', [
'uses' => 'SearchController@producers',
]);
$router->get('/{id:[0-9]+}', [
'uses' => 'ProducerController@main'
]);
}
);
$router->get('/producers', [
'uses' => 'SearchController@producers'
]);
$router->group(
[
'prefix' => 'producers/{id:[0-9]+}'
],
function () use ($router) {
$router->get('/', [
'uses' => 'ProducerController@main'
]);
$router->get('/full', [
'uses' => 'ProducerController@full'
]);
$router->get('/external', [
'uses' => 'ProducerController@external'
2020-04-25 10:59:47 +05:00
]);
}
);
$router->group(
[
'prefix' => 'magazines'
],
function() use ($router) {
$router->get('/', [
'uses' => 'MagazineController@main',
]);
}
);
2019-04-26 02:20:32 +05:00
$router->group(
[
'prefix' => 'users'
2019-04-26 02:20:32 +05:00
],
2019-05-13 05:46:48 +05:00
function () use ($router) {
2019-04-26 02:20:32 +05:00
$router->get('/', [
'uses' => 'SearchController@users'
]);
2020-07-12 22:36:19 +05:00
$router->get('/recentlyonline', [
'uses' => 'UserController@recentlyOnline'
2019-04-26 02:20:32 +05:00
]);
2020-07-12 22:36:19 +05:00
$router->get('/userbyid/{id:[0-9]+}', [
'uses' => 'SearchController@userById'
]);
$router->group(
[
'prefix' => '/{username:[\w\-]+}'
],
function () use ($router) {
$router->get('/', [
'uses' => 'UserController@profile'
]);
2019-04-26 02:20:32 +05:00
2022-05-22 13:58:34 +05:00
$router->get('/full', [
'uses' => 'UserController@full'
]);
$router->get('/statistics', [
'uses' => 'UserController@statistics'
]);
$router->get('/favorites', [
'uses' => 'UserController@favorites'
]);
2021-02-01 16:22:40 +02:00
$router->get('/userupdates', [
'uses' => 'UserController@userupdates'
]);
$router->get('/about', [
'uses' => 'UserController@about'
]);
$router->get('/history[/{type:[A-Za-z]+}]', [
'uses' => 'UserController@history'
]);
2019-04-26 02:20:32 +05:00
2022-05-20 22:52:39 +05:00
$router->get('/friends', [
'uses' => 'UserController@friends'
]);
2019-04-26 02:20:32 +05:00
2022-02-10 19:11:28 +05:00
if (env('DISABLE_USER_LISTS') === false) {
$router->get('/animelist[/{status:[A-Za-z]+}]', [
'uses' => 'UserController@animelist'
]);
$router->get('/mangalist[/{status:[A-Za-z]+}]', [
'uses' => 'UserController@mangalist'
]);
}
2020-04-25 11:16:29 +05:00
$router->get('/recommendations', [
'uses' => 'UserController@recommendations'
]);
2020-04-25 11:40:29 +05:00
$router->get('/reviews', [
'uses' => 'UserController@reviews'
]);
$router->get('/clubs', [
'uses' => 'UserController@clubs'
]);
$router->get('/external', [
'uses' => 'UserController@external'
]);
}
);
2019-04-26 02:20:32 +05:00
}
);
$router->group(
[
2020-04-25 11:16:29 +05:00
'prefix' => 'genres'
2019-04-26 02:20:32 +05:00
],
2019-05-13 05:46:48 +05:00
function () use ($router) {
2021-01-13 11:24:26 +05:00
2020-04-25 10:45:03 +05:00
$router->get('/anime', [
2019-04-26 02:20:32 +05:00
'uses' => 'GenreController@anime'
]);
$router->get('/manga', [
2019-04-26 02:20:32 +05:00
'uses' => 'GenreController@manga'
]);
}
);
$router->group(
[
'prefix' => 'top'
],
2019-05-13 05:46:48 +05:00
function () use ($router) {
2021-01-14 07:23:45 +05:00
$router->get('/anime', [
2019-04-26 02:20:32 +05:00
'uses' => 'TopController@anime'
]);
2021-01-14 07:23:45 +05:00
$router->get('/manga', [
2019-04-26 02:20:32 +05:00
'uses' => 'TopController@manga'
]);
2021-01-14 07:23:45 +05:00
$router->get('/characters', [
2019-04-26 02:20:32 +05:00
'uses' => 'TopController@characters'
]);
2021-01-14 07:23:45 +05:00
$router->get('/people', [
2019-04-26 02:20:32 +05:00
'uses' => 'TopController@people'
]);
2020-04-25 11:40:29 +05:00
2020-04-25 11:35:51 +05:00
$router->get('/reviews', [
2020-07-17 00:13:41 +05:00
'uses' => 'TopController@reviews'
2020-04-25 11:35:51 +05:00
]);
2019-04-26 02:20:32 +05:00
}
);
2022-02-12 00:07:23 +05:00
$router->get('/clubs', [
'uses' => 'SearchController@clubs'
]);
2019-04-26 02:20:32 +05:00
$router->group(
[
2020-12-01 09:06:29 +05:00
'prefix' => 'clubs'
2019-04-26 02:20:32 +05:00
],
2019-05-13 05:46:48 +05:00
function () use ($router) {
2020-12-01 09:06:29 +05:00
$router->get('/{id:[0-9]+}', [
2019-04-26 02:20:32 +05:00
'uses' => 'ClubController@main'
]);
2021-01-14 07:28:23 +05:00
$router->get('/{id:[0-9]+}/members', [
2019-04-26 02:20:32 +05:00
'uses' => 'ClubController@members'
]);
2021-12-29 01:05:55 +05:00
$router->get('/{id:[0-9]+}/staff', [
'uses' => 'ClubController@staff'
]);
2021-12-29 01:22:08 +05:00
$router->get('/{id:[0-9]+}/relations', [
'uses' => 'ClubController@relations'
]);
2019-04-26 02:20:32 +05:00
}
2019-05-13 05:46:48 +05:00
);
$router->group(
[
'prefix' => 'reviews'
],
function () use ($router) {
$router->get('/anime', [
'uses' => 'ReviewsController@anime'
]);
$router->get('/manga', [
'uses' => 'ReviewsController@manga'
]);
}
2020-04-25 11:34:23 +05:00
);
$router->group(
[
'prefix' => 'recommendations'
],
function () use ($router) {
$router->get('/anime', [
'uses' => 'RecommendationsController@anime'
]);
$router->get('/manga', [
'uses' => 'RecommendationsController@manga'
]);
}
);
$router->group(
[
'prefix' => 'watch'
],
function () use ($router) {
$router->get('/episodes', [
'uses' => 'WatchController@recentEpisodes'
]);
$router->get('/episodes/popular', [
'uses' => 'WatchController@popularEpisodes'
]);
$router->get('/promos', [
'uses' => 'WatchController@recentPromos'
]);
$router->get('/promos/popular', [
'uses' => 'WatchController@popularPromos'
]);
}
);
$router->group(
[
'prefix' => 'random'
],
function() use ($router) {
$router->get('/anime', [
'uses' => 'RandomController@anime',
]);
$router->get('/manga', [
'uses' => 'RandomController@manga',
]);
$router->get('/characters', [
'uses' => 'RandomController@characters',
]);
$router->get('/people', [
'uses' => 'RandomController@people',
]);
2020-11-27 00:30:02 +05:00
$router->get('/users', [
'uses' => 'RandomController@users',
]);
}
2021-09-11 03:39:49 +05:00
);
$router->group(
[
'prefix' => 'insights'
],
function() use ($router) {
$router->get('/', [
'uses' => 'InsightsController@main'
]);
$router->get('/trends', [
'uses' => 'InsightsController@trends'
]);
}
);