move into sonardesk
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Sites\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\RedirectResponse;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Routing\Controller;
|
||||
use Illuminate\Validation\Rule;
|
||||
use Modules\Sites\Models\Site;
|
||||
use Modules\Sites\Models\SiteDomain;
|
||||
|
||||
final class DomainController extends Controller
|
||||
{
|
||||
public function store(Request $request, Site $site): RedirectResponse
|
||||
{
|
||||
$data = $request->validate(['domain' => ['required', 'string', 'max:255', 'regex:/^[a-z0-9.-]+$/i', Rule::unique('site_domains', 'domain')], 'is_primary' => ['sometimes', 'boolean'], 'redirect_to_primary' => ['sometimes', 'boolean'], 'force_https' => ['sometimes', 'boolean'], 'is_active' => ['sometimes', 'boolean']]);
|
||||
if ($request->boolean('is_primary')) {
|
||||
$site->domains()->update(['is_primary' => false]);
|
||||
}
|
||||
$site->domains()->create($data + ['is_primary' => $request->boolean('is_primary'), 'redirect_to_primary' => $request->boolean('redirect_to_primary'), 'force_https' => $request->boolean('force_https'), 'is_active' => $request->boolean('is_active', true)]);
|
||||
|
||||
return back()->with('success', 'Domain added.');
|
||||
}
|
||||
|
||||
public function destroy(Site $site, SiteDomain $domain): RedirectResponse
|
||||
{
|
||||
abort_unless($domain->site_id === $site->id, 404);
|
||||
abort_if($domain->is_primary && $site->domains()->count() === 1, 422, 'A site must retain a domain.');
|
||||
$domain->delete();
|
||||
|
||||
return back()->with('success', 'Domain removed.');
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user