refactor(auth): remove role-based logic from scanner authentication and permissions
This commit is contained in:
@@ -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');
|
||||
|
||||
@@ -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 {}
|
||||
|
||||
@@ -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,
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
) {
|
||||
|
||||
Reference in New Issue
Block a user