Files
sibedas/routes/api.php
2025-02-21 08:42:08 +07:00

119 lines
6.1 KiB
PHP

<?php
use App\Http\Controllers\Api\BusinessOrIndustriesController;
use App\Http\Controllers\Api\CustomersController;
use App\Http\Controllers\Api\DashboardController;
use App\Http\Controllers\Api\DataSettingController;
use App\Http\Controllers\Api\GlobalSettingsController;
use App\Http\Controllers\Api\GoogleSheetController;
use App\Http\Controllers\Api\ImportDatasourceController;
use App\Http\Controllers\Api\MenusController;
use App\Http\Controllers\Api\PbgTaskController;
use App\Http\Controllers\Api\RequestAssignmentController;
use App\Http\Controllers\Api\RolesController;
use App\Http\Controllers\Api\ScrapingController;
use App\Http\Controllers\Api\SpatialPlanningsController;
use App\Http\Controllers\Api\UsersController;
use App\Http\Controllers\Settings\SyncronizeController;
use App\Http\Controllers\Api\AdvertisementController;
use App\Http\Controllers\Api\UmkmController;
use App\Http\Controllers\Api\TourismController;
use App\Http\Controllers\Api\SpatialPlanningController;
use Illuminate\Support\Facades\Route;
Route::post('/login', [UsersController::class, 'login'])->name('api.user.login');
Route::group(['middleware' => 'auth:sanctum'], function (){
// users
Route::controller(UsersController::class)->group(function(){
Route::get('/users', 'index')->name('api.users');
Route::post('/users', 'store')->name('api.users.store');
Route::put('/users/{id}', 'update')->name('api.users.update');
Route::post('/logout','logout')->name('api.users.logout');
});
// global settings
Route::apiResource('global-settings', GlobalSettingsController::class);
// import datasource
// Route::apiResource('import-datasource',ImportDatasourceController::class);
Route::controller(ImportDatasourceController::class)->group(function (){
Route::get('/import-datasource/check-datasource', 'checkImportDatasource')
->name('import-datasource.check');
Route::get('/import-datasource', 'index')->name('import-datasource.index');
});
// request assignments
Route::apiResource('request-assignments',RequestAssignmentController::class);
// all dashboards
Route::controller(DashboardController::class)->group(function(){
Route::get('/business-documents','businnessDocument');
Route::get('/non-business-documents','nonBusinnessDocument');
Route::get('/all-task-documents', 'allTaskDocuments');
Route::get('/pbg-task-documents', 'pbgTaskDocuments');
Route::get('/verification-documents','verificationDocuments');
Route::get('/non-verification-documents','nonVerificationDocuments');
});
// scraping
Route::apiResource('/scraping', ScrapingController::class);
// reklame
Route::apiResource('advertisements', AdvertisementController::class);
Route::get('/combobox/search-options', [AdvertisementController::class, 'searchOptionsInAdvertisements']);
Route::post('/advertisements/import', [AdvertisementController::class, 'importFromFile']);
Route::get('/download-template-advertisement', [AdvertisementController::class, 'downloadExcelAdvertisement']);
// umkm
Route::apiResource('umkm', UmkmController::class);
Route::post('/umkm/import', [UmkmController::class, 'importFromFile']);
Route::get('/download-template-umkm', [UmkmController::class, 'downloadExcelUmkm']);
//tourism
Route::apiResource('tourisms', TourismController::class);
Route::post('/tourisms/import', [TourismController::class, 'importFromFile']);
Route::get('/download-template-tourism', [TourismController::class, 'downloadExcelTourism']);
Route::apiResource('spatial-plannings', SpatialPlanningController::class);
Route::post('/spatial-plannings/import', [SpatialPlanningController::class, 'importFromFile']);
Route::get('/download-template-spatialPlannings', [SpatialPlanningController::class, 'downloadExcelSpatialPlanning']);
// data-settings
Route::apiResource('/api-data-settings', DataSettingController::class);
Route::apiResource('/api-pbg-task', PbgTaskController::class);
// sync pbg google sheet
Route::get('/sync-pbg-task-google-sheet', [PbgTaskController::class, 'syncPbgFromGoogleSheet'])->name('pbg-task.sync-google-sheet');
Route::apiResource('/api-google-sheet', GoogleSheetController::class);
Route::get('/sync-task', [SyncronizeController::class, 'syncPbgTask'])->name('api.task');
Route::get('/get-user-token', [SyncronizeController::class, 'getUserToken'])->name('api.task.token');
Route::get('/get-index-integration-retribution/{uuid}', [SyncronizeController::class, 'syncIndexIntegration'])->name('api.task.inntegration');
Route::get('/sync-task-submit/{uuid}', [SyncronizeController::class, 'syncTaskDetailSubmit'])->name('api.task.submit');
// menus api
Route::apiResource('api-menus', MenusController::class);
// roles api
Route::apiResource('api-roles', RolesController::class);
//business industries api
Route::apiResource('api-business-industries', BusinessOrIndustriesController::class);
Route::post('api-business-industries/upload', [BusinessOrIndustriesController::class, 'upload'])->name('business-industries.upload');
Route::controller(SpatialPlanningsController::class)->group( function (){
Route::get('/spatial-plannings', 'index')->name('api.spatial-plannings');
Route::post('/spatial-plannings', 'store')->name('api.spatial-plannings.store');
Route::put('/spatial-plannings/{id}', 'update')->name('api.spatial-plannings.update');
Route::delete('/spatial-plannings/{id}', 'destroy')->name('api.spatial-plannings.destroy');
Route::post('/spatial-plannings/upload', 'upload')->name('api.spatial-plannings.upload');
});
Route::controller(CustomersController::class)->group( function (){
Route::get('/customers', 'index')->name('api.customers');
Route::post('/customers', 'store')->name('api.customers.store');
Route::put('/customers/{id}', 'update')->name('api.customers.update');
Route::delete('/customers/{id}', 'destroy')->name('api.customers.destroy');
Route::post('/customers/upload', 'upload')->name('api.customers.upload');
});
});