<?php

namespace App\Http\Controllers\Admin;

use App\Http\Controllers\Controller;
use App\Models\OneSignalPushNotification;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Gate;
use Symfony\Component\HttpFoundation\Response;

class OneSignalPushNotificationController extends Controller
{
    public function edit()
    {
        abort_if(Gate::denies('one_signal_push_notification_edit'), Response::HTTP_FORBIDDEN, '403 Forbidden');

        $one_signal_push_notification = OneSignalPushNotification::first();
       
        return view('admin.one_signal_push_notification.form',compact('one_signal_push_notification'));
    }
    
    public function update(Request $request)
    {
        $request->validate([
            'app_id' => 'required',
            'authorization_token' => 'required',
        ]);

        $one_signal_push_notification = OneSignalPushNotification::first();

        if (!$one_signal_push_notification) {
            $one_signal_push_notification = new OneSignalPushNotification();
        }

        $one_signal_push_notification->app_id = $request->app_id ?? '';
        $one_signal_push_notification->authorization_token = $request->authorization_token ?? '';
        $one_signal_push_notification->enable_notifications = $request->enable_notifications ? 1 : 0;
        $one_signal_push_notification->save();

        return redirect()->route('admin.one_signal_push_notification.edit')->with('success', __('global.one_signal_push_notification_updated'));
    }
}