get('/api/customers', [CustomerApiController::class, 'customers']); $router->get('/api/customers/{id}', [CustomerApiController::class, 'customer']); $router->get('/api/customer-types', [CustomerApiController::class, 'customerTypes']); // ── API Proxy ───────────────────────────────────────────────────────────────── $router->get('/api/proxy', [ApiProxyController::class, 'fetch'])->middleware('auth'); // ── Auth (public) ───────────────────────────────────────────────────────────── $router->get('/login', [AuthController::class, 'login']); $router->get('/auth/callback', [AuthController::class, 'callback']); $router->get('/logout', [AuthController::class, 'logout']); $router->post('/logout', [AuthController::class, 'logout']); // ── Public ──────────────────────────────────────────────────────────────────── $router->get('/', [HomeController::class, 'index']); $router->get('/health', [HealthController::class, 'index']); // ── Campaigns ───────────────────────────────────────────────────────────────── $router->get('/campaigns', [CampaignController::class, 'index']) ->middleware('auth'); $router->get('/campaigns/data', [CampaignController::class, 'data']) ->middleware('auth'); $router->get('/campaigns/create', [CampaignController::class, 'create']) ->middleware('auth'); $router->post('/campaigns', [CampaignController::class, 'store']) ->middleware('auth'); $router->get('/campaigns/{id}/jobs', [JobController::class, 'campaign']) ->middleware('auth'); $router->get('/campaigns/{id}/jobs/data', [JobController::class, 'dataForCampaign']) ->middleware('auth'); $router->post('/campaigns/{id}/jobs/import/sheets', [JobController::class, 'googleSheetsList'])->middleware('auth'); $router->post('/campaigns/{id}/jobs/import', [JobController::class, 'importGoogleSheet'])->middleware('auth'); $router->post('/campaigns/{id}/jobs/import/file/sheets', [JobController::class, 'fileSheetsList']) ->middleware('auth'); $router->post('/campaigns/{id}/jobs/import/file', [JobController::class, 'importFile']) ->middleware('auth'); $router->get('/campaigns/{id}/edit', [CampaignController::class, 'edit']) ->middleware('auth'); $router->post('/campaigns/{id}/update', [CampaignController::class, 'update']) ->middleware('auth'); $router->post('/campaigns/{id}/delete', [CampaignController::class, 'destroy'])->middleware('auth'); // ── Campaign Types ──────────────────────────────────────────────────────────── $router->get('/campaign-types', [CampaignTypeController::class, 'index']) ->middleware('auth'); $router->get('/campaign-types/data', [CampaignTypeController::class, 'data']) ->middleware('auth'); $router->get('/campaign-types/create', [CampaignTypeController::class, 'create']) ->middleware('auth'); $router->post('/campaign-types', [CampaignTypeController::class, 'store']) ->middleware('auth'); $router->get('/campaign-types/{id}/edit', [CampaignTypeController::class, 'edit']) ->middleware('auth'); $router->post('/campaign-types/{id}/update', [CampaignTypeController::class, 'update']) ->middleware('auth'); $router->post('/campaign-types/{id}/delete', [CampaignTypeController::class, 'destroy'])->middleware('auth'); // ── Jobs ────────────────────────────────────────────────────────────────────── $router->get('/jobs', [JobController::class, 'index']) ->middleware('auth'); $router->get('/jobs/data', [JobController::class, 'data']) ->middleware('auth'); $router->get('/jobs/create', [JobController::class, 'create']) ->middleware('auth'); $router->post('/jobs', [JobController::class, 'store']) ->middleware('auth'); $router->get('/jobs/{id}/edit', [JobController::class, 'edit']) ->middleware('auth'); $router->post('/jobs/{id}/update', [JobController::class, 'update']) ->middleware('auth'); $router->post('/jobs/{id}/delete', [JobController::class, 'destroy'])->middleware('auth'); // ── Job Types ───────────────────────────────────────────────────────────────── $router->get('/job-types', [JobTypeController::class, 'index']) ->middleware('auth'); $router->get('/job-types/data', [JobTypeController::class, 'data']) ->middleware('auth'); $router->get('/job-types/create', [JobTypeController::class, 'create']) ->middleware('auth'); $router->post('/job-types', [JobTypeController::class, 'store']) ->middleware('auth'); $router->get('/job-types/{id}/edit', [JobTypeController::class, 'edit']) ->middleware('auth'); $router->post('/job-types/{id}/update', [JobTypeController::class, 'update']) ->middleware('auth'); $router->post('/job-types/{id}/delete', [JobTypeController::class, 'destroy'])->middleware('auth'); // ── Customers ───────────────────────────────────────────────────────────────── $router->get('/customers', [CustomerController::class, 'index']) ->middleware('auth'); $router->get('/customers/data', [CustomerController::class, 'data']) ->middleware('auth'); $router->get('/customers/create', [CustomerController::class, 'create']) ->middleware('auth'); $router->post('/customers', [CustomerController::class, 'store']) ->middleware('auth'); $router->post('/customers/import/upload', [CustomerController::class, 'importUpload']) ->middleware('auth'); $router->post('/customers/import/preview', [CustomerController::class, 'importPreview']) ->middleware('auth'); $router->post('/customers/import/approve', [CustomerController::class, 'importApprove']) ->middleware('auth'); $router->get('/customers/{id}/edit', [CustomerController::class, 'edit']) ->middleware('auth'); $router->post('/customers/{id}/update', [CustomerController::class, 'update']) ->middleware('auth'); $router->post('/customers/{id}/delete', [CustomerController::class, 'destroy']) ->middleware('auth'); // ── Customer Types ──────────────────────────────────────────────────────────── $router->get('/customer-types', [CustomerTypeController::class, 'index']) ->middleware('auth'); $router->get('/customer-types/data', [CustomerTypeController::class, 'data']) ->middleware('auth'); $router->get('/customer-types/create', [CustomerTypeController::class, 'create']) ->middleware('auth'); $router->post('/customer-types', [CustomerTypeController::class, 'store']) ->middleware('auth'); $router->get('/customer-types/{id}/edit', [CustomerTypeController::class, 'edit']) ->middleware('auth'); $router->post('/customer-types/{id}/update', [CustomerTypeController::class, 'update']) ->middleware('auth'); $router->post('/customer-types/{id}/delete', [CustomerTypeController::class, 'destroy'])->middleware('auth');