fipamo/routes/api.php
ro d8ed8b62c0
Page Admin API, part 2
page tasks have been changed to accept JSON data for the sake of
consistency across the API. The only API method that will accept form
data is file uploads.

Also restored the post, put and delete pattern for better organization
and clarity describing what each page method is for
2024-07-24 14:57:04 -06:00

51 lines
2.1 KiB
PHP

<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\API\PageAPIController;
use App\Http\Controllers\API\FileUploadAPIController;
use App\Http\Controllers\API\SettingsAPIController;
use App\Http\Controllers\API\InitAPIController;
use App\Http\Controllers\API\MailAPIController;
/*
|--------------------------------------------------------------------------
| API Routes
|--------------------------------------------------------------------------
|
| Here is where you can register API routes for your application. These
| routes are loaded by the RouteServiceProvider and all of them will
| be assigned to the "api" middleware group. Make something great!
|
*/
//site setup
Route::post("/v1/init", [InitAPIController::class, 'setupFresh']);
Route::post("/v1/restore", [InitAPIController::class, 'setupRestore']);
//handle page editing actions
Route::group(['prefix' => '/admin/page', 'middleware' => 'validate.key'], function () {
Route::put("/update", [PageAPIController::class, 'update']);
Route::post("/create", [PageAPIController::class, 'create']);
Route::delete("/delete", [PageAPIController::class, 'delete']);
});
//settings
Route::group(['prefix' => '/v1/settings', 'middleware' => 'validate.key'], function () {
Route::put("/publish", [SettingsAPIController::class, 'publish']);
Route::put("/sync", [SettingsAPIController::class, 'sync']);
Route::put("/nav-sync", [SettingsAPIController::class, 'navSync']);
});
//backups
Route::group(['prefix' => '/v1/backup', 'middleware' => 'validate.key'], function () {
Route::put("/create", [SettingsAPIController::class, 'createBackup']);
Route::get("/content-download", [SettingsAPIController::class, 'downloadBackup']);
Route::get("/files-download", [SettingsAPIController::class, 'downloadBackup']);
});
//other
Route::group(['prefix' => '/v1', 'middleware' => 'validate.key'], function () {
Route::post("/files", [FileUploadAPIController::class, 'upload']);
Route::post("/reset", [InitAPIController::class, 'setupReset']);
Route::post("/mailer", [MailAPIController::class, 'sendNotify']);
});