mirror of
https://github.com/InvoiceShelf/InvoiceShelf.git
synced 2026-04-17 18:24:10 +00:00
Consolidate Admin Settings controllers: merge Get/Update pairs
Merge GetCompanySettingsController + UpdateCompanySettingsController into CompanySettingsController with show() and update() methods. Merge GetUserSettingsController + UpdateUserSettingsController into UserSettingsController with show() and update() methods. Absorb GetCompanyMailConfigurationController into CompanyMailConfigurationController as getDefaultConfig() method. Removes 5 single-action controllers, down to 4 Settings controllers.
This commit is contained in:
@@ -12,6 +12,16 @@ use Mail;
|
||||
|
||||
class CompanyMailConfigurationController extends Controller
|
||||
{
|
||||
public function getDefaultConfig(Request $request): JsonResponse
|
||||
{
|
||||
$mailConfig = [
|
||||
'from_name' => config('mail.from.name'),
|
||||
'from_mail' => config('mail.from.address'),
|
||||
];
|
||||
|
||||
return response()->json($mailConfig);
|
||||
}
|
||||
|
||||
public function getMailConfig(Request $request): JsonResponse
|
||||
{
|
||||
$companyId = $request->header('company');
|
||||
|
||||
@@ -3,21 +3,23 @@
|
||||
namespace App\Http\Controllers\V1\Admin\Settings;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Requests\GetSettingsRequest;
|
||||
use App\Http\Requests\UpdateSettingsRequest;
|
||||
use App\Models\Company;
|
||||
use App\Models\CompanySetting;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
use Illuminate\Support\Arr;
|
||||
|
||||
class UpdateCompanySettingsController extends Controller
|
||||
class CompanySettingsController extends Controller
|
||||
{
|
||||
/**
|
||||
* Handle the incoming request.
|
||||
*
|
||||
* @param \Illuminate\Http\UpdateSettingsRequest $request
|
||||
* @return JsonResponse
|
||||
*/
|
||||
public function __invoke(UpdateSettingsRequest $request)
|
||||
public function show(GetSettingsRequest $request): JsonResponse
|
||||
{
|
||||
$settings = CompanySetting::getSettings((array) $request->settings, $request->header('company'));
|
||||
|
||||
return response()->json($settings);
|
||||
}
|
||||
|
||||
public function update(UpdateSettingsRequest $request): JsonResponse
|
||||
{
|
||||
$company = Company::find($request->header('company'));
|
||||
$this->authorize('manage company', $company);
|
||||
@@ -1,25 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\V1\Admin\Settings;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\Response;
|
||||
|
||||
class GetCompanyMailConfigurationController extends Controller
|
||||
{
|
||||
/**
|
||||
* Handle the incoming request.
|
||||
*
|
||||
* @return Response
|
||||
*/
|
||||
public function __invoke(Request $request)
|
||||
{
|
||||
$mailConfig = [
|
||||
'from_name' => config('mail.from.name'),
|
||||
'from_mail' => config('mail.from.address'),
|
||||
];
|
||||
|
||||
return response()->json($mailConfig);
|
||||
}
|
||||
}
|
||||
@@ -1,25 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\V1\Admin\Settings;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Requests\GetSettingsRequest;
|
||||
use App\Models\CompanySetting;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class GetCompanySettingsController extends Controller
|
||||
{
|
||||
/**
|
||||
* Handle the incoming request.
|
||||
*
|
||||
* @param Request $request
|
||||
* @return JsonResponse
|
||||
*/
|
||||
public function __invoke(GetSettingsRequest $request)
|
||||
{
|
||||
$settings = CompanySetting::getSettings((array) $request->settings, $request->header('company'));
|
||||
|
||||
return response()->json($settings);
|
||||
}
|
||||
}
|
||||
@@ -1,23 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\V1\Admin\Settings;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Requests\GetSettingsRequest;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
|
||||
class GetUserSettingsController extends Controller
|
||||
{
|
||||
/**
|
||||
* Handle the incoming request.
|
||||
*
|
||||
* @param \Illuminate\Http\GetSettingsRequest $request
|
||||
* @return JsonResponse
|
||||
*/
|
||||
public function __invoke(GetSettingsRequest $request)
|
||||
{
|
||||
$user = $request->user();
|
||||
|
||||
return response()->json($user->getSettings((array) $request->settings));
|
||||
}
|
||||
}
|
||||
@@ -1,27 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\V1\Admin\Settings;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Requests\UpdateSettingsRequest;
|
||||
use Illuminate\Http\Response;
|
||||
|
||||
class UpdateUserSettingsController extends Controller
|
||||
{
|
||||
/**
|
||||
* Handle the incoming request.
|
||||
*
|
||||
* @param \Illuminate\Http\UpdateSettingsRequest $request
|
||||
* @return Response
|
||||
*/
|
||||
public function __invoke(UpdateSettingsRequest $request)
|
||||
{
|
||||
$user = $request->user();
|
||||
|
||||
$user->setSettings($request->settings);
|
||||
|
||||
return response()->json([
|
||||
'success' => true,
|
||||
]);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\V1\Admin\Settings;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Requests\GetSettingsRequest;
|
||||
use App\Http\Requests\UpdateSettingsRequest;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
|
||||
class UserSettingsController extends Controller
|
||||
{
|
||||
public function show(GetSettingsRequest $request): JsonResponse
|
||||
{
|
||||
$user = $request->user();
|
||||
|
||||
return response()->json($user->getSettings((array) $request->settings));
|
||||
}
|
||||
|
||||
public function update(UpdateSettingsRequest $request): JsonResponse
|
||||
{
|
||||
$user = $request->user();
|
||||
|
||||
$user->setSettings($request->settings);
|
||||
|
||||
return response()->json([
|
||||
'success' => true,
|
||||
]);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user