<br />
<b>Warning</b>:  Undefined variable $auth in <b>/home/pevo0181/public_html/pia-soft.com/cleania/routes/index.php</b> on line <b>542</b><br />
<br />
<b>Warning</b>:  Trying to access array offset on value of type null in <b>/home/pevo0181/public_html/pia-soft.com/cleania/routes/index.php</b> on line <b>542</b><br />
<?php

use Illuminate\Support\Facades\Route;
use App\Http\Controllers\Auth\AuthController as Auth;
use App\Http\Controllers\BackOffice\DashboardController as Dashboard;
use App\Http\Controllers\BackOffice\PatientController as Patient;
use App\Http\Controllers\BackOffice\CenterController as Center;
use App\Http\Controllers\BackOffice\VaccinationController as Vaccination;
use App\Http\Controllers\BackOffice\VaccineController as Vaccine;
use App\Http\Controllers\BackOffice\BatchController as Batch;
use App\Http\Controllers\BackOffice\DoseController as Dose;
use App\Http\Controllers\BackOffice\AppointmentController as Appointment;
use App\Http\Controllers\BackOffice\UserController as User;
use App\Http\Controllers\BackOffice\DocumentController as Document;

Route::get('/',        [Auth::class, "auth"])->name("web.auth-login.get");
Route::post('/login',  [Auth::class, "login"])->name("web.auth-login.post")->middleware("AuthValidation");
Route::get('/logout',  [Auth::class, "logout"])->name("web.auth-logout.get");

Route::middleware(['AuthUsers'])->group(function(){
    Route::get('/dashboards',  [Dashboard::class, "dashboard"])->name("web.dashboard.get");

    /*
    |--------------------------------------------------------------------------
    | Routes de gestion des centres
    |--------------------------------------------------------------------------
    */
    Route::get('/centers/list',                      [Center::class, "list"])->name("web.center.list.get");
    Route::get('/centers/add',                       [Center::class, "add"])->name("web.center.add.get");
    Route::post('/centers/register',                 [Center::class, "register"])->name("web.center.register.post");
    Route::get('/centers/update/{center}',           [Center::class, "update"])->name("web.center.update.get");
    Route::post('/centers/save/{center}',            [Center::class, "save"])->name("web.center.save.post");
    // Route::post('/centers/delete',                   [Center::class, "delete"])->name("web.center.delete.post");

    /*
    |--------------------------------------------------------------------------
    | Routes de gestion des patents
    |--------------------------------------------------------------------------
    */
    Route::get('/patients/list',                                [Patient::class, "list"])->name("web.patient.list.get");
    Route::get('/patients/add',                                 [Patient::class, "add"])->name("web.patient.add.get");
    Route::post('/patients/register',                           [Patient::class, "register"])->name("web.patient.register.post");
    Route::get('/patients/update/{patient}',                    [Patient::class, "update"])->name("web.patient.update.get");
    Route::post('/patients/save/{patient}',                     [Patient::class, "save"])->name("web.patient.save.post");
    // Route::post('/patients/delete',                   [Patient::class, "delete"])->name("web.patient.delete.post");
    // Route::get('/patients/profile/{patient}',         [Patient::class, "profile"])->name("web.patient.profile.get");

    /*
    |--------------------------------------------------------------------------
    | Routes de gestion des patents
    |--------------------------------------------------------------------------
    */
    // Route::get('/documents/certificate/{patient}',              [Document::class, "print_certificate"])->name("web.document.print-certificate.get");
    Route::get('/documents/qrcode-checker/{type}/{patient}/{vaccine?}', [Document::class, "checker"])
    ->where('type', 'card|certificate')
    ->name("web.document.qrcode-checker.get");

    Route::get('/documents/{type}/{mode}/{patient}', [Document::class, "document_print"])
    ->where('type', 'card|certificate')
    ->where('mode', 'generate|regenerate')
    ->name("web.document.print.get");


    /*
    |--------------------------------------------------------------------------
    | Routes de gestion des vaccins
    |--------------------------------------------------------------------------
    */
    Route::get('/vaccines/list',                [Vaccine::class, "list"])->name("web.vaccine.list.get");
    Route::get('/vaccines/add',                 [Vaccine::class, "add"])->name("web.vaccine.add.get");
    Route::post('/vaccines/register',           [Vaccine::class, "register"])->name("web.vaccine.register.post");
    Route::get('/vaccines/update/{vaccine}',    [Vaccine::class, "update"])->name("web.vaccine.update.get");
    Route::post('/vaccines/save/{vaccine}',     [Vaccine::class, "save"])->name("web.vaccine.save.post");
    // Route::post('/vaccines/delete',             [Vaccine::class, "delete"])->name("web.vaccine.delete.post");
    // Route::get('/vaccines/profile/{vaccine}',   [Vaccine::class, "profile"])->name("web.vaccine.profile.get");

    /*
    |--------------------------------------------------------------------------
    | Routes de gestion des dose de vaccin vaccins
    |--------------------------------------------------------------------------
    */
    Route::get('/vaccine-batchs/list',                  [Batch::class, "list"])->name("web.vaccine-batch.list.get");
    Route::get('/vaccine-batchs/add',                   [Batch::class, "add"])->name("web.vaccine-batch.add.get");
    Route::post('/vaccine-batchs/register',             [Batch::class, "register"])->name("web.vaccine-batch.register.post");
    Route::get('/vaccine-batchs/update/{batch}',        [Batch::class, "update"])->name("web.vaccine-batch.update.get");
    Route::post('/vaccine-batchs/save/{batch}',         [Batch::class, "save"])->name("web.vaccine-batch.save.post");
    Route::post('/vaccine-batchs/delete',               [Batch::class, "delete"])->name("web.vaccine-batch.delete.post");

    /*
    |--------------------------------------------------------------------------
    | Routes de gestion des doses
    |--------------------------------------------------------------------------
    */
    Route::get('/doses/list',               [Dose::class, "list"])->name("web.dose.list.get");
    Route::get('/doses/add',                [Dose::class, "add"])->name("web.dose.add.get");
    Route::post('/doses/register',          [Dose::class, "register"])->name("web.dose.register.post");
    Route::get('/doses/update/{batch}',     [Dose::class, "update"])->name("web.dose.update.get");
    Route::post('/doses/save/{batch}',      [Dose::class, "save"])->name("web.dose.save.post");
    Route::post('/doses/delete',            [Dose::class, "delete"])->name("web.dose.delete.post");

    /*
    |--------------------------------------------------------------------------
    | Routes de gestion des rendez-vous
    |--------------------------------------------------------------------------
    */
    Route::get('/appointments/list',                  [Appointment::class, "list"])->name("web.appointment.list.get");
    // Route::get('/appointments/add',                   [Appointment::class, "add"])->name("web.appointment.add.get");
    // Route::post('/appointments/register',             [Appointment::class, "register"])->name("web.appointment.register.post");
    // Route::get('/appointments/update/{batch}',        [Appointment::class, "update"])->name("web.appointment.update.get");
    // Route::post('/appointments/save/{batch}',         [Appointment::class, "save"])->name("web.appointment.save.post");
    Route::post('/appointments/delete',               [Appointment::class, "delete"])->name("web.appointment.delete.post");

    /*
    |--------------------------------------------------------------------------
    | Routes de gestion des vaccinations
    |--------------------------------------------------------------------------
    */
    Route::get('/vaccinations/list',                    [Vaccination::class, "list"])->name("web.vaccination.list.get");
    Route::get('/vaccinations/add/{patient?}',          [Vaccination::class, "add"])->name("web.vaccination.add.get");
    Route::post('/vaccinations/register',               [Vaccination::class, "register"])->name("web.vaccination.register.post");
    Route::get('/vaccinations/update/{vaccination}',    [Vaccination::class, "update"])->name("web.vaccination.update.get");
    Route::post('/vaccinations/save/{vaccination}',     [Vaccination::class, "save"])->name("web.vaccination.save.post");
    Route::post('/vaccinations/delete',                 [Vaccination::class, "delete"])->name("web.vaccination.delete.post");
    Route::post('/vaccinations/change-status/{status}', [Vaccination::class, "change_status"])->name("web.vaccination.change-status.post");
    // Route::get('/vaccinations/profile/{vaccination}',   [Vaccination::class, "profile"])->name("web.vaccination.profile.get");

    /*
    |--------------------------------------------------------------------------
    | Routes de gestion des users
    |--------------------------------------------------------------------------
    */
    Route::get('/users/list',                       [User::class, "list"])->name("web.user.list.get");
    Route::get('/users/add/{patient?}',             [User::class, "add"])->name("web.user.add.get");
    Route::post('/users/register',                  [User::class, "register"])->name("web.user.register.post");
    Route::get('/users/update/{user}',              [User::class, "update"])->name("web.user.update.get");
    Route::post('/users/save/{user}',               [User::class, "save"])->name("web.user.save.post");
    Route::get('/us