feat: Implement staff management features; add controller, service, resource, routes, and tests for staff and category assignments

This commit is contained in:
2026-08-04 16:20:30 -03:00
parent 3a039a6055
commit 2a15dc92be
18 changed files with 618 additions and 0 deletions

View File

@@ -0,0 +1,25 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
public function up(): void
{
Schema::create('category_scanners', function (Blueprint $table): void {
$table->id();
$table->foreignId('user_id')->constrained()->cascadeOnUpdate()->cascadeOnDelete();
$table->foreignId('categoria_id')->constrained('categorias')->cascadeOnUpdate()->cascadeOnDelete();
$table->timestamps();
$table->unique(['user_id', 'categoria_id']);
});
}
public function down(): void
{
Schema::dropIfExists('category_scanners');
}
};

View File

@@ -81,6 +81,10 @@ class AuthorizationSeeder extends Seeder
'nombre' => 'Gestionar tickets',
'descripcion' => 'Permite emitir, invalidar o regenerar tickets.',
],
'tickets.escanear' => [
'nombre' => 'Escanear tickets',
'descripcion' => 'Permite validar y consumir tickets de las categorías asignadas al usuario.',
],
'contenido.gestionar' => [
'nombre' => 'Gestionar contenido',
'descripcion' => 'Permite administrar menús, carruseles, destacados y redes sociales.',
@@ -117,6 +121,11 @@ class AuthorizationSeeder extends Seeder
'descripcion' => 'Accede a los menús administrativos de la aplicación.',
'permisos' => [],
],
RoleCode::Scanner->value => [
'nombre' => 'Scanner',
'descripcion' => 'Valida y consume tickets de las categorías que tiene asignadas.',
'permisos' => ['tickets.escanear'],
],
RoleCode::User->value => [
'nombre' => 'Usuario',
'descripcion' => 'Cliente final limitado a sus propios datos y operaciones.',