Files
ladill-woo-manager/app/Http/Controllers/Woo/IntegrationController.php
T
isaaccladandCursor 1e97f129e9
Deploy Ladill Woo Manager / deploy (push) Successful in 1m4s
Handle Woo plugin connection timeouts without 500 errors.
Treat unreachable WordPress stores as unavailable during integrations refresh instead of throwing when the site times out.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-08 11:02:06 +00:00

44 lines
1.3 KiB
PHP

<?php
namespace App\Http\Controllers\Woo;
use App\Http\Controllers\Controller;
use App\Http\Controllers\Woo\Concerns\ResolvesWooContext;
use App\Services\Woo\IntegrationStatusService;
use Illuminate\Http\Request;
use Illuminate\View\View;
class IntegrationController extends Controller
{
use ResolvesWooContext;
public function __construct(private IntegrationStatusService $integrations) {}
public function index(Request $request): View
{
$store = $this->currentStore($request);
$payload = $this->integrations->forStore($store);
return view('woo.integrations.index', [
'store' => $store,
'reachable' => $payload['reachable'],
'cached' => (bool) ($payload['cached'] ?? false),
'integrations' => $payload['integrations'],
]);
}
public function refresh(Request $request): \Illuminate\Http\RedirectResponse
{
$store = $this->currentStore($request);
if ($store) {
$this->integrations->forStore($store, refresh: true);
}
return redirect()
->route('woo.integrations.index')
->with('success', $store
? 'Integration status refreshed.'
: 'Connect a store to refresh integration status.');
}
}