routes/api.php
<?php
// VERSION 2 | Metadata
Route::name('v2_pass_through')->get('pass-through/{path1?}/{path2?}', 'ApiMetadataController@passThrough');
Route::name('v2_library_asset')->get('library/asset', 'ApiMetadataController@assets');
Route::name('v2_api_versionLatest')->get('api/apiversion', 'ApiMetadataController@versionLatest');
Route::name('v2_api_apiReply')->get('api/reply', 'ApiMetadataController@replyTypes');
// VERSION 2 | Books
Route::name('v2_library_book')->get('library/book', 'Bible\BooksControllerV2@book');
Route::name('v2_library_bookOrder')->get('library/bookorder', 'Bible\BooksControllerV2@bookOrder');
Route::name('v2_library_bookName')->get('library/bookname', 'Bible\BooksControllerV2@bookNames');
Route::name('v2_library_chapter')->get('library/chapter', 'Bible\BooksControllerV2@chapters');
// VERSION 2 | Languages
Route::name('v2_library_language')->get('library/language', 'Wiki\LanguageControllerV2@languageListing');
Route::name('v2_library_volumeLanguage')->get('library/volumelanguage', 'Wiki\LanguageControllerV2@volumeLanguage');
Route::name('v2_library_volumeLanguageFamily')->get('library/volumelanguagefamily','Wiki\LanguageControllerV2@volumeLanguageFamily');
Route::name('v2_country_lang')->get('country/countrylang', 'Wiki\LanguageControllerV2@countryLang');
// VERSION 2 | Library
Route::name('v2_library_version')->get('library/version', 'Bible\LibraryController@version');
Route::name('v2_library_metadata')->get('library/metadata', 'Bible\LibraryController@metadata');
Route::name('v2_library_volume')->get('library/volume', 'Bible\LibraryController@volume');
Route::name('v2_library_verseInfo')->get('library/verseinfo', 'Bible\TextController@info');
Route::name('v2_library_numbers')->get('library/numbers', 'Wiki\NumbersController@customRange');
Route::name('v2_library_organization')->get('library/organization', 'Organization\OrganizationsController@index');
Route::name('v2_volume_history')->get('library/volumehistory', 'Bible\LibraryController@history');
Route::name('v2_volume_organization_list')->get('library/volumeorganization', 'Organization\OrganizationsController@index');
// VERSION 2 | Text
Route::name('v2_text_font')->get('text/font', 'Bible\TextController@fonts');
Route::name('v2_text_verse')->get('text/verse', 'Bible\TextController@index');
Route::name('v2_text_search')->get('text/search', 'Bible\TextController@search');
Route::name('v2_text_search_group')->get('text/searchgroup', 'Bible\TextController@searchGroup');
// VERSION 2 | Audio
Route::name('v2_audio_location')->get('audio/location', 'ApiMetadataController@assets');
Route::name('v2_audio_path')->get('audio/path', 'Bible\AudioController@index');
Route::name('v2_audio_timestamps')->get('audio/versestart', 'Bible\AudioController@timestampsByReference');
// VERSION 2 | Video
Route::name('v2_video_location')->get('video/location', 'Organization\FilmsController@location');
Route::name('v2_video_path')->get('video/videopath', 'Organization\FilmsController@videoPath');
Route::name('v2_api_jesusFilms')->get('library/jesusfilm', 'Organization\ResourcesController@jesusFilmListing');
Route::name('v2_api_jesusFilm_index')->get('video/jesusfilm', 'Connections\ArclightController@index');
Route::name('v2_api_jesusFilm_stream')->get('video/jesusfilm/{id}.m3u8', 'Connections\ArclightController@chapter');
// VERSION 2 | Users
Route::name('v2_users_banners_banner')->get('/banners/banner', 'User\UsersControllerV2@banner');
Route::name('v2_users_user')->match(['get','post','options'], '/users/user', 'User\UsersControllerV2@user');
Route::name('v2_users_profile')->post('/users/profile', 'User\UsersControllerV2@profile');
Route::name('v2_user_login')->match(['put','post','options'], '/users/login', 'User\UsersControllerV2@login');
Route::name('v2_annotations')->get('/annotations/list', 'User\UsersControllerV2@annotationList');
Route::name('v2_bookmarks')->get('/annotations/bookmark', 'User\UsersControllerV2@bookmark');
Route::name('v2_bookmarks_alter')->post('/annotations/bookmark', 'User\UsersControllerV2@bookmarkAlter');
Route::name('v2_bookmarks_delete')->delete('/annotations/bookmark', 'User\UsersControllerV2@bookmarkAlter');
Route::name('v2_notes')->get('/annotations/note', 'User\UsersControllerV2@note');
Route::name('v2_notes_store')->post('/annotations/note', 'User\UsersControllerV2@noteAlter');
Route::name('v2_notes_delete')->delete('/annotations/note', 'User\UsersControllerV2@noteAlter');
Route::name('v2_highlights')->get('/annotations/highlight', 'User\UsersControllerV2@highlight');
Route::name('v2_highlights_store')->post('/annotations/highlight', 'User\UsersControllerV2@highlightAlter');
Route::name('v2_highlights_delete')->delete('/annotations/highlight', 'User\UsersControllerV2@highlightAlter');
Route::prefix('v3')->group(function () {
Route::name('v3_query')->get('search', 'Connections\V3Controller@search');
Route::name('v3_books')->get('books', 'Connections\V3Controller@books');
});
// VERSION 4 | Access Groups
Route::name('v4_access_groups.index')->get('access/groups', 'User\AccessGroupController@index');
Route::name('v4_access_groups.store')->post('access/groups/', 'User\AccessGroupController@store');
Route::name('v4_access_groups.show')->get('access/groups/{group_id}', 'User\AccessGroupController@show');
Route::name('v4_access_groups.access')->get('access/current', 'User\AccessGroupController@current');
Route::name('v4_access_groups.update')->put('access/groups/{group_id}', 'User\AccessGroupController@update');
Route::name('v4_access_groups.destroy')->delete('access/groups/{group_id}', 'User\AccessGroupController@destroy');
// VERSION 4 | Stream
Route::name('v4_video_stream')->get('bible/filesets/{fileset_id}/{file_id}/playlist.m3u8', 'Bible\VideoStreamController@index');
Route::name('v4_video_stream_ts')->get('bible/filesets/{fileset_id}/{file_id}/{file_name}', 'Bible\VideoStreamController@transportStream');
// VERSION 4 | Bible
Route::name('v4_bible.books')->get('bibles/{bible_id}/book/{book?}', 'Bible\BiblesController@books');
Route::name('v4_bible_equivalents.all')->get('bible/equivalents', 'Bible\BibleEquivalentsController@index');
Route::name('v4_bible.archival')->get('bibles/archival', 'Bible\BiblesController@archival');
Route::name('v4_bible.links')->get('bibles/links', 'Bible\BibleLinksController@index');
Route::name('v4_bible_books_all')->get('bibles/books/', 'Bible\BooksController@index');
Route::name('v4_bible.one')->get('bibles/{bible_id}', 'Bible\BiblesController@show');
Route::name('v4_bible.all')->get('bibles', 'Bible\BiblesController@index');
// VERSION 4 | Filesets
Route::name('v4_filesets.types')->get('bibles/filesets/media/types', 'Bible\BibleFileSetsController@mediaTypes');
Route::name('v4_filesets.podcast')->get('bibles/filesets/{fileset_id}/podcast', 'Bible\BibleFilesetsPodcastController@index');
Route::name('v4_filesets.download')->get('bibles/filesets/{fileset_id}/download', 'Bible\BibleFileSetsController@download');
Route::name('v4_filesets.copyright')->get('bibles/filesets/{fileset_id}/copyright','Bible\BibleFileSetsController@copyright');
Route::name('v4_filesets.show')->get('bibles/filesets/{fileset_id?}', 'Bible\BibleFileSetsController@show');
Route::name('v4_filesets.books')->get('bibles/filesets/{fileset_id}/books', 'Bible\BooksController@show');
// VERSION 4 | Text
Route::name('v4_filesets.chapter')->get('bibles/filesets/{fileset_id}/{book}/{chapter}', 'Bible\TextController@index');
Route::name('v4_text_search')->get('search', 'Bible\TextController@search');
// VERSION 4 | Commentaries
Route::name('v4_commentary_index')->get('commentaries/', 'Bible\Study\CommentaryController@index');
Route::name('v4_commentary_chapters')->get('commentaries/{commentary_id}/chapters', 'Bible\Study\CommentaryController@chapters');
Route::name('v4_commentary_chapters')->get('commentaries/{commentary_id}/{book_id}/{chapter}', 'Bible\Study\CommentaryController@sections');
// VERSION 4 | Study Lexicons
Route::name('v4_lexicon_index')->get('lexicons', 'Bible\Study\LexiconController@index');
// VERSION 4 | Timestamps
Route::name('v4_timestamps')->get('timestamps', 'Bible\AudioController@availableTimestamps');
Route::name('v4_timestamps.tag')->get('/timestamps/search', 'Bible\AudioController@timestampsByTag');
Route::name('v4_timestamps.verse')->get('timestamps/{id}/{book}/{chapter}', 'Bible\AudioController@timestampsByReference');
// VERSION 4 | Countries
Route::name('v4_countries.all')->get('countries', 'Wiki\CountriesController@index');
Route::name('v4_countries.jsp')->get('countries/joshua-project/', 'Wiki\CountriesController@joshuaProjectIndex');
Route::name('v4_countries.one')->get('countries/{country_id}', 'Wiki\CountriesController@show');
// VERSION 4 | Languages
Route::name('v4_languages.all')->get('languages', 'Wiki\LanguagesController@index');
Route::name('v4_languages.one')->get('languages/{language_id}', 'Wiki\LanguagesController@show');
// VERSION 4 | Alphabets
Route::name('v4_alphabets.all')->get('alphabets', 'Wiki\AlphabetsController@index');
Route::name('v4_alphabets.one')->get('alphabets/{alphabet_id}', 'Wiki\AlphabetsController@show');
Route::name('v4_alphabets.store')->post('alphabets', 'Wiki\AlphabetsController@store');
Route::name('v4_alphabets.update')->put('alphabets/{alphabet_id}', 'Wiki\AlphabetsController@update');
Route::name('v4_numbers.all')->get('numbers/', 'Wiki\NumbersController@index');
Route::name('v4_numbers.one')->get('numbers/{number_id}', 'Wiki\NumbersController@show');
// VERSION 4 | Users
Route::name('v4_user.index')->get('users', 'User\UsersController@index');
Route::name('v4_user.store')->post('users', 'User\UsersController@store');
Route::name('v4_user.show')->get('users/{user_id}', 'User\UsersController@show');
Route::name('v4_user.update')->put('users/{user_id}', 'User\UsersController@update');
Route::name('v4_user.destroy')->delete('users/{user_id}', 'User\UsersController@destroy');
Route::name('v4_user.login')->post('/login', 'User\UsersController@login');
Route::name('v4_user.oAuth')->get('/login/{driver}', 'User\SocialController@redirect');
Route::name('v4_user.oAuthCallback')->get('/login/{driver}/callback', 'User\SocialController@callback');
Route::name('v4_user.password_reset')->post('users/password/reset/{token?}', 'User\PasswordsController@validatePasswordReset');
Route::name('v4_user.password_email')->post('users/password/email', 'User\PasswordsController@triggerPasswordResetEmail');
// VERSION 4 | Annotations
Route::name('v4_notes.index')->get('users/{user_id}/notes', 'User\NotesController@index');
Route::name('v4_notes.show')->get('users/{user_id}/notes/{id}', 'User\NotesController@show');
Route::name('v4_notes.store')->post('users/{user_id}/notes', 'User\NotesController@store');
Route::name('v4_notes.update')->put('users/{user_id}/notes/{id}', 'User\NotesController@update');
Route::name('v4_notes.destroy')->delete('users/{user_id}/notes/{id}', 'User\NotesController@destroy');
Route::name('v4_bookmarks.index')->get('users/{user_id}/bookmarks', 'User\BookmarksController@index');
Route::name('v4_bookmarks.store')->post('users/{user_id}/bookmarks', 'User\BookmarksController@store');
Route::name('v4_bookmarks.update')->put('users/{user_id}/bookmarks/{id}', 'User\BookmarksController@update');
Route::name('v4_bookmarks.destroy')->delete('users/{user_id}/bookmarks/{id}', 'User\BookmarksController@destroy');
Route::name('v4_highlights.index')->get('users/{user_id}/highlights', 'User\HighlightsController@index');
Route::name('v4_highlights.store')->post('users/{user_id}/highlights', 'User\HighlightsController@store');
Route::name('v4_highlights.update')->put('users/{user_id}/highlights/{id}', 'User\HighlightsController@update');
Route::name('v4_highlights.destroy')->delete('users/{user_id}/highlights/{id}', 'User\HighlightsController@destroy');
// VERSION 4 | User Settings
Route::name('v4_UserSettings.show')->get('users/{user_id}/settings', 'User\UserSettingsController@show');
Route::name('v4_UserSettings.store')->post('users/{user_id}/settings', 'User\UserSettingsController@store');
// VERSION 4 | Community
Route::name('v4_articles.index')->get('articles', 'User\ArticlesController@index');
Route::name('v4_articles.show')->get('articles/{id}', 'User\ArticlesController@show');
Route::name('v4_articles.update')->put('articles/{id}', 'User\ArticlesController@update');
Route::name('v4_articles.store')->post('articles', 'User\ArticlesController@store');
Route::name('v4_articles.destroy')->delete('articles/{id}', 'User\ArticlesController@destroy');
Route::name('v4_organizations.compare')->get('organizations/compare/', 'Organization\OrganizationsController@compare');
Route::name('v4_organizations.one')->get('organizations/{organization_id}', 'Organization\OrganizationsController@show');
Route::name('v4_organizations.all')->get('organizations/', 'Organization\OrganizationsController@index');
Route::name('v4_projects.index')->get('projects', 'Organization\ProjectsController@index');
Route::name('v4_projects.show')->get('projects/{project_id}', 'Organization\ProjectsController@show');
Route::name('v4_projects.update')->put('projects/{project_id}', 'Organization\ProjectsController@update');
Route::name('v4_projects.store')->post('projects', 'Organization\ProjectsController@store');
Route::name('v4_projects.destroy')->delete('projects/{project_id}', 'Organization\ProjectsController@destroy');
Route::name('v4_oAuth.index')->get('projects/{project_id}/oauth/', 'Organization\OAuthProvidersController@index');
Route::name('v4_oAuth.show')->get('projects/{project_id}/oauth/{id}', 'Organization\OAuthProvidersController@show');
Route::name('v4_oAuth.update')->put('projects/{project_id}/oauth/{id}', 'Organization\OAuthProvidersController@update');
Route::name('v4_oAuth.store')->post('projects/{project_id}/oauth', 'Organization\OAuthProvidersController@store');
Route::name('v4_oAuth.destroy')->delete('projects/{project_id}/oauth/{id}', 'Organization\OAuthProvidersController@destroy');
// VERSION 4 | Resources
Route::name('v4_resources.index')->get('resources', 'Organization\ResourcesController@index');
Route::name('v4_resources.show')->get('resources/{resource_id}', 'Organization\ResourcesController@show');
Route::name('v4_resources.update')->put('resources/{resource_id}', 'Organization\ResourcesController@update');
Route::name('v4_resources.store')->post('resources', 'Organization\ResourcesController@store');
Route::name('v4_resources.destroy')->delete('resources/{resource_id}', 'Organization\ResourcesController@destroy');
Route::name('v4_video_jesus_film_languages')->get('arclight/jesus-film/languages', 'Bible\VideoStreamController@jesusFilmsLanguages');
Route::name('v4_video_jesus_film_language')->get('arclight/jesus-film/chapters', 'Bible\VideoStreamController@jesusFilmChapters');
Route::name('v4_video_jesus_film_language')->get('arclight/jesus-film', 'Bible\VideoStreamController@jesusFilmFile');
// VERSION 4 | API METADATA
Route::name('v4_api.versions')->get('/api/versions', 'HomeController@versions');
Route::name('v4_api.buckets')->get('/api/buckets', 'HomeController@buckets');
Route::name('v4_api.stats')->get('/stats', 'HomeController@stats');
Route::name('v4_api.gitVersion')->get('/api/git/version', 'ApiMetadataController@gitVersion');
Route::name('v4_api.refreshDevCache')->get('/api/refresh-dev-cache', 'ApiMetadataController@refreshDevCache');
Route::name('v4_api.changes')->get('/api/changelog', 'ApiMetadataController@changelog');
// VERSION 4 | GENERATOR
Route::name('v4_api.generator_languages')->get('/api/gen/stats', 'Connections\GeneratorController@stats');
Route::name('v4_api.generator_bibles')->get('/api/gen/bibles', 'Connections\GeneratorController@bibles');
Route::name('v4_api.generator_languages')->get('/api/gen/languages', 'Connections\GeneratorController@languages');
Route::name('v4_api.generator_countries')->get('/api/gen/countries', 'Connections\GeneratorController@countries');
Route::name('v4_api.generator_alphabets')->get('/api/gen/alphabets', 'Connections\GeneratorController@alphabets');
Route::name('v4_api.generator_organizations')->get('/api/gen/organizations', 'Connections\GeneratorController@organizations');
Route::name('v4_api.generator_resources')->get('/api/gen/resources', 'Connections\GeneratorController@resources');