diff --git a/app/Api/V1/Controllers/Models/TransactionLinkType/DestroyController.php b/app/Api/V1/Controllers/Models/TransactionLinkType/DestroyController.php index 22bd0e803c..82718c94b3 100644 --- a/app/Api/V1/Controllers/Models/TransactionLinkType/DestroyController.php +++ b/app/Api/V1/Controllers/Models/TransactionLinkType/DestroyController.php @@ -75,7 +75,7 @@ final class DestroyController extends Controller if (false === auth()->user()->hasRole('owner')) { Log::channel('audit')->warning('Non-owner user tries to delete a link type.'); - response()->json([], 401); + return response()->json([], 401); } $this->repository->destroy($linkType); diff --git a/routes/api.php b/routes/api.php index 1529248a1b..3452ca11a6 100644 --- a/routes/api.php +++ b/routes/api.php @@ -636,12 +636,9 @@ Route::group( ], static function (): void { Route::get('', ['uses' => 'ShowController@index', 'as' => 'index']); - Route::post('', ['uses' => 'StoreController@store', 'as' => 'store']); Route::get('primary', ['uses' => 'ShowController@showPrimary', 'as' => 'show.primary']); Route::get('default', ['uses' => 'ShowController@showPrimary', 'as' => 'show.default']); Route::get('{currency_code}', ['uses' => 'ShowController@show', 'as' => 'show']); - Route::put('{currency_code?}', ['uses' => 'UpdateController@update', 'as' => 'update']); - Route::delete('{currency_code}', ['uses' => 'DestroyController@destroy', 'as' => 'delete']); Route::post('{currency_code}/enable', ['uses' => 'UpdateController@enable', 'as' => 'enable']); Route::post('{currency_code}/disable', ['uses' => 'UpdateController@disable', 'as' => 'disable']); @@ -658,6 +655,22 @@ Route::group( } ); +// transaction currency API routes that require admin rights: +Route::group( + [ + 'namespace' => 'FireflyIII\Api\V1\Controllers\Models\TransactionCurrency', + 'prefix' => 'v1/currencies', + 'as' => 'api.v1.currencies.', + 'middleware' => ['api-admin'], + ], + static function (): void { + Route::post('', ['uses' => 'StoreController@store', 'as' => 'store']); + Route::put('{currency_code?}', ['uses' => 'UpdateController@update', 'as' => 'update']); + Route::delete('{currency_code}', ['uses' => 'DestroyController@destroy', 'as' => 'delete']); + } +); + + // Transaction Links API routes: Route::group( [