forked from projects/fipamo
ro
4337a20fb8
API Security has been reworked to check if request is secure, verifies the API token created on site setup given to every member, and then confirms the system is accepting API requests by way of the API enabled toggle in settings API usage is now only meant for backend use, so this needs to be noted in the docs
51 lines
2.1 KiB
PHP
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' => '/v1/page', 'middleware' => 'validate.key'], function () {
|
|
Route::put("/write", [PageAPIController::class, 'write']);
|
|
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']);
|
|
});
|