<?php

use App\Http\Controllers\PreTbRecordController;
use App\Http\Controllers\Tb03Controller;
use App\Http\Controllers\TbEntryContextController;
use Illuminate\Support\Facades\Route;

Route::middleware(['auth', 'pretb.access'])->prefix('TB')->group(function () {
    Route::post('entry-context', [TbEntryContextController::class, 'update'])->name('tb.entry.context');

    Route::get('preTB_record', [PreTbRecordController::class, 'create'])->name('pretb_record.create');
    Route::post('preTB_record', [PreTbRecordController::class, 'store'])->name('pretb_record.store');
    Route::get('preTB_record/manage', [PreTbRecordController::class, 'manage'])->name('pretb_record.manage');
    Route::get('preTB_record/{preTbRecord}/pdf', [PreTbRecordController::class, 'exportVisitPdf'])->name('pretb_record.export_pdf');
    Route::get('preTB_record/{preTbRecord}/edit', [PreTbRecordController::class, 'edit'])->name('pretb_record.edit');
    Route::put('preTB_record/{preTbRecord}', [PreTbRecordController::class, 'update'])->name('pretb_record.update');
    Route::delete('preTB_record/{preTbRecord}', [PreTbRecordController::class, 'destroy'])->name('pretb_record.destroy');
    Route::get('preTB_record/{preTbRecord}/new-visit', [PreTbRecordController::class, 'newVisit'])->name('pretb_record.new_visit');
    Route::post('preTB_record/export', [PreTbRecordController::class, 'export'])->name('pretb_record.export');
    Route::post('preTB_record/import', [PreTbRecordController::class, 'import'])->name('pretb_record.import');
    Route::post('preTB_record/import-local', [PreTbRecordController::class, 'importLocal'])->name('pretb_record.import_local');
    Route::post('preTB_record/lookup', [PreTbRecordController::class, 'lookup'])->name('pretb_record.lookup');
    Route::get('preTB_record/sync/download', [PreTbRecordController::class, 'downloadSync'])->name('pretb_record.sync.download');
    Route::post('preTB_record/sync/upload', [PreTbRecordController::class, 'uploadSync'])->name('pretb_record.sync.upload');

    Route::get('tb03', [Tb03Controller::class, 'tb03_View'])->name('tb03.create');
    Route::post('tb03', [Tb03Controller::class, 'Tb03'])->name('tb03_data');
    Route::get('tb03/sync/download', [Tb03Controller::class, 'downloadSync'])->name('tb03.sync.download');
    Route::post('tb03/sync/upload', [Tb03Controller::class, 'uploadSync'])->name('tb03.sync.upload');
    Route::get('export/tb03_report_07', [Tb03Controller::class, 'tb03_goback'])->name('tb03_report_view');
    Route::get('export/tb03_report_08', [Tb03Controller::class, 'tb03_goback']);
    Route::get('export/tb03_report_IPT', [Tb03Controller::class, 'tb03_goback']);
});
