305 lines
16 KiB
PHP
305 lines
16 KiB
PHP
<?php
|
||
|
||
use Illuminate\Support\Facades\Artisan;
|
||
use Illuminate\Support\Facades\App;
|
||
use Illuminate\Support\Facades\Input;
|
||
use Illuminate\Support\Facades\Route;
|
||
use Illuminate\Support\Facades\Auth;
|
||
|
||
/*
|
||
|--------------------------------------------------------------------------
|
||
| Web Routes
|
||
|--------------------------------------------------------------------------
|
||
|
|
||
| Here is where you can register web routes for your application. These
|
||
| routes are loaded by the RouteServiceProvider within a group which
|
||
| contains the "web" middleware group. Now create something great!
|
||
|
|
||
loginhtdedwqa
|
||
*/
|
||
|
||
Auth::routes();
|
||
|
||
|
||
oturumAc();
|
||
|
||
if(oturumisset("locale")) {
|
||
App::setLocale(oturum("locale"));
|
||
}
|
||
|
||
Route::get('/clear-cache', function() {
|
||
|
||
Artisan::call('cache:clear');
|
||
Artisan::call('config:clear');
|
||
Artisan::call('view:clear');
|
||
Artisan::call('queue:clear', [
|
||
'--force' => true
|
||
]);
|
||
//Artisan::call('vendor:publish');
|
||
return "Cache is cleared";
|
||
});
|
||
//Route::get("/storage/app/","files")
|
||
|
||
|
||
|
||
|
||
|
||
Route::get('/artisan-optimize', function() {
|
||
Artisan::call('optimize');
|
||
return "optimized";
|
||
});
|
||
Route::get('/get-token', function() {
|
||
|
||
return csrf_token();
|
||
});
|
||
Route::get('/cache/{size}/{month}/{day}/{file}',function($size,$month,$day,$file){
|
||
if($size=="large") $size = 1920;
|
||
if($size=="small") $size = 256;
|
||
if($size=="medium") $size = 512;
|
||
yonlendir(url("r.php?w=$size&p=storage/app/files/$month/$day/$file"));
|
||
});
|
||
Route::get('/',"ContentsController@index");
|
||
|
||
Route::get('/logout',"AdminController@logout");
|
||
Route::get('/home',"AdminController@default");
|
||
Route::get('/ajax/{var?}',"AjaxController@index");
|
||
Route::match(['get', 'post', 'put', 'delete'],'/admin-ajax/{var?}',"AdminAjaxController@index");
|
||
|
||
// PDF Editor API Routes (Web middleware group for session auth)
|
||
Route::prefix('api/pdf-editor')->group(function () {
|
||
// Annotation routes
|
||
Route::get('/annotations', [\App\Http\Controllers\Api\AnnotationController::class, 'index']);
|
||
Route::post('/annotations', [\App\Http\Controllers\Api\AnnotationController::class, 'store']);
|
||
Route::post('/annotations/sync', [\App\Http\Controllers\Api\AnnotationController::class, 'sync']);
|
||
Route::post('/annotations/delete', [\App\Http\Controllers\Api\AnnotationController::class, 'deleteMultiple']);
|
||
Route::get('/annotations/{annotation}', [\App\Http\Controllers\Api\AnnotationController::class, 'show']);
|
||
Route::put('/annotations/{annotation}', [\App\Http\Controllers\Api\AnnotationController::class, 'update']);
|
||
Route::delete('/annotations/{annotation}', [\App\Http\Controllers\Api\AnnotationController::class, 'destroy']);
|
||
Route::get('/action-history', [\App\Http\Controllers\Api\AnnotationController::class, 'actionHistory']);
|
||
Route::get('/version-annotations', [\App\Http\Controllers\Api\AnnotationController::class, 'versionAnnotations']);
|
||
|
||
|
||
// QR Code routes
|
||
Route::post('/qr-code/generate', [\App\Http\Controllers\Api\QRCodeController::class, 'generate']);
|
||
Route::get('/qr-code/{shapeId}', [\App\Http\Controllers\Api\QRCodeController::class, 'generateForAnnotation']);
|
||
|
||
// PDF Editor Lookup/Metadata routes
|
||
Route::get('/metadata/drawing-types', [\App\Http\Controllers\Api\PdfEditorLookupController::class, 'drawingTypes']);
|
||
Route::get('/metadata/drawings', [\App\Http\Controllers\Api\PdfEditorLookupController::class, 'drawings']);
|
||
Route::get('/metadata/files', [\App\Http\Controllers\Api\PdfEditorLookupController::class, 'files']);
|
||
Route::get('/metadata/weld-data', [\App\Http\Controllers\Api\PdfEditorLookupController::class, 'weldData']);
|
||
Route::post('/metadata/document-stage', [\App\Http\Controllers\Api\PdfEditorLookupController::class, 'updateDocumentStage']);
|
||
|
||
// Joint Widget / IC Log routes
|
||
Route::get('/ic-log-members', [\App\Http\Controllers\Api\PdfEditorLookupController::class, 'getICLogMembers']);
|
||
Route::get('/ic-log-member-details', [\App\Http\Controllers\Api\PdfEditorLookupController::class, 'getICLogMemberDetails']);
|
||
Route::get('/check-existing-weldmap', [\App\Http\Controllers\Api\PdfEditorLookupController::class, 'checkExistingWeldmapData']);
|
||
Route::get('/get-qualified-welders', [\App\Http\Controllers\Api\PdfEditorLookupController::class, 'getQualifiedWelders']);
|
||
Route::get('/get-type-of-weld-options', [\App\Http\Controllers\Api\PdfEditorLookupController::class, 'getTypeOfWeldOptions']);
|
||
Route::post('/save-joint-data', [\App\Http\Controllers\Api\AnnotationController::class, 'saveJointData']);
|
||
Route::post('/update-welder-assignment', [\App\Http\Controllers\Api\AnnotationController::class, 'updateWelderAssignment']);
|
||
Route::get('/get-joint-data', [\App\Http\Controllers\Api\AnnotationController::class, 'getJointData']);
|
||
});
|
||
|
||
// PDF Export route
|
||
Route::post('/export-pdf', [\App\Http\Controllers\Api\AnnotationController::class, 'exportPDF']);
|
||
|
||
// PDFM API Routes (PDF Markup - Web middleware group for session auth)
|
||
Route::prefix('api/pdfm')->group(function () {
|
||
// Spools
|
||
Route::get('/spools', [\App\Http\Controllers\Api\PdfmController::class, 'getSpools']);
|
||
Route::post('/spools', [\App\Http\Controllers\Api\PdfmController::class, 'createSpool']);
|
||
Route::get('/spools/generate-number', [\App\Http\Controllers\Api\PdfmController::class, 'generateSpoolNumber']);
|
||
|
||
// Elements
|
||
Route::get('/elements', [\App\Http\Controllers\Api\PdfmController::class, 'getElements']);
|
||
Route::post('/elements', [\App\Http\Controllers\Api\PdfmController::class, 'createElement']);
|
||
|
||
// Joints
|
||
Route::get('/joints', [\App\Http\Controllers\Api\PdfmController::class, 'getJoints']);
|
||
Route::post('/joints', [\App\Http\Controllers\Api\PdfmController::class, 'createJoint']);
|
||
Route::get('/joints/generate-number', [\App\Http\Controllers\Api\PdfmController::class, 'generateJointNumber']);
|
||
|
||
// Welders
|
||
Route::get('/welders', [\App\Http\Controllers\Api\PdfmController::class, 'getWelders']);
|
||
Route::post('/welders', [\App\Http\Controllers\Api\PdfmController::class, 'createWelder']);
|
||
|
||
// Welder Assignments
|
||
Route::post('/assign-welder', [\App\Http\Controllers\Api\PdfmController::class, 'assignWelder']);
|
||
});
|
||
|
||
// Surface Area API Routes
|
||
Route::prefix('api/surface-area')->middleware('auth')->group(function () {
|
||
Route::get('/elements', [\App\Http\Controllers\Api\SurfaceAreaController::class, 'getElements']);
|
||
Route::get('/diameters', [\App\Http\Controllers\Api\SurfaceAreaController::class, 'getDiameters']);
|
||
Route::get('/mto-total', [\App\Http\Controllers\Api\SurfaceAreaController::class, 'getMtoTotal']);
|
||
Route::get('/get-saved-items', [\App\Http\Controllers\Api\SurfaceAreaController::class, 'getSavedItems']);
|
||
Route::post('/save-calculation', [\App\Http\Controllers\Api\SurfaceAreaController::class, 'save']);
|
||
});
|
||
|
||
|
||
|
||
|
||
// Read-Only API Routes for Admin-Ajax logic
|
||
Route::prefix('api/read')->middleware('auth:sanctum,web')->group(function () {
|
||
Route::get('/ndt-request', [\App\Http\Controllers\Api\ApiReadOnlyController::class, 'ndtRequest']);
|
||
Route::get('/ndt-calculation', [\App\Http\Controllers\Api\ApiReadOnlyController::class, 'ndtCalculation']);
|
||
Route::get('/spool-area-release', [\App\Http\Controllers\Api\ApiReadOnlyController::class, 'spoolAreaRelease']);
|
||
Route::get('/spool-release-detail', [\App\Http\Controllers\Api\ApiReadOnlyController::class, 'spoolReleaseDetail']);
|
||
Route::get('/repair-table', [\App\Http\Controllers\Api\ApiReadOnlyController::class, 'repairTable']);
|
||
Route::get('/repair-table/welder-based-repair-ratio-distribution', [\App\Http\Controllers\Api\ApiReadOnlyController::class, 'welderBasedRepairRatioDistribution']);
|
||
Route::get('/repair-table/defect-type-by-welder', [\App\Http\Controllers\Api\ApiReadOnlyController::class, 'defectTypeByWelder']);
|
||
Route::get('/rfi-dashboard', [\App\Http\Controllers\Api\ApiReadOnlyController::class, 'rfiDashboard']);
|
||
Route::get('/welder-qualification-status', [\App\Http\Controllers\Api\ApiReadOnlyController::class, 'welderQualificationStatus']);
|
||
Route::get('/punch-list', [\App\Http\Controllers\Api\ApiReadOnlyController::class, 'punchList']);
|
||
Route::get('/naks-welders', [\App\Http\Controllers\Api\ApiReadOnlyController::class, 'naksWelders']);
|
||
|
||
// Test Packages
|
||
Route::get('/test-package/pivot', [\App\Http\Controllers\Api\ApiReadOnlyController::class, 'testPackagePivot']);
|
||
Route::get('/test-package/status-pivot', [\App\Http\Controllers\Api\ApiReadOnlyController::class, 'testPackageStatusPivot']);
|
||
Route::get('/test-package/summary', [\App\Http\Controllers\Api\ApiReadOnlyController::class, 'testPackageSummary']);
|
||
Route::get('/test-package/summary-2', [\App\Http\Controllers\Api\ApiReadOnlyController::class, 'testPackageSummary2']);
|
||
Route::get('/welder-qualification-table', [\App\Http\Controllers\Api\ApiReadOnlyController::class, 'welderQualificationTable']);
|
||
Route::get('/rfi-tasks', [\App\Http\Controllers\Api\ApiReadOnlyController::class, 'rfiTasks']);
|
||
Route::get('/rfi-status', [\App\Http\Controllers\Api\ApiReadOnlyController::class, 'rfiStatus']);
|
||
Route::get('/ndt-release-list', [\App\Http\Controllers\Api\ApiReadOnlyController::class, 'ndtReleaseList']);
|
||
Route::get('/paint-release-list', [\App\Http\Controllers\Api\ApiReadOnlyController::class, 'paintReleaseList']);
|
||
|
||
// Add more as they are verified
|
||
});
|
||
|
||
// Notification API Routes (Performance optimized with caching)
|
||
Route::prefix('api/notifications')->middleware('auth')->group(function () {
|
||
// Get user's notifications with pagination
|
||
Route::get('/list', [\App\Http\Controllers\NotificationController::class, 'getUserNotifications']);
|
||
|
||
// Get recent notifications for dropdown (cached)
|
||
Route::get('/recent', [\App\Http\Controllers\NotificationController::class, 'getRecentNotifications']);
|
||
|
||
// Get unread count (cached)
|
||
Route::get('/unread-count', [\App\Http\Controllers\NotificationController::class, 'getUnreadCount']);
|
||
|
||
// Get notification types with counts (for inbox sidebar)
|
||
Route::get('/types', [\App\Http\Controllers\NotificationController::class, 'getNotificationTypes']);
|
||
|
||
// Get notifications by type
|
||
Route::get('/by-type', [\App\Http\Controllers\NotificationController::class, 'getNotificationsByType']);
|
||
|
||
// Mark notification as read
|
||
Route::post('/mark-read/{id}', [\App\Http\Controllers\NotificationController::class, 'markAsRead']);
|
||
|
||
// Mark notification as unread
|
||
Route::post('/mark-unread/{id}', [\App\Http\Controllers\NotificationController::class, 'markAsUnread']);
|
||
|
||
// Mark all notifications as read
|
||
Route::post('/mark-all-read', [\App\Http\Controllers\NotificationController::class, 'markAllAsRead']);
|
||
|
||
// Delete notification
|
||
Route::delete('/{id}', [\App\Http\Controllers\NotificationController::class, 'delete']);
|
||
|
||
// Delete all read notifications
|
||
Route::post('/delete-read', [\App\Http\Controllers\NotificationController::class, 'deleteReadNotifications']);
|
||
});
|
||
|
||
// Yorum kaydetme rotası - AdminAjaxController'dan bağımsız
|
||
Route::post('/api/column-comment', [\App\Http\Controllers\ColumnCommentController::class, 'saveComment'])->middleware('auth');
|
||
|
||
// Inspection History Routes
|
||
Route::prefix('ajax/inspection-history')->middleware('auth')->group(function () {
|
||
Route::post('/upload', [\App\Http\Controllers\InspectionHistoryController::class, 'upload']);
|
||
Route::get('/list', [\App\Http\Controllers\InspectionHistoryController::class, 'list']);
|
||
Route::delete('/delete/{id}', [\App\Http\Controllers\InspectionHistoryController::class, 'delete']);
|
||
Route::post('/bulk-delete', [\App\Http\Controllers\InspectionHistoryController::class, 'bulkDelete']);
|
||
});
|
||
|
||
// Register Creator rotası
|
||
Route::post('/admin/register-creator/dispatch-jobs', [\App\Http\Controllers\RegisterCreatorController::class, 'dispatchJobs']);
|
||
Route::post('/admin/tp-creator/dispatch-jobs', [\App\Http\Controllers\TpCreatorController::class, 'dispatchJobs']);
|
||
// Notification filtered list route
|
||
Route::get('/admin/notifications/filtered-list', [\App\Http\Controllers\NotificationController::class, 'showFilteredList'])->middleware('auth')->name('notifications.filtered-list');
|
||
Route::get('/admin/notifications/get-filtered-data', [\App\Http\Controllers\NotificationController::class, 'getFilteredData'])->middleware('auth')->name('notifications.get-filtered-data');
|
||
|
||
$hash="admin";
|
||
|
||
Route::group(['prefix' => $hash, 'middleware' => 'auth'], function () {
|
||
|
||
Route::post('/feedback/save-statuses', function () {
|
||
foreach (request('statuses') as $id => $status) {
|
||
$item = \App\Models\FeedbackReport::find($id);
|
||
if ($item) {
|
||
$item->status = $status;
|
||
$item->save();
|
||
}
|
||
}
|
||
return back()->with('success', 'Statuses updated');
|
||
});
|
||
|
||
Route::get('/module-generator', [\App\Http\Controllers\ModuleGeneratorController::class, 'index']);
|
||
Route::post('/module-generator/generate', [\App\Http\Controllers\ModuleGeneratorController::class, 'generate']);
|
||
|
||
});
|
||
|
||
// Önbelleğe alınmış dashboard sayfası route'u
|
||
Route::get('/'.$hash.'/cached-dashboard', "AdminController@cachedDashboard");
|
||
|
||
Route::match(['get', 'post'],'/'.$hash,"AdminController@default");
|
||
Route::get("/$hash/contents","AdminController@default");
|
||
|
||
Route::match(['get', 'post', 'put', 'delete'],"/$hash/{id}","AdminController@default");
|
||
|
||
|
||
Route::get("/$hash/new/{type}","AdminController@new");
|
||
|
||
Route::get("/$hash/export/{tableName}/{fileName?}","AdminController@exportExcel");
|
||
|
||
Route::post("/$hash/import/{tableName}","AdminController@importExcel");
|
||
Route::get("/$hash/truncate/{tableName}","AdminController@truncateTable");
|
||
Route::get("/$hash/delete/{tableName}/{id}","AdminController@delete");
|
||
Route::post("/$hash/create/{tableName}","AdminController@create");
|
||
Route::get("/$hash/autocomplete/{tableName}/{columnName}","AdminController@autocomplete");
|
||
Route::match(['get', 'post'],"/$hash/autocomplete_type/{type}","AdminController@autocompleteType");
|
||
Route::get("/$hash/fuzzy-autocomplete/{tableName}/{columnName?}","AdminController@fuzzyAutocomplete")->name('fuzzy-autocomplete');
|
||
Route::get("/$hash/detail/{tableName}/{columnName}","AdminController@rowDetail");
|
||
Route::get("/$hash/to-json/{tableName}","AdminController@tableToJson");
|
||
Route::put("/$hash/save-json/{tableName}","AdminController@saveJson");
|
||
Route::post("/$hash/insert/{tableName}","AdminController@insertJson");
|
||
Route::delete("/$hash/remove/{tableName}","AdminController@removeJson");
|
||
Route::get("/$hash/get/{tableName}/{columnName}/{value}","AdminController@getDetail");
|
||
Route::get("/$hash/link-creator/{tableName}/{id}","AdminController@linkCreator");
|
||
Route::post("/$hash/clone-row/{tableName}","AdminController@cloneRow");
|
||
Route::get("/$hash/user-guide/{module?}","AdminController@userGuide");
|
||
Route::get('import-status', "AdminController@importStatus");
|
||
|
||
Route::get('glide/{path}', function($path){
|
||
$server = \League\Glide\ServerFactory::create([
|
||
'source' => app('filesystem')->disk('public')->getDriver(),
|
||
'cache' => storage_path('glide'),
|
||
]);
|
||
return $server->getImageResponse($path, Input::query());
|
||
})->where('path', '.+');
|
||
|
||
|
||
Route::match(['get', 'post'],'/admin/action/{action}/{type}',"AdminController@action2");
|
||
Route::match(['get', 'post'],"/$hash/{type}/{id}","AdminController@default");
|
||
Route::match(['get', 'post'],"/$hash/{type}/{id}/{action}","AdminController@action");
|
||
|
||
|
||
Route::get('/l-{lang?}/',"ContentsController@default_lang");
|
||
Route::get('/l-{lang?}/{slug?}',"ContentsController@default_lang");
|
||
Route::get('/l-{lang?}/',"ContentsController@index");
|
||
|
||
Route::match(['get', 'post'],'/{slug?}',"ContentsController@default");
|
||
|
||
|
||
|
||
|
||
|
||
Auth::routes();
|
||
|
||
Route::get('/home', [\App\Http\Controllers\HomeController::class, 'index'])->name('home');
|
||
|
||
Auth::routes();
|
||
|
||
Route::get('/home', [\App\Http\Controllers\HomeController::class, 'index'])->name('home');
|
||
|