<?php

use App\Http\Controllers\AuthController;
use App\Http\Controllers\CredencialController;
use App\Http\Controllers\NotificacaoController;
use App\Http\Controllers\ProcessarNotificacaoController;
use App\Http\Controllers\ProdutoController;
use Illuminate\Support\Facades\Route;

Route::get('/', function () {
    return redirect()->route('login');
});

Route::get('/register', [AuthController::class, 'showRegisterForm'])->name('register');
Route::post('/register', [AuthController::class, 'register']);

Route::get('/login', [AuthController::class, 'showLoginForm'])->name('login');
Route::post('/login', [AuthController::class, 'login']);

Route::get('/processar-notificacao/{id}', [ProcessarNotificacaoController::class, 'processar'])->name('processar.notificacao');

Route::middleware('auth')->group(function () {
    Route::get('/home', function () {
        return redirect()->route('notificacao');
    })->name('home');

    Route::get('/notificacao', [NotificacaoController::class, 'index'])->name('notificacao');
    Route::post('/notificacao', [NotificacaoController::class, 'store'])->name('notificacao.store');
    Route::get('/notificacao/list', [NotificacaoController::class, 'list'])->name('notificacao.list');
    Route::post('/notificacao/{notificacao}/iniciar', [NotificacaoController::class, 'iniciar'])->name('notificacao.iniciar');
    Route::post('/notificacao/{notificacao}/pausar', [NotificacaoController::class, 'pausar'])->name('notificacao.pausar');
    Route::post('/notificacao/{notificacao}/retomar', [NotificacaoController::class, 'retomar'])->name('notificacao.retomar');
    Route::delete('/notificacao/{notificacao}', [NotificacaoController::class, 'destroy'])->name('notificacao.destroy');

    Route::get('/credencial', [CredencialController::class, 'index'])->name('credencial');
    Route::post('/credencial', [CredencialController::class, 'store'])->name('credencial.store');
    Route::put('/credencial/{credencial}', [CredencialController::class, 'update'])->name('credencial.update');
    Route::delete('/credencial/{credencial}', [CredencialController::class, 'destroy'])->name('credencial.destroy');

    Route::get('/produtos', [ProdutoController::class, 'index'])->name('produtos');
    Route::post('/produtos', [ProdutoController::class, 'store'])->name('produtos.store');
    Route::put('/produtos/{produto}', [ProdutoController::class, 'update'])->name('produtos.update');
    Route::delete('/produtos/{produto}', [ProdutoController::class, 'destroy'])->name('produtos.destroy');

    Route::post('/logout', [AuthController::class, 'logout'])->name('logout');
});
