<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\BackOffice\AuthController as Auth;
use App\Http\Controllers\BackOffice\DashboardController as Dashboard;
use App\Http\Controllers\BackOffice\VaccineController as Vaccine;
use App\Http\Controllers\BackOffice\AgenceController as Agence;
use App\Http\Controllers\BackOffice\AlertController as Alert;
use App\Http\Controllers\BackOffice\EquipmentController as Equipment;
use App\Http\Controllers\BackOffice\EquipmentVaccineController as EquipmentVaccine;
use App\Http\Controllers\BackOffice\UserController as User;
use App\Http\Controllers\FrontOffice\UserController as Enroll;
use App\Http\Controllers\BackOffice\ReportController   as Report;
use App\Http\Controllers\BackOffice\InvestorController as Investor;
use App\Http\Controllers\BackOffice\PartnerController as Partner;
use App\Http\Controllers\BackOffice\OutageController as Outage;
use App\Http\Controllers\BackOffice\ManufacturerController as Manufacturer;
use App\Http\Controllers\BackOffice\ManufacturerModelController as ManufacturerModel;

/*
|--------------------------------------------------------------------------
| 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!
|
*/

Route::get('/',                         [Auth::class, "auth"])->name("web.auth-login.get");
Route::get('/logout',                   [Auth::class, "logout"])->name("web.auth-logout.get");
Route::get('/forgot-password',          [Auth::class, "forgot_password"])->name("web.forgot-password.get");
Route::get('/reset-password/{phone}',   [Auth::class, "reset_password"])->name("web.reset-password.get");
Route::post('/login',                   [Auth::class, "login"])->name("web.auth-login.post");
Route::post('/forgot-password',         [Auth::class, "sendcode"])->name("web.forgot-password.post");
Route::post('/reset-password/{phone}',  [Auth::class, "reset_passord"])->name("web.reset-password.post");

/*
|--------------------------------------------------------------------------
| Routes de gestion des enrollement des chef du ditrict
|--------------------------------------------------------------------------
*/
Route::get('/users/enroll',             [Enroll::class, "add"])->name("web.user-enroll.get");
Route::post('/users/enroll',            [Enroll::class, "register"])->name("web.user-enroll.post");

Route::middleware(['AuthUsers'])->group(function(){
    Route::get('/dashboard/global',                                 [Dashboard::class, "dashboard_global"])->name("web.dashboard-global.get");
    Route::get('/dashboard/map',                                    [Dashboard::class, "dashboard_map"])->name("web.dashboard-map.get");
    Route::get('/dashboard/technicians',                            [Dashboard::class, "technicians_list"])->name("web.dashboard.technicians_list.get");
    Route::get('/dashboard/get-number-by-type/{status}/{type}',     [Dashboard::class, "get_type_equipment_list"])->name("web.equipment.get-type-equipment-list.get");
    /*
    |--------------------------------------------------------------------------
    | Routes de gestion des vaccins
    |--------------------------------------------------------------------------
    */
    Route::get('/agences/add-custom',               [Agence::class, "add"])->name("web.agence.add-custom.get");
    Route::get('/agences/add',                      [Agence::class, "add"])->name("web.agence.add.get");
    Route::get('/agences/update/{agence}',          [Agence::class, "update"])->name("web.agence.update.get");
    Route::get('/agences/list',                     [Agence::class, "list"])->name("web.agence.list.get");
    Route::post('/agences/register',                [Agence::class, "register"])->name("web.agence.register.post");
    Route::post('/agences/register-custom',         [Agence::class, "register_custom"])->name("web.agence.register-custom.post");
    Route::post('/agences/save/{agence}',           [Agence::class, "save"])->name("web.agence.save.post");
    Route::post('/agences/delete',                  [Agence::class, "delete"])->name("web.agence.delete.post");
    Route::post('/agences/change-status/{status}',  [Agence::class, "change_status"])->name("web.agence.change-status.post");

    /*
    |--------------------------------------------------------------------------
    | Routes de gestion des equipements
    |--------------------------------------------------------------------------
    */
    Route::get('/equipments/add/{agence?}',                         [Equipment::class, "add"])->name("web.equipment.add.get");
    Route::get('/equipments/update/{equipment}',                    [Equipment::class, "update"])->name("web.equipment.update.get");
    Route::get('/equipments/list',                                  [Equipment::class, "list"])->name("web.equipment.list.get");
    Route::get('/equipments/model/{updateID?}',                     [Equipment::class, "model"])->name("web.equipment.model.get");
    Route::get('/equipments/get/{type}/{id?}',                      [Equipment::class, "get_list"])->name("web.equipment.get_list.get");
    Route::get('/equipments/qrcode/{equipment}',                    [Equipment::class, "generate_qr_code"])->name("web.equipment.qrcode.get");
    Route::post('/equipments/register/{fosa?}',                     [Equipment::class, "register"])->name("web.equipment.register.post");
    Route::post('/equipments/save/{equipment}',                     [Equipment::class, "save"])->name("web.equipment.save.post");
    Route::post('/equipments/delete',                               [Equipment::class, "delete"])->name("web.equipment.delete.post");
    Route::post('/equipments/change-status/{status}',               [Equipment::class, "change_status"])->name("web.equipment.change-status.post");
    Route::get('/equipments/export',                                [Equipment::class, "export"])->name("web.equipment.export.get");


    /*
    |--------------------------------------------------------------------------
    | Routes de gestion des fabriquent d'équipements
    |--------------------------------------------------------------------------
    */
    Route::get('/manufacturers/{updateID?}',         [Manufacturer::class, "list"])->name("web.manufacturer.list.get");
    Route::post('manufacturers/register',            [Manufacturer::class, "register"])->name("web.manufacturer.register.post");
    Route::post('manufacturers/save/{updateID}',     [Manufacturer::class, "save"])->name("web.manufacturer.save.post");
    Route::post('manufacturers/delete',              [Manufacturer::class, "delete"])->name("web.manufacturer.delete.post");


     /*
    |--------------------------------------------------------------------------
    | Routes de gestion des modèles d'équipements
    |--------------------------------------------------------------------------
    */
    Route::get('/models/{updateID?}',                       [ManufacturerModel::class, "list"])->name("web.model.list.get");
    Route::post('models/register',                          [ManufacturerModel::class, "register"])->name("web.model.register.post");
    Route::post('models/save/{modelID}/{manufacturerID}',   [ManufacturerModel::class, "save"])->name("web.model.save.post");
    Route::post('models/delete',                            [ManufacturerModel::class, "delete"])->name("web.model.delete.post");

    /*
    |--------------------------------------------------------------------------
    | Routes de gestion des equipements
    |--------------------------------------------------------------------------
    */
    Route::get('/outages/report/{equipment}',       [Outage::class, "add"])->name("web.outage.report.get");
    Route::get('/outages/list',                     [Outage::class, "list"])->name("web.outage.list.get");
    Route::post('/outages/register/{equipment}',    [Outage::class, "register"])->name("web.outage.register.post");
    Route::post('/outages/save/{outage}',           [Outage::class, "save"])->name("web.outage.save.post");
    Route::post('/outages/delete',                  [Outage::class, "delete"])->name("web.outage.delete.post");

    /*
    |--------------------------------------------------------------------------
    | Routes de gestion des stocks de vaccins dans un équipement
    |--------------------------------------------------------------------------
    */
    Route::get('/vaccine-stocks/add/{equipment}',           [EquipmentVaccine::class, "add"])->name("web.vaccine-stock.add.get");
    Route::get('/vaccine-stocks/update/{stock}',            [EquipmentVaccine::class, "update"])->name("web.vaccine-stock.update.get");
    Route::get('/vaccine-stocks/movement/{stock}',          [EquipmentVaccine::class, "out"])->name("web.vaccine-stock.movement.get");
    Route::get('/vaccine-stocks/list',                      [EquipmentVaccine::class, "list"])->name("web.vaccine-stock.list.get");
    Route::post('/vaccine-stocks/register/{equipment}',     [EquipmentVaccine::class, "register"])->name("web.vaccine-stock.register.post");
    Route::post('/vaccine-stocks/save/{vaccine}',           [EquipmentVaccine::class, "save"])->name("web.vaccine-stock.save.post");
    Route::post('/vaccine-stocks/movement/{stock}',         [EquipmentVaccine::class, "remove"])->name("web.vaccine-stock.movement.post");
    Route::post('/vaccine-stocks/delete',                   [EquipmentVaccine::class, "delete"])->name("web.vaccine-stock.delete.post");

    /*
    |--------------------------------------------------------------------------
    | Routes de gestion des rapports d'intervention
    |--------------------------------------------------------------------------
    */
    Route::get('/r/{equipment}',                        [Report::class, "add"])->name("web.report.add.mobile.get");
    Route::get('/reports/add/{type}',                   [Report::class, "add"])->name("web.report.add.get");
    Route::get('/reports/update/{type}/{report}',       [Report::class, "update"])->name("web.report.update.get");
    Route::get('/reports/generate/{stock}',             [Report::class, "generate"])->name("web.report.generate.get");
    Route::get('/reports/list/{type}',                  [Report::class, "list"])->name("web.report.list.get");
    Route::post('/reports/register/curative',           [Report::class, "register_curative"])->name("web.report.register-curative.post");
    Route::post('/reports/register/preventive',         [Report::class, "register_preventive"])->name("web.report.register-preventive.post");
    Route::post('/reports/save/curative/{report}',      [Report::class, "save_curative"])->name("web.report.save-curative.post");
    Route::post('/reports/save/preventive/{report}',    [Report::class, "save_preventive"])->name("web.report.save-preventive.post");
    Route::post('/reports/delete/{type}',               [Report::class, "delete"])->name("web.report.delete.post");

    // Route::get('/reports/alert/list',                   [Report::class, "alert_list"])->name("web.report.alert-list.get");
    Route::get('/alerts/add',                           [Alert::class, "add"])->name("web.alert.add.get");
    Route::post('/alerts/register',                     [Alert::class, "register"])->name("web.alert.register.post");

    /*
    |--------------------------------------------------------------------------
    | Routes de gestion des vaccins
    |--------------------------------------------------------------------------
    */
    Route::get('/vaccines/add',                     [Vaccine::class, "add"])->name("web.vaccine.add.get");
    Route::get('/vaccines/update/{vaccine}',        [Vaccine::class, "update"])->name("web.vaccine.update.get");
    Route::get('/vaccines/list',                    [Vaccine::class, "list"])->name("web.vaccine.list.get");
    Route::post('/vaccines/register',               [Vaccine::class, "register"])->name("web.vaccine.register.post");
    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::post('/vaccines/change-status/{status}', [Vaccine::class, "change_status"])->name("web.vaccine.change-status.post");

    /*
    |--------------------------------------------------------------------------
    | Routes de gestion des vaccins
    |--------------------------------------------------------------------------
    */
    Route::get('/investors/add',                     [Investor::class, "add"])->name("web.investor.add.get");
    Route::get('/investors/update/{investor}',       [Investor::class, "update"])->name("web.investor.update.get");
    Route::get('/investors/list',                    [Investor::class, "list"])->name("web.investor.list.get");
    Route::post('/investors/register',               [Investor::class, "register"])->name("web.investor.register.post");
    Route::post('/investors/save/{investor}',        [Investor::class, "save"])->name("web.investor.save.post");
    Route::post('/investors/delete',                 [Investor::class, "delete"])->name("web.investor.delete.post");
    Route::post('/investors/change-status/{status}', [Investor::class, "change_status"])->name("web.investor.change-status.post");

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

    /*
    |--------------------------------------------------------------------------
    | Routes de gestion des comptes
    |--------------------------------------------------------------------------
    */
    Route::get('/users/add',                        [User::class, "add"])->name("web.user.add.get");
    Route::get('/users/update/{user}',              [User::class, "update"])->name("web.user.update.get");
    Route::get('/users/list',                       [User::class, "list"])->name("web.user.list.get");
    Route::get('/users/get/{type}/{ident}',         [User::class, "get_list"])->name("web.user.get_list.get");
    Route::post('/users/register',                  [User::class, "register"])->name("web.user.register.post");
    Route::pos