X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/a6633642232efd164d4708967ab59e498fbff896..refs/heads/ldap_host_failover:/routes/api.php diff --git a/routes/api.php b/routes/api.php index 44643d6d4..d350fd86b 100644 --- a/routes/api.php +++ b/routes/api.php @@ -3,44 +3,78 @@ /** * Routes for the BookStack API. * Routes have a uri prefix of /api/. - * Controllers are all within app/Http/Controllers/Api + * Controllers are all within app/Http/Controllers/Api. */ -Route::get('docs', 'ApiDocsController@display'); -Route::get('docs.json', 'ApiDocsController@json'); - -Route::get('books', 'BookApiController@list'); -Route::post('books', 'BookApiController@create'); -Route::get('books/{id}', 'BookApiController@read'); -Route::put('books/{id}', 'BookApiController@update'); -Route::delete('books/{id}', 'BookApiController@delete'); - -Route::get('books/{id}/export/html', 'BookExportApiController@exportHtml'); -Route::get('books/{id}/export/pdf', 'BookExportApiController@exportPdf'); -Route::get('books/{id}/export/plaintext', 'BookExportApiController@exportPlainText'); - -Route::get('chapters', 'ChapterApiController@list'); -Route::post('chapters', 'ChapterApiController@create'); -Route::get('chapters/{id}', 'ChapterApiController@read'); -Route::put('chapters/{id}', 'ChapterApiController@update'); -Route::delete('chapters/{id}', 'ChapterApiController@delete'); - -Route::get('chapters/{id}/export/html', 'ChapterExportApiController@exportHtml'); -Route::get('chapters/{id}/export/pdf', 'ChapterExportApiController@exportPdf'); -Route::get('chapters/{id}/export/plaintext', 'ChapterExportApiController@exportPlainText'); - -Route::get('pages', 'PageApiController@list'); -Route::post('pages', 'PageApiController@create'); -Route::get('pages/{id}', 'PageApiController@read'); -Route::put('pages/{id}', 'PageApiController@update'); -Route::delete('pages/{id}', 'PageApiController@delete'); - -Route::get('pages/{id}/export/html', 'PageExportApiController@exportHtml'); -Route::get('pages/{id}/export/pdf', 'PageExportApiController@exportPdf'); -Route::get('pages/{id}/export/plaintext', 'PageExportApiController@exportPlainText'); - -Route::get('shelves', 'BookshelfApiController@list'); -Route::post('shelves', 'BookshelfApiController@create'); -Route::get('shelves/{id}', 'BookshelfApiController@read'); -Route::put('shelves/{id}', 'BookshelfApiController@update'); -Route::delete('shelves/{id}', 'BookshelfApiController@delete'); +use BookStack\Http\Controllers\Api\ApiDocsController; +use BookStack\Http\Controllers\Api\AttachmentApiController; +use BookStack\Http\Controllers\Api\BookApiController; +use BookStack\Http\Controllers\Api\BookExportApiController; +use BookStack\Http\Controllers\Api\BookshelfApiController; +use BookStack\Http\Controllers\Api\ChapterApiController; +use BookStack\Http\Controllers\Api\ChapterExportApiController; +use BookStack\Http\Controllers\Api\PageApiController; +use BookStack\Http\Controllers\Api\PageExportApiController; +use BookStack\Http\Controllers\Api\RecycleBinApiController; +use BookStack\Http\Controllers\Api\SearchApiController; +use BookStack\Http\Controllers\Api\UserApiController; +use Illuminate\Support\Facades\Route; + +Route::get('docs.json', [ApiDocsController::class, 'json']); + +Route::get('attachments', [AttachmentApiController::class, 'list']); +Route::post('attachments', [AttachmentApiController::class, 'create']); +Route::get('attachments/{id}', [AttachmentApiController::class, 'read']); +Route::put('attachments/{id}', [AttachmentApiController::class, 'update']); +Route::delete('attachments/{id}', [AttachmentApiController::class, 'delete']); + +Route::get('books', [BookApiController::class, 'list']); +Route::post('books', [BookApiController::class, 'create']); +Route::get('books/{id}', [BookApiController::class, 'read']); +Route::put('books/{id}', [BookApiController::class, 'update']); +Route::delete('books/{id}', [BookApiController::class, 'delete']); + +Route::get('books/{id}/export/html', [BookExportApiController::class, 'exportHtml']); +Route::get('books/{id}/export/pdf', [BookExportApiController::class, 'exportPdf']); +Route::get('books/{id}/export/plaintext', [BookExportApiController::class, 'exportPlainText']); +Route::get('books/{id}/export/markdown', [BookExportApiController::class, 'exportMarkdown']); + +Route::get('chapters', [ChapterApiController::class, 'list']); +Route::post('chapters', [ChapterApiController::class, 'create']); +Route::get('chapters/{id}', [ChapterApiController::class, 'read']); +Route::put('chapters/{id}', [ChapterApiController::class, 'update']); +Route::delete('chapters/{id}', [ChapterApiController::class, 'delete']); + +Route::get('chapters/{id}/export/html', [ChapterExportApiController::class, 'exportHtml']); +Route::get('chapters/{id}/export/pdf', [ChapterExportApiController::class, 'exportPdf']); +Route::get('chapters/{id}/export/plaintext', [ChapterExportApiController::class, 'exportPlainText']); +Route::get('chapters/{id}/export/markdown', [ChapterExportApiController::class, 'exportMarkdown']); + +Route::get('pages', [PageApiController::class, 'list']); +Route::post('pages', [PageApiController::class, 'create']); +Route::get('pages/{id}', [PageApiController::class, 'read']); +Route::put('pages/{id}', [PageApiController::class, 'update']); +Route::delete('pages/{id}', [PageApiController::class, 'delete']); + +Route::get('pages/{id}/export/html', [PageExportApiController::class, 'exportHtml']); +Route::get('pages/{id}/export/pdf', [PageExportApiController::class, 'exportPdf']); +Route::get('pages/{id}/export/plaintext', [PageExportApiController::class, 'exportPlainText']); +Route::get('pages/{id}/export/markdown', [PageExportApiController::class, 'exportMarkDown']); + +Route::get('search', [SearchApiController::class, 'all']); + +Route::get('shelves', [BookshelfApiController::class, 'list']); +Route::post('shelves', [BookshelfApiController::class, 'create']); +Route::get('shelves/{id}', [BookshelfApiController::class, 'read']); +Route::put('shelves/{id}', [BookshelfApiController::class, 'update']); +Route::delete('shelves/{id}', [BookshelfApiController::class, 'delete']); + +Route::get('users', [UserApiController::class, 'list']); +Route::post('users', [UserApiController::class, 'create']); +Route::get('users/{id}', [UserApiController::class, 'read']); +Route::put('users/{id}', [UserApiController::class, 'update']); +Route::delete('users/{id}', [UserApiController::class, 'delete']); + +Route::get('recycle-bin', [RecycleBinApiController::class, 'list']); +Route::put('recycle-bin/{deletionId}', [RecycleBinApiController::class, 'restore']); +Route::delete('recycle-bin/{deletionId}', [RecycleBinApiController::class, 'destroy']);