Files
rkm-conectasus-ci-sandbox/api/app/Services/RouterInfoService.php
Antonio Lopes dos Santos afec302c3e
All checks were successful
build-api-image / build (push) Successful in 51s
init commit
2026-08-04 16:52:02 -03:00

47 lines
1.7 KiB
PHP

<?php
namespace App\Services;
use App\Models\Log\AcessoFuncionalidade;
use App\Services\Service;
use Illuminate\Support\Facades\DB;
class RouterInfoService extends Service
{
public static function store($request)
{
$response = [
'dados_funcionalidade' => [
'abas' => collect(),
],
];
$funcionalidadeId = DB::table('administracao_funcionalidade')
->select(['administracao_funcionalidade.id'])
->where('administracao_funcionalidade.identificador', $request->funcionalidade)
->whereExists(fn ($q) => $q->select(DB::raw(1))
->from('administracao_modulo')
->where('administracao_modulo.identificador', $request->modulo)
->whereColumn('administracao_modulo.id', 'administracao_funcionalidade.modulo_id')
)
->first()->id ?? null;
if (!is_null($funcionalidadeId)) {
AcessoFuncionalidade::create(['funcionalidade_id' => $funcionalidadeId]);
$response['dados_funcionalidade']['abas'] = DB::table('intranet.cadastro_funcionalidade_aba')
->select([
'cadastro_funcionalidade_aba.nome',
'cadastro_funcionalidade_aba.texto',
])
->join('intranet.cadastro_funcionalidade', 'cadastro_funcionalidade.id', 'cadastro_funcionalidade_aba.funcionalidade_id')
->join('intranet.cadastro_modulo', 'cadastro_modulo.id', 'cadastro_funcionalidade.modulo_id')
->where('cadastro_modulo.identificador', $request->modulo)
->where('cadastro_funcionalidade.identificador', $request->funcionalidade)
->get();
}
return $response;
}
}