89 lines
3.1 KiB
PHP
89 lines
3.1 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Admin\System;
|
|
|
|
use App\Http\Controllers\Concerns\FlashesEntityMessage;
|
|
use App\Http\Controllers\Controller;
|
|
use App\Http\Requests\Admin\System\Setting\HomepageSettingRequest;
|
|
use App\Http\Requests\Admin\System\Setting\HrSettingRequest;
|
|
use App\Http\Requests\Admin\System\Setting\MarketplaceRequest;
|
|
use App\Http\Requests\Admin\System\Setting\SocialMediaRequest;
|
|
use App\Http\Requests\Admin\System\Setting\SystemRequest;
|
|
use App\Services\System\Setting\HomepageSettingService;
|
|
use App\Services\System\Setting\HrSettingService;
|
|
use App\Services\System\Setting\MarketplaceService;
|
|
use App\Services\System\Setting\SocialMediaService;
|
|
use App\Services\System\Setting\SystemService;
|
|
use Illuminate\Http\RedirectResponse;
|
|
use Inertia\Inertia;
|
|
use Inertia\Response;
|
|
|
|
class SettingController extends Controller
|
|
{
|
|
use FlashesEntityMessage;
|
|
|
|
public function __construct(
|
|
private readonly SystemService $systemService,
|
|
private readonly SocialMediaService $socialMediaService,
|
|
private readonly MarketplaceService $marketplaceService,
|
|
private readonly HrSettingService $hrSettingService,
|
|
private readonly HomepageSettingService $homepageSettingService,
|
|
) {}
|
|
|
|
public function index(): Response
|
|
{
|
|
return Inertia::render('admin/system/setting/Index', [
|
|
'system' => $this->systemService->systemData(),
|
|
'socialMedia' => $this->socialMediaService->socialMediaData(),
|
|
'marketplace' => $this->marketplaceService->marketplaceData(),
|
|
'hr' => $this->hrSettingService->hrData(),
|
|
'homepage' => $this->homepageSettingService->homepageData(),
|
|
]);
|
|
}
|
|
|
|
public function updateSystem(SystemRequest $request): RedirectResponse
|
|
{
|
|
$this->systemService->updateSystem($request->validated());
|
|
|
|
$this->flashSuccess('Pengaturan sistem berhasil disimpan.');
|
|
|
|
return redirect()->route('admin.system.setting.index');
|
|
}
|
|
|
|
public function updateSocialMedia(SocialMediaRequest $request): RedirectResponse
|
|
{
|
|
$this->socialMediaService->updateSocialMedia($request->validated());
|
|
|
|
$this->flashSuccess('Pengaturan media sosial berhasil disimpan.');
|
|
|
|
return redirect()->route('admin.system.setting.index');
|
|
}
|
|
|
|
public function updateMarketplace(MarketplaceRequest $request): RedirectResponse
|
|
{
|
|
$this->marketplaceService->updateMarketplace($request->validated());
|
|
|
|
$this->flashSuccess('Pengaturan marketplace berhasil disimpan.');
|
|
|
|
return redirect()->route('admin.system.setting.index');
|
|
}
|
|
|
|
public function updateHr(HrSettingRequest $request): RedirectResponse
|
|
{
|
|
$this->hrSettingService->updateHr($request->validated());
|
|
|
|
$this->flashSuccess('Pengaturan HR berhasil disimpan.');
|
|
|
|
return redirect()->route('admin.system.setting.index');
|
|
}
|
|
|
|
public function updateHomepage(HomepageSettingRequest $request): RedirectResponse
|
|
{
|
|
$this->homepageSettingService->updateHomepage($request->validated());
|
|
|
|
$this->flashSuccess('Pengaturan homepage berhasil disimpan.');
|
|
|
|
return redirect()->route('admin.system.setting.index');
|
|
}
|
|
}
|