<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Models\BachecaHasContenuto;
use App\Models\Bacheca;
use App\Models\ContenutoBacheca;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Session;

class BachecaHasContenutoController extends Controller
{
    public static $permission_group = "Bacheca Has Contenuto";
    public static $permissions = [
        'view-bacheca_has_contenuto' => 'Vedi',
        'create-bacheca_has_contenuto' => 'Crea',
        'edit-bacheca_has_contenuto' => 'Modifica',
        'delete-bacheca_has_contenuto' => 'Elimina',
    ];
    
    public static function middleware(): array
    {
        return [
            new Middleware('permission:view-bacheca_has_contenuto', only: ['index']),
            new Middleware('permission:create-bacheca_has_contenuto|edit-bacheca_has_contenuto|delete-bacheca_has_contenuto', only: ['store', 'update', 'destroy']),
        ];
    }
    
    public function index(BachecaHasContenutoDataTable $dataTable)
    {
        return $dataTable->render('bacheca_has_contenuto.index');
    }

    public function associa_contenuto(Request $request)
    {
        $contenuti = ContenutoBacheca::all();
        return view('contenuto_bacheca.associa_contenuto', ['contenuti' => $contenuti]);
    }

    public function associa_contenuto_bacheca(Request $request)
    {
        $request->validate([
            'bacheca_id' => 'required|exists:bacheca,id',
            'contenuto_id' => 'required|exists:contenuto_bacheca,id',
        ]);
        
        $bacheca = Bacheca::find($request->bacheca_id);
        $contenuto = ContenutoBacheca::find($request->contenuto_id);
        
        $bacheca->contenuti()->attach($contenuto);
        
        return response()->json(['message' => 'Contenuto associato con successo']);
    }
    
}
