big update all menus

This commit is contained in:
Wian Drs
2026-08-07 09:16:13 +07:00
parent 75342dc7b7
commit e7575ba1c0
101 changed files with 3451 additions and 89 deletions
@@ -8,11 +8,15 @@ use App\Http\Requests\Nas\StoreNasResourceRequest;
use App\Http\Requests\Nas\UpdateNasResourceRequest;
use App\Http\Resources\Nas\NasResource;
use App\Services\Nas\NasResourceService;
use App\Services\Nas\MikrotikHealthService;
use Illuminate\Http\Request;
class NasResourceController extends ApiController
{
public function __construct(protected NasResourceService $service) {}
public function __construct(
protected NasResourceService $service,
protected MikrotikHealthService $mikrotikHealth,
) {}
public function index(IndexNasResourceRequest $request)
{
@@ -55,6 +59,18 @@ class NasResourceController extends ApiController
return $this->deleted('Data NAS berhasil dihapus');
}
public function testConnection(Request $request, int $id)
{
abort_unless($this->resource($request) === 'mikrotik', 404);
$mikrotik = $this->service->find('mikrotik', $id);
$this->authorizeTenant($request, $mikrotik->tenant_id);
return $this->success(
$this->mikrotikHealth->check($mikrotik),
'Koneksi RouterOS API berhasil'
);
}
private function resource(Request $request): string
{
return $request->route()->defaults['nas_resource'];