- Introduced new routes for entry reservations in admin app, including form, index, store, and download functionalities. - Created a migration to add the "Reserva de Tickets" menu item to the admin app. - Updated MenuSeeder to include the new menu item for ticket reservations. - Developed a PDF view for entry reservations. - Implemented tests for the EntryReservationController and EntryReservationService to ensure proper functionality and access control. - Refactored test setup to use a dedicated schema creation trait for better isolation and maintainability.
44 lines
2.7 KiB
PHP
44 lines
2.7 KiB
PHP
<?php
|
|
|
|
use App\Domains\Ticketing\Ticket\Controllers\AdminApp\EntryReservationController;
|
|
use App\Domains\Ticketing\Ticket\Controllers\AdminApp\TicketController;
|
|
use Illuminate\Support\Facades\Route;
|
|
|
|
Route::prefix('v1/adminapp/tenant')
|
|
->middleware(['auth:sanctum', 'adminapp.tenant'])
|
|
->group(function (): void {
|
|
Route::prefix('entry-reservations')->middleware('tenant.menu:adminapp.ticket-reservations')
|
|
->group(function (): void {
|
|
Route::get('form', [EntryReservationController::class, 'form'])->name('adminapp.entry-reservations.form');
|
|
Route::get('/', [EntryReservationController::class, 'index'])->name('adminapp.entry-reservations.index');
|
|
Route::post('/', [EntryReservationController::class, 'store'])->name('adminapp.entry-reservations.store');
|
|
Route::get('pdf', [EntryReservationController::class, 'downloadPdf'])->name('adminapp.entry-reservations.pdf');
|
|
Route::get('excel', [EntryReservationController::class, 'downloadExcel'])->name('adminapp.entry-reservations.excel');
|
|
Route::get('{reservation}/ticket/pdf', [EntryReservationController::class, 'downloadTicketPdf'])
|
|
->whereNumber('reservation')->name('adminapp.entry-reservations.ticket.pdf');
|
|
Route::delete('{reservation}', [EntryReservationController::class, 'destroy'])
|
|
->whereNumber('reservation')->name('adminapp.entry-reservations.destroy');
|
|
});
|
|
Route::get('tickets', [TicketController::class, 'index'])
|
|
->middleware('tenant.menu:adminapp.tickets')
|
|
->name('adminapp.tickets.index');
|
|
Route::post('tickets/{ticket}/cancel', [TicketController::class, 'cancel'])
|
|
->whereNumber('ticket')
|
|
->middleware('tenant.menu:adminapp.tickets')
|
|
->name('adminapp.tickets.cancel');
|
|
Route::get('tickets/{ticket}/refund', [TicketController::class, 'calculateRefund'])
|
|
->whereNumber('ticket')
|
|
->middleware('tenant.menu:adminapp.tickets')
|
|
->name('adminapp.tickets.calculate-refund');
|
|
Route::post('tickets/{ticket}/refund', [TicketController::class, 'refund'])
|
|
->whereNumber('ticket')
|
|
->middleware('tenant.menu:adminapp.tickets')
|
|
->name('adminapp.tickets.refund');
|
|
Route::get('tickets/pdf', [TicketController::class, 'downloadPdf'])
|
|
->middleware('tenant.menu:adminapp.tickets')
|
|
->name('adminapp.tickets.pdf');
|
|
Route::get('tickets/excel', [TicketController::class, 'downloadExcel'])
|
|
->middleware('tenant.menu:adminapp.tickets')
|
|
->name('adminapp.tickets.excel');
|
|
});
|