This repository was archived by the owner on Aug 22, 2025. It is now read-only.
-
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathSettingsController.php
More file actions
52 lines (38 loc) · 1.47 KB
/
SettingsController.php
File metadata and controls
52 lines (38 loc) · 1.47 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<?php
declare(strict_types=1);
namespace Codedge\MagicLink\Http\Controllers\Cp;
use Codedge\MagicLink\Repositories\SettingsRepository;
use Illuminate\Http\Request;
final class SettingsController extends BaseCpController
{
protected SettingsRepository $settingsRepository;
public function __construct(SettingsRepository $settingsRepository)
{
$this->settingsRepository = $settingsRepository;
}
public function index()
{
$this->authorize('view magiclink settings');
$settings = $this->settingsRepository->get();
return view('magiclink::cp.settings.index', $settings->all());
}
public function update(Request $request)
{
$this->authorize('view magiclink settings');
$request->validate([
'enabled' => ['required', 'boolean'],
'expireTime' => ['required', 'numeric'],
'allowedAddresses' => ['present', 'array'],
'allowedAddresses.*' => ['sometimes', 'email'],
'allowedDomains' => ['present', 'array'],
]);
$payload = $request->all();
$payload['allowedDomains'] = array_filter($payload['allowedDomains']);
$payload['allowedAddresses'] = array_filter($payload['allowedAddresses']);
$this->settingsRepository->put(collect($payload));
session()->flash('success', __('magiclink::cp.settings.updated_successfully'));
return [
'redirect' => cp_route('magiclink.index'),
];
}
}