60 lines
2.0 KiB
PHP
60 lines
2.0 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Admin\System;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
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\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
|
|
{
|
|
public function __construct(
|
|
private readonly SystemService $systemService,
|
|
private readonly SocialMediaService $socialMediaService,
|
|
private readonly MarketplaceService $marketplaceService,
|
|
) {}
|
|
|
|
public function index(): Response
|
|
{
|
|
return Inertia::render('admin/system/setting/Index', [
|
|
'system' => $this->systemService->systemData(),
|
|
'socialMedia' => $this->socialMediaService->socialMediaData(),
|
|
'marketplace' => $this->marketplaceService->marketplaceData(),
|
|
]);
|
|
}
|
|
|
|
public function updateSystem(SystemRequest $request): RedirectResponse
|
|
{
|
|
$this->systemService->updateSystem($request->validated());
|
|
|
|
Inertia::flash('success', 'Pengaturan sistem berhasil disimpan.');
|
|
|
|
return redirect()->route('admin.system.setting.index');
|
|
}
|
|
|
|
public function updateSocialMedia(SocialMediaRequest $request): RedirectResponse
|
|
{
|
|
$this->socialMediaService->updateSocialMedia($request->validated());
|
|
|
|
Inertia::flash('success', 'Pengaturan media sosial berhasil disimpan.');
|
|
|
|
return redirect()->route('admin.system.setting.index');
|
|
}
|
|
|
|
public function updateMarketplace(MarketplaceRequest $request): RedirectResponse
|
|
{
|
|
$this->marketplaceService->updateMarketplace($request->validated());
|
|
|
|
Inertia::flash('success', 'Pengaturan marketplace berhasil disimpan.');
|
|
|
|
return redirect()->route('admin.system.setting.index');
|
|
}
|
|
}
|