<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Models\MetodoPagamento;
use App\DataTables\MetodoPagamentoDataTable;
use App\DataTables\MetodoPagamentoDataTableEditor;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Session;

class MetodoPagamentoController extends Controller
{
    public static $permission_group = "Metodi di pagamento";
    public static $permissions = [
        'view-metodo_pagamento' => 'Vedi',
        'create-metodo_pagamento' => 'Crea',
        'edit-metodo_pagamento' => 'Modifica',
        'delete-metodo_pagamento' => 'Elimina',
    ];
    
    public static function middleware(): array
    {
        return [
            new Middleware('permission:view-metodo_pagamento', only: ['index']),
            new Middleware('permission:create-metodo_pagamento|edit-metodo_pagamento|delete-metodo_pagamento', only: ['store', 'update', 'destroy']),
        ];
    }
    
    public function index(MetodoPagamentoDataTable $dataTable)
    {

        $dataTable->attivita_id = Session::get('attivita_attuale');
        return $dataTable->render('metodo_pagamento.index');
    }
    public function store(MetodoPagamentoDataTableEditor $editor)
    {
        $request = request();
        $input = $request->all();
        if($request->has('action')){
            switch($input['action']){
                case 'create':
                    if(!Auth::user()->can('create-metodo_pagamento')) return;
                    break;
                case 'edit':
                    if(!Auth::user()->can('edit-metodo_pagamento')) return;
                    break;
                case 'remove':
                    if(!Auth::user()->can('delete-metodo_pagamento')) return;
                    break;
            }
        }
        return $editor->process($request);
    }

    public function segresta_wallet_chiE(Request $request)
    {
        $request->validate([
            'tag_id' => 'required|string|max:255',
        ]);
        $tag_id = $request->tag_id;
        $response = app('\App\Services\Paga\SegrestaWallet')->chiE($tag_id);
        return response()->json($response);
    }

}
