inspiren-sem-tool/routes/web.php
brian-inspiren 221d3f8173
Some checks failed
linter / quality (push) Has been cancelled
tests / ci (push) Has been cancelled
feat: sem codebase
2026-05-21 11:28:03 +08:00

110 lines
4.8 KiB
PHP

<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\DashboardController;
use App\Http\Controllers\GoogleAdsController;
use App\Http\Controllers\GoogleController;
use App\Http\Controllers\ActivityController;
use App\Http\Controllers\ClientInvoiceController;
use App\Http\Controllers\ClientInvoiceAdjustmentController;
use App\Http\Controllers\Management\RoleController;
use App\Http\Controllers\Management\UserController;
use App\Services\ClickHouseService;
Route::get('/', function () {
return redirect()->route('login');
})->name('home');
Route::middleware('auth')->group(function () {
Route::get('dashboard', DashboardController::class)->name('dashboard');
Route::prefix('google-ads')
->name('google-ads.')
->group(function () {
Route::prefix('accounts')
->name('accounts.')
->controller(GoogleAdsController::class)
->group(function () {
Route::get('/', 'accounts')->name('index');
Route::post('/sync-google-company-details', 'syncGoogleCompanyDetails')
->name('sync-google-company-details');
Route::get('/{id}/edit', 'edit')->name('edit');
Route::get('/{id}', 'show')->name('show');
Route::post('/{id}/account', 'updateAccount')->name('account.update');
Route::prefix('activity')
->name('activity.')
->controller(ActivityController::class)
->group(function () {
Route::post('/{id}/store', 'storeActivity')
->name('storeActivity');
Route::patch('/{id}/update', 'updateActivity')
->name('updateActivity');
Route::patch('/{id}/complete', 'completeActivity')
->name('completeActivity');
Route::delete('/{id}/delete', 'deleteActivity')
->name('deleteActivity');
});
});
Route::get('import', [GoogleAdsController::class, 'insertCSVDataToDB'])->name('import');
});
Route::prefix('client-invoices')
->name('client-invoices.')
->controller(ClientInvoiceController::class)
->group(function () {
Route::get('/create', 'create')->name('create');
Route::post('/', 'store')->name('store');
Route::get('{invoice}/client/create', 'createClient')->name('client.create');
Route::post('{invoice}/client', 'storeClient')->name('client.store');
Route::get('{invoice}/edit', 'edit')->name('edit');
Route::put('{invoice}', 'update')->name('update');
Route::patch('{invoice}/approve', 'approve')->name('approve');
Route::delete('{invoice}', 'destroy')->name('destroy');
Route::get('/pdf/invoice/{id}', 'getPdfInvoice')->name('getPdfInvoice');
});
Route::prefix('clients')
->name('clients.')
->controller(ClientInvoiceAdjustmentController::class)
->group(function () {
Route::post('{client}/adjustments', 'store')->name('adjustments.store');
Route::delete('adjustments/{adjustment}', 'destroy')->name('adjustments.destroy');
});
Route::prefix('google')
->name('google.')
->controller(GoogleController::class)
->group(function () {
Route::post('/getCampaignsDetails', 'listCampaignsMetrics')
->name('getCampaignsDetails');
});
Route::prefix('management')
->name('management.')
->group(function () {
Route::prefix('roles')
->name('roles.')
->controller(RoleController::class)
->group(function () {
// Route::post('/getCampaignsDetails', 'listCampaignsMetrics')
// ->name('getCampaignsDetails');
Route::get('/', 'index')->name('index');
Route::get('{id}/edit/', 'edit')->name('edit');
Route::post('{id}/update/', 'update')->name('update');
});
Route::prefix('users')
->name('users.')
->controller(UserController::class)
->group(function () {
Route::get('/', 'index')->name('index');
Route::get('/create', 'create')->name('create');
Route::post('/store', 'store')->name('store');
Route::get('{id}/edit', 'edit')->name('edit');
Route::post('{id}/update', 'update')->name('update');
});
});
});
require __DIR__.'/settings.php';