|
- <?php
-
- declare(strict_types=1);
-
- use App\Controllers\ApiProxyController;
- use App\Controllers\AuthController;
- use App\Controllers\CampaignController;
- use App\Controllers\CampaignTypeController;
- use App\Controllers\CustomerController;
- use App\Controllers\CustomerTypeController;
- use App\Controllers\HealthController;
- use App\Controllers\HomeController;
- use App\Controllers\JobController;
- use App\Controllers\JobTypeController;
-
- // ── 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']);
- $router->get('/users/{id}', [HomeController::class, 'user']);
-
- // ── 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/lookup', [CustomerController::class, 'lookup']) ->middleware('auth');
- $router->get('/customers/create', [CustomerController::class, 'create']) ->middleware('auth');
- $router->post('/customers', [CustomerController::class, 'store']) ->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');
|