fipamo/routes/api.php
ro 321feb9b92
Page Admin API, part 1
API accessible tasks (create, update, delete) have been updated to the
new format.

The controller needs to be cleaned up because it's a bit heavy and the
new API flow still needs to be properly documented, but it's a good
start
2024-07-23 17:46:45 -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::post("/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']);
});