prefix('v1/admin') ->group(function () { // NOTE not login Route::group([], function () { Route::post('login', [AdminController::class, 'login']); Route::post('reset-password', [AdminController::class, 'resetPassword']); Route::get('forgot-password', [AdminController::class, 'forgotPassword']); }); // NOTE after login Route::group([ 'middleware' => AdminMiddleware::class, ], function () { Route::get('logout', [AdminController::class, 'logout']); Route::get('detail', [AdminController::class, 'detail']); Route::post('change-password', [AdminController::class, 'changePassword']); Route::group([ 'prefix' => 'setting', ], function () { Route::get('/', [SettingController::class, 'index']); Route::post('/', [SettingController::class, 'updateOrCreate']); Route::get('/clear-cache', [SettingController::class, 'clearCache']); }); Route::group([ 'prefix' => 'client', ], function () { Route::get('/get', [ClientController::class, 'get']); Route::post('/create', [ClientController::class, 'create']); Route::post('/update', [ClientController::class, 'update']); Route::get('/delete', [ClientController::class, 'delete']); Route::post('/updates', [ClientController::class, 'updates']); Route::post('/deletes', [ClientController::class, 'deletes']); }); Route::group([ 'prefix' => 'banner', ], function () { Route::get('/all', [BannerController::class, 'all']); Route::post('/create', [BannerController::class, 'create']); Route::post('/update', [BannerController::class, 'update']); Route::get('/delete', [BannerController::class, 'delete']); Route::post('/updates', [BannerController::class, 'updates']); Route::post('/deletes', [BannerController::class, 'deletes']); }); Route::group([ 'prefix' => 'custom-theme', ], function () { Route::get('/', [CustomThemeController::class, 'index']); Route::post('/', [CustomThemeController::class, 'updateOrCreate']); }); Route::group([ 'prefix' => 'h-country', ], function () { Route::get('/', [CountryController::class, 'all']); }); Route::group([ 'prefix' => 'dashboard', ], function () { Route::get('/get', [DashboardController::class, 'get']); Route::get('/statistics-search-sn-by-month', [DashboardController::class, 'statisticSearchSNByMonth']); Route::get('/statistics-revenues-by-month', [DashboardController::class, 'statisticRevenuesByMonth']); }); Route::group([ 'prefix' => 'jira', ], function () { Route::get('/fetch-issues', [JiraController::class, 'fetchAllIssues']); Route::get('/all-project', [JiraController::class, 'getAllProject']); Route::get('/all-issue-by-project', [JiraController::class, 'fetchIssuesByProject']); Route::get('/worklogs', [JiraController::class, 'getAllUserWorkLogs'])->middleware('check.permission:admin.staff'); }); Route::group([ 'prefix' => 'timekeeping', ], function () { Route::get('/', [TimekeepingController::class, 'get'])->middleware('check.permission:admin.hr.staff'); Route::post('/addMutilple', [TimekeepingController::class, 'addWorkingTimeForMultipleUser'])->middleware('check.permission:admin.hr'); Route::post('/addNote', [TimekeepingController::class, 'addNoteForUser'])->middleware('check.permission:admin.hr'); Route::post('/update-working-days', [TimekeepingController::class, 'saveWorkingDays'])->middleware('check.permission:admin.hr'); }); Route::group([ 'prefix' => 'tracking', ], function () { Route::post('/create', [TrackingController::class, 'create'])->middleware('check.permission:admin.hr'); Route::post('/update', [TrackingController::class, 'update'])->middleware('check.permission:admin.hr'); Route::get('/delete', [TrackingController::class, 'delete'])->middleware('check.permission:admin.hr'); }); Route::group([ 'prefix' => 'category', ], function () { Route::get('/get-list-master', [CategoryController::class, 'getListMaster']); }); Route::group([ 'prefix' => 'ticket', ], function () { Route::get('/', [TicketController::class, 'get']); Route::post('/create', [TrackingController::class, 'createTicket'])->middleware('check.permission:admin.hr.staff'); Route::get('/delete', [TrackingController::class, 'deleteTicket'])->middleware('check.permission:admin.hr.staff'); Route::post('/handle-ticket', [TrackingController::class, 'handleTicket'])->middleware('check.permission:admin'); }); }); }); Route::group([ 'prefix' => 'v1/admin/tracking', ], function () { Route::get('/', [TrackingController::class, 'get'])->middleware('check.permission:admin.hr.staff'); Route::post('/scan-create', [TrackingController::class, 'create']); Route::post('/send-image', [TrackingController::class, 'saveImage']); // Route::get('/clear-cache', [SettingController::class, 'clearCache']); }); Route::group([ 'prefix' => 'v1/admin/jira', ], function () { Route::get('/send-worklog-report', [JiraController::class, 'sendReport']); });