lots of progress
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class SettingsController extends Controller
|
||||
{
|
||||
public function index()
|
||||
{
|
||||
$preferences = auth()->user()->notification_preferences ?? [
|
||||
'uptime' => ['mail'],
|
||||
'ssl' => ['mail'],
|
||||
'broken_links' => ['mail']
|
||||
];
|
||||
|
||||
$slackWebhook = env('SLACK_WEBHOOK_URL', '');
|
||||
|
||||
return view('settings', compact('preferences', 'slackWebhook'));
|
||||
}
|
||||
|
||||
public function updateNotifications(Request $request)
|
||||
{
|
||||
$request->validate([
|
||||
'uptime' => 'nullable|array',
|
||||
'uptime.*' => 'in:mail,slack',
|
||||
'ssl' => 'nullable|array',
|
||||
'ssl.*' => 'in:mail,slack',
|
||||
'broken_links' => 'nullable|array',
|
||||
'broken_links.*' => 'in:mail,slack',
|
||||
]);
|
||||
|
||||
$preferences = [
|
||||
'uptime' => $request->input('uptime', []),
|
||||
'ssl' => $request->input('ssl', []),
|
||||
'broken_links' => $request->input('broken_links', []),
|
||||
];
|
||||
|
||||
auth()->user()->update([
|
||||
'notification_preferences' => $preferences
|
||||
]);
|
||||
|
||||
return redirect()->route('settings')
|
||||
->with('success', 'Notification preferences updated successfully.');
|
||||
}
|
||||
|
||||
public function updateSlack(Request $request)
|
||||
{
|
||||
$request->validate([
|
||||
'slack_webhook' => 'nullable|url'
|
||||
]);
|
||||
|
||||
// Note: In a production app, you would store this in the user's settings or env
|
||||
// For now, we'll just return a message
|
||||
return redirect()->route('settings')
|
||||
->with('success', 'Slack webhook URL saved. Please add it to your .env file as SLACK_WEBHOOK_URL.');
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user