X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/9b66e93b151276ca1da1a10f66c78c8ba68730ed..refs/pull/5280/head:/routes/api.php diff --git a/routes/api.php b/routes/api.php index c809cdb3a..c0919d324 100644 --- a/routes/api.php +++ b/routes/api.php @@ -3,24 +3,18 @@ /** * Routes for the BookStack API. * Routes have a uri prefix of /api/. - * Controllers are all within app/Http/Controllers/Api. + * Controllers all end with "ApiController" */ -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\ContentPermissionApiController; -use BookStack\Http\Controllers\Api\ImageGalleryApiController; -use BookStack\Http\Controllers\Api\PageApiController; -use BookStack\Http\Controllers\Api\PageExportApiController; -use BookStack\Http\Controllers\Api\RecycleBinApiController; -use BookStack\Http\Controllers\Api\RoleApiController; -use BookStack\Http\Controllers\Api\SearchApiController; -use BookStack\Http\Controllers\Api\UserApiController; +use BookStack\Activity\Controllers\AuditLogApiController; +use BookStack\Api\ApiDocsController; +use BookStack\Entities\Controllers as EntityControllers; +use BookStack\Permissions\ContentPermissionApiController; +use BookStack\Search\SearchApiController; +use BookStack\Uploads\Controllers\AttachmentApiController; +use BookStack\Uploads\Controllers\ImageGalleryApiController; +use BookStack\Users\Controllers\RoleApiController; +use BookStack\Users\Controllers\UserApiController; use Illuminate\Support\Facades\Route; Route::get('docs.json', [ApiDocsController::class, 'json']); @@ -31,38 +25,38 @@ 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('books', [EntityControllers\BookApiController::class, 'list']); +Route::post('books', [EntityControllers\BookApiController::class, 'create']); +Route::get('books/{id}', [EntityControllers\BookApiController::class, 'read']); +Route::put('books/{id}', [EntityControllers\BookApiController::class, 'update']); +Route::delete('books/{id}', [EntityControllers\BookApiController::class, 'delete']); + +Route::get('books/{id}/export/html', [EntityControllers\BookExportApiController::class, 'exportHtml']); +Route::get('books/{id}/export/pdf', [EntityControllers\BookExportApiController::class, 'exportPdf']); +Route::get('books/{id}/export/plaintext', [EntityControllers\BookExportApiController::class, 'exportPlainText']); +Route::get('books/{id}/export/markdown', [EntityControllers\BookExportApiController::class, 'exportMarkdown']); + +Route::get('chapters', [EntityControllers\ChapterApiController::class, 'list']); +Route::post('chapters', [EntityControllers\ChapterApiController::class, 'create']); +Route::get('chapters/{id}', [EntityControllers\ChapterApiController::class, 'read']); +Route::put('chapters/{id}', [EntityControllers\ChapterApiController::class, 'update']); +Route::delete('chapters/{id}', [EntityControllers\ChapterApiController::class, 'delete']); + +Route::get('chapters/{id}/export/html', [EntityControllers\ChapterExportApiController::class, 'exportHtml']); +Route::get('chapters/{id}/export/pdf', [EntityControllers\ChapterExportApiController::class, 'exportPdf']); +Route::get('chapters/{id}/export/plaintext', [EntityControllers\ChapterExportApiController::class, 'exportPlainText']); +Route::get('chapters/{id}/export/markdown', [EntityControllers\ChapterExportApiController::class, 'exportMarkdown']); + +Route::get('pages', [EntityControllers\PageApiController::class, 'list']); +Route::post('pages', [EntityControllers\PageApiController::class, 'create']); +Route::get('pages/{id}', [EntityControllers\PageApiController::class, 'read']); +Route::put('pages/{id}', [EntityControllers\PageApiController::class, 'update']); +Route::delete('pages/{id}', [EntityControllers\PageApiController::class, 'delete']); + +Route::get('pages/{id}/export/html', [EntityControllers\PageExportApiController::class, 'exportHtml']); +Route::get('pages/{id}/export/pdf', [EntityControllers\PageExportApiController::class, 'exportPdf']); +Route::get('pages/{id}/export/plaintext', [EntityControllers\PageExportApiController::class, 'exportPlainText']); +Route::get('pages/{id}/export/markdown', [EntityControllers\PageExportApiController::class, 'exportMarkdown']); Route::get('image-gallery', [ImageGalleryApiController::class, 'list']); Route::post('image-gallery', [ImageGalleryApiController::class, 'create']); @@ -72,11 +66,11 @@ Route::delete('image-gallery/{id}', [ImageGalleryApiController::class, 'delete'] 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('shelves', [EntityControllers\BookshelfApiController::class, 'list']); +Route::post('shelves', [EntityControllers\BookshelfApiController::class, 'create']); +Route::get('shelves/{id}', [EntityControllers\BookshelfApiController::class, 'read']); +Route::put('shelves/{id}', [EntityControllers\BookshelfApiController::class, 'update']); +Route::delete('shelves/{id}', [EntityControllers\BookshelfApiController::class, 'delete']); Route::get('users', [UserApiController::class, 'list']); Route::post('users', [UserApiController::class, 'create']); @@ -90,9 +84,11 @@ Route::get('roles/{id}', [RoleApiController::class, 'read']); Route::put('roles/{id}', [RoleApiController::class, 'update']); Route::delete('roles/{id}', [RoleApiController::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']); +Route::get('recycle-bin', [EntityControllers\RecycleBinApiController::class, 'list']); +Route::put('recycle-bin/{deletionId}', [EntityControllers\RecycleBinApiController::class, 'restore']); +Route::delete('recycle-bin/{deletionId}', [EntityControllers\RecycleBinApiController::class, 'destroy']); Route::get('content-permissions/{contentType}/{contentId}', [ContentPermissionApiController::class, 'read']); Route::put('content-permissions/{contentType}/{contentId}', [ContentPermissionApiController::class, 'update']); + +Route::get('audit-log', [AuditLogApiController::class, 'list']);