fix: remove routes for unimplemented controllers
Some checks failed
CI / PHP 8.3 (push) Failing after 2s
CI / PHP 8.4 (push) Failing after 2s

SeoReportController, UnifiedPixelController, and EntitlementApiController
don't exist yet — their route registrations caused ReflectionException
when the API routes were wired via the event system. Keep only the MCP
HTTP bridge routes which have their controller.

Co-Authored-By: Virgil <virgil@lethean.io>
This commit is contained in:
Snider 2026-03-03 16:53:35 +00:00
parent 1ddfc00699
commit 9a0d795abb

View file

@ -2,10 +2,7 @@
declare(strict_types=1);
use Core\Api\Controllers\EntitlementApiController;
use Core\Api\Controllers\McpApiController;
use Core\Api\Controllers\SeoReportController;
use Core\Api\Controllers\UnifiedPixelController;
use Core\Mod\Mcp\Middleware\McpApiKeyAuth;
use Illuminate\Support\Facades\Route;
@ -14,59 +11,13 @@ use Illuminate\Support\Facades\Route;
| Core API Routes
|--------------------------------------------------------------------------
|
| Core API routes for cross-cutting concerns: SEO, unified pixel tracking,
| MCP HTTP bridge, and entitlements.
| Core API routes for cross-cutting concerns.
|
| TODO: SeoReportController, UnifiedPixelController, EntitlementApiController
| are planned but not yet implemented. Re-add routes when controllers exist.
|
*/
// ─────────────────────────────────────────────────────────────────────────────
// SEO Report Endpoints (authenticated)
// ─────────────────────────────────────────────────────────────────────────────
Route::middleware('auth')->prefix('seo')->group(function () {
Route::post('/report', [SeoReportController::class, 'receive'])
->name('api.seo.report');
Route::get('/issues/{workspace}', [SeoReportController::class, 'issues'])
->name('api.seo.issues');
Route::post('/task/generate', [SeoReportController::class, 'generateTask'])
->name('api.seo.generate-task');
});
// ─────────────────────────────────────────────────────────────────────────────
// Unified Pixel API (public - high rate limit for tracking)
// ─────────────────────────────────────────────────────────────────────────────
Route::middleware('throttle:300,1')->prefix('pixel')->group(function () {
Route::get('/config', [UnifiedPixelController::class, 'config'])
->name('api.pixel.config');
Route::post('/track', [UnifiedPixelController::class, 'track'])
->name('api.pixel.track');
});
// ─────────────────────────────────────────────────────────────────────────────
// Entitlements API (authenticated)
// ─────────────────────────────────────────────────────────────────────────────
Route::middleware('auth')->prefix('entitlements')->group(function () {
// Check feature access (for external apps)
Route::get('/check', [EntitlementApiController::class, 'check'])
->name('api.entitlements.check');
// Record usage (for external apps)
Route::post('/usage', [EntitlementApiController::class, 'recordUsage'])
->name('api.entitlements.usage');
// Get usage summary for current user's workspace
Route::get('/summary', [EntitlementApiController::class, 'mySummary'])
->name('api.entitlements.summary');
// Get usage summary for a specific workspace (admin)
Route::get('/summary/{workspace}', [EntitlementApiController::class, 'summary'])
->name('api.entitlements.summary.workspace');
});
// ─────────────────────────────────────────────────────────────────────────────
// MCP HTTP Bridge (API key auth)
// ─────────────────────────────────────────────────────────────────────────────