35 lines
833 B
PHP
35 lines
833 B
PHP
<?php
|
|
|
|
namespace App\Domains\Auth\Services;
|
|
|
|
use App\Domains\Auth\Models\User;
|
|
|
|
class ScannerContextService
|
|
{
|
|
public function load(User $user): User
|
|
{
|
|
$tenant = $user->tenant()
|
|
->with([
|
|
'menues' => fn ($query) => $query->whereHas(
|
|
'roles',
|
|
fn ($query) => $query->where('codigo', $user->rol_codigo)
|
|
),
|
|
])
|
|
->firstOrFail();
|
|
|
|
$user->setRelation('tenant', $tenant);
|
|
|
|
if ($tenant->requiresScannerCategoryValidation()) {
|
|
$categories = $user->scanCategories()
|
|
->orderBy('nombre')
|
|
->get();
|
|
|
|
if ($categories->isNotEmpty()) {
|
|
$user->setRelation('scanCategories', $categories);
|
|
}
|
|
}
|
|
|
|
return $user;
|
|
}
|
|
}
|