- 모델 6개: Equipment, EquipmentInspection, EquipmentInspectionDetail, EquipmentInspectionTemplate, EquipmentRepair, EquipmentProcess - InspectionCycle Enum: 6주기(일/주/월/격월/분기/반기) 날짜 해석 - 서비스 4개: EquipmentService, EquipmentInspectionService, EquipmentRepairService, EquipmentPhotoService - 컨트롤러 4개: CRUD + 점검 토글/결과 설정/메모/초기화 + 템플릿 관리 + 수리이력 + 사진 - FormRequest 6개: 설비등록/수정, 수리이력, 점검템플릿, 토글, 메모 - 라우트 26개: equipment prefix 하위 RESTful 엔드포인트 - i18n 메시지: message.equipment.*, error.equipment.* - 마이그레이션: equipments/equipment_repairs options JSON 컬럼 추가
46 lines
3.7 KiB
PHP
46 lines
3.7 KiB
PHP
<?php
|
|
|
|
use App\Http\Controllers\V1\Equipment\EquipmentController;
|
|
use App\Http\Controllers\V1\Equipment\EquipmentInspectionController;
|
|
use App\Http\Controllers\V1\Equipment\EquipmentPhotoController;
|
|
use App\Http\Controllers\V1\Equipment\EquipmentRepairController;
|
|
use Illuminate\Support\Facades\Route;
|
|
|
|
Route::prefix('equipment')->group(function () {
|
|
// 설비 CRUD
|
|
Route::get('', [EquipmentController::class, 'index'])->name('v1.equipment.index');
|
|
Route::get('/options', [EquipmentController::class, 'options'])->name('v1.equipment.options');
|
|
Route::get('/stats', [EquipmentController::class, 'stats'])->name('v1.equipment.stats');
|
|
Route::post('', [EquipmentController::class, 'store'])->name('v1.equipment.store');
|
|
Route::get('/{id}', [EquipmentController::class, 'show'])->whereNumber('id')->name('v1.equipment.show');
|
|
Route::put('/{id}', [EquipmentController::class, 'update'])->whereNumber('id')->name('v1.equipment.update');
|
|
Route::delete('/{id}', [EquipmentController::class, 'destroy'])->whereNumber('id')->name('v1.equipment.destroy');
|
|
Route::post('/{id}/restore', [EquipmentController::class, 'restore'])->whereNumber('id')->name('v1.equipment.restore');
|
|
Route::patch('/{id}/toggle', [EquipmentController::class, 'toggleActive'])->whereNumber('id')->name('v1.equipment.toggle');
|
|
|
|
// 점검 템플릿
|
|
Route::get('/{id}/templates', [EquipmentInspectionController::class, 'templates'])->whereNumber('id')->name('v1.equipment.templates');
|
|
Route::post('/{id}/templates', [EquipmentInspectionController::class, 'storeTemplate'])->whereNumber('id')->name('v1.equipment.templates.store');
|
|
Route::put('/templates/{templateId}', [EquipmentInspectionController::class, 'updateTemplate'])->whereNumber('templateId')->name('v1.equipment.templates.update');
|
|
Route::delete('/templates/{templateId}', [EquipmentInspectionController::class, 'deleteTemplate'])->whereNumber('templateId')->name('v1.equipment.templates.destroy');
|
|
Route::post('/{id}/templates/copy', [EquipmentInspectionController::class, 'copyTemplates'])->whereNumber('id')->name('v1.equipment.templates.copy');
|
|
|
|
// 점검
|
|
Route::get('/inspections', [EquipmentInspectionController::class, 'index'])->name('v1.equipment.inspections.index');
|
|
Route::patch('/inspections/toggle', [EquipmentInspectionController::class, 'toggleDetail'])->name('v1.equipment.inspections.toggle');
|
|
Route::patch('/inspections/set-result', [EquipmentInspectionController::class, 'setResult'])->name('v1.equipment.inspections.set-result');
|
|
Route::patch('/inspections/notes', [EquipmentInspectionController::class, 'updateNotes'])->name('v1.equipment.inspections.notes');
|
|
Route::delete('/inspections/reset', [EquipmentInspectionController::class, 'resetInspection'])->name('v1.equipment.inspections.reset');
|
|
|
|
// 수리이력
|
|
Route::get('/repairs', [EquipmentRepairController::class, 'index'])->name('v1.equipment.repairs.index');
|
|
Route::post('/repairs', [EquipmentRepairController::class, 'store'])->name('v1.equipment.repairs.store');
|
|
Route::put('/repairs/{id}', [EquipmentRepairController::class, 'update'])->whereNumber('id')->name('v1.equipment.repairs.update');
|
|
Route::delete('/repairs/{id}', [EquipmentRepairController::class, 'destroy'])->whereNumber('id')->name('v1.equipment.repairs.destroy');
|
|
|
|
// 사진
|
|
Route::get('/{id}/photos', [EquipmentPhotoController::class, 'index'])->whereNumber('id')->name('v1.equipment.photos.index');
|
|
Route::post('/{id}/photos', [EquipmentPhotoController::class, 'store'])->whereNumber('id')->name('v1.equipment.photos.store');
|
|
Route::delete('/{id}/photos/{fileId}', [EquipmentPhotoController::class, 'destroy'])->whereNumber('id')->name('v1.equipment.photos.destroy');
|
|
});
|