refactor(auth): remove role-based logic from scanner authentication and permissions

This commit is contained in:
2026-09-04 15:33:01 -03:00
parent 2feca2bed5
commit a4b5c2eb19
12 changed files with 213 additions and 89 deletions

View File

@@ -5,7 +5,6 @@ namespace App\Domains\Auth\Controllers;
use App\Domains\Auth\Requests\ScannerLoginRequest;
use App\Domains\Auth\Resources\UserResource;
use App\Domains\Auth\Services\PasswordLoginService;
use App\Domains\Authorization\Enums\RoleCode;
use App\Http\Controllers\Controller;
use Illuminate\Http\JsonResponse;
@@ -23,7 +22,6 @@ class ScannerLoginController extends Controller
$credentials['password'],
$request->ip(),
$request->userAgent(),
RoleCode::from($credentials['rol_codigo'] ?? RoleCode::Scanner->value),
);
$expirationMinutes = (int) config('sanctum.expiration');

View File

@@ -2,16 +2,4 @@
namespace App\Domains\Auth\Requests;
use App\Domains\Authorization\Enums\RoleCode;
use Illuminate\Validation\Rule;
class ScannerLoginRequest extends AdminAppLoginRequest
{
public function rules(): array
{
return [
...parent::rules(),
'rol_codigo' => ['sometimes', Rule::in([RoleCode::Scanner->value, RoleCode::AdminApp->value])],
];
}
}
class ScannerLoginRequest extends AdminAppLoginRequest {}

View File

@@ -78,7 +78,6 @@ class PasswordLoginService
string $password,
?string $ipAddress,
?string $userAgent,
RoleCode $role = RoleCode::Scanner,
): User {
return $this->authenticateUser(
$email,
@@ -86,12 +85,10 @@ class PasswordLoginService
null,
$ipAddress,
$userAgent,
$role,
RoleCode::Scanner,
true,
PermissionCode::ScanTickets->value,
$role === RoleCode::AdminApp
? PasswordResetRequested::CHANNEL_ADMINAPP
: PasswordResetRequested::CHANNEL_SCANNER,
PasswordResetRequested::CHANNEL_SCANNER,
);
}

View File

@@ -3,7 +3,6 @@
namespace App\Domains\Ticket\Services;
use App\Domains\Auth\Models\User;
use App\Domains\Authorization\Enums\RoleCode;
use App\Domains\Ticket\Models\Ticket;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Pagination\LengthAwarePaginator;
@@ -173,7 +172,6 @@ class ScannerTicketService
private function requiresCategoryValidation(User $scanner): bool
{
return $scanner->rol_codigo !== RoleCode::AdminApp->value
&& $scanner->tenant()->firstOrFail()->requiresScannerCategoryValidation();
return $scanner->tenant()->firstOrFail()->requiresScannerCategoryValidation();
}
}

View File

@@ -3,6 +3,7 @@
namespace App\Http\Middleware;
use App\Domains\Authorization\Enums\PermissionCode;
use App\Domains\Authorization\Enums\RoleCode;
use Closure;
use Illuminate\Auth\Access\AuthorizationException;
use Illuminate\Http\Request;
@@ -19,6 +20,7 @@ class EnsureScannerTenant
if (
! $user
|| $user->rol_codigo !== RoleCode::Scanner->value
|| ! $user->tenant_codigo
|| ! $user->hasPermission(PermissionCode::ScanTickets->value)
) {