eb653bda16
- Required extracting logic into repo. - Changed some existing creation paths to standardise behaviour. - Added test to cover new endpoint. - Added extra test for user delete to test migration. - Changed how permission errors are thrown to ensure the right status code can be reported when handled in API.
74 lines
No EOL
3.9 KiB
PHP
74 lines
No EOL
3.9 KiB
PHP
<?php
|
|
|
|
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\SearchApiController;
|
|
use BookStack\Http\Controllers\Api\UserApiController;
|
|
use Illuminate\Support\Facades\Route;
|
|
|
|
/**
|
|
* Routes for the BookStack API.
|
|
* Routes have a uri prefix of /api/.
|
|
* Controllers are all within app/Http/Controllers/Api.
|
|
*/
|
|
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']); |