HEX
Server: Apache
System: Linux server2.voipitup.com.au 4.18.0-553.104.1.lve.el8.x86_64 #1 SMP Tue Feb 10 20:07:30 UTC 2026 x86_64
User: posscale (1027)
PHP: 8.2.29
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //home/posscale/public_html/printmanager/routes/tenant.php
<?php

declare(strict_types=1);

use App\Http\Controllers\Auth\AuthenticatedSessionController;
use App\Http\Controllers\Auth\ConfirmablePasswordController;
use App\Http\Controllers\Auth\EmailVerificationNotificationController;
use App\Http\Controllers\Auth\EmailVerificationPromptController;
use App\Http\Controllers\Auth\NewPasswordController;
use App\Http\Controllers\Auth\PasswordController;
use App\Http\Controllers\Auth\PasswordResetLinkController;
use App\Http\Controllers\Auth\RegisteredUserController;
use Illuminate\Support\Facades\Route;
use Stancl\Tenancy\Middleware\InitializeTenancyByDomain;
use Stancl\Tenancy\Middleware\PreventAccessFromCentralDomains;
use App\Http\Controllers\Auth\VerifyEmailController;
use App\Http\Controllers\ProfileController;
use App\Http\Controllers\SourceController;
use App\Http\Controllers\Tenant\Address;
use App\Http\Controllers\Tenant\CustomersController;
use App\Http\Controllers\Tenant\DashboardController;
use App\Http\Controllers\Tenant\EmailSettingsController;
use App\Http\Controllers\Tenant\ManagePrinter;
use App\Http\Controllers\Tenant\ManagePrinterJob;
use App\Http\Controllers\Tenant\PrinterType;
use App\Http\Controllers\Tenant\Vendors;
use App\Http\Requests\PrinterTypeRequest;
use App\Http\Controllers\Tenant\UserController;
use App\Http\Controllers\Tenant\RoleController;
use App\Http\Middleware\EnsureTenantIsValid;
use Illuminate\Foundation\Http\Middleware\HandlePrecognitiveRequests;

/*
|--------------------------------------------------------------------------
| Tenant Routes
|--------------------------------------------------------------------------
|
| Here you can register the tenant routes for your application.
| These routes are loaded by the TenantRouteServiceProvider.
|
| Feel free to customize them however you want. Good luck!
|
*/



Route::middleware([
    'web',
    InitializeTenancyByDomain::class,
    PreventAccessFromCentralDomains::class,
    EnsureTenantIsValid::class,
])->group(function () {
    Route::middleware('verify.main.token')->get('/auth/callback', function () {
        return redirect('/dashboard'); // Redirect after login
    });
    Route::middleware('auth')->group(function () {
        Route::get('/dashboard', [DashboardController::class, 'view'])->name('dashboard');
        Route::post('/dashboard', [DashboardController::class, 'update_printer'])->name('dashboard.assign');
        Route::get('/profile', [ProfileController::class, 'edit'])->name('profile.edit');
        Route::patch('/profile', [ProfileController::class, 'update'])->name('profile.update');
        Route::delete('/profile', [ProfileController::class, 'destroy'])->name('profile.destroy');

        // Tenant user & role management
        Route::resource('users', UserController::class);
        Route::get('roles', [RoleController::class, 'index'])->name('roles.index');
        Route::get('roles/{role}/edit', [RoleController::class, 'edit'])->name('roles.edit');
        Route::put('roles/{role}', [RoleController::class, 'update'])->name('roles.update');
        Route::resource('printers', ManagePrinter::class);
        Route::resource('printer-type', PrinterType::class);
        Route::resource('vendors', Vendors::class);
        Route::get('/printer/{id}/details', [ManagePrinterJob::class, 'index'])->name('job_details');
        Route::get('/sync-data', [ManagePrinterJob::class, 'sync'])->name('sync_job_details');
        Route::post('/pre-printer-type', function (PrinterTypeRequest $request) {})->name('pre-printer-type')->middleware([HandlePrecognitiveRequests::class]);
        Route::get('printers/get-address/{id}', [ManagePrinter::class, 'getAddress']);
        Route::get('printers/get-model/{id}', [ManagePrinter::class, 'getModel']);
        Route::get('printers/get-tonerorink/{id}', [ManagePrinter::class, 'getTonerOrInk']);
        Route::post('dashboard/add_customer_address', [DashboardController::class, 'storeCustomerAndAddress'])->name('dashboard.add_customer_address');
        Route::post('dashboard/add_customer_address_validate', [DashboardController::class, 'storeCustomerAndAddressValidate'])->name('dashboard.add_customer_address.validate');
        Route::post('dashboard/validate_address', [DashboardController::class, 'validateAddress'])->name('dashboard.address.validate');
        Route::post('dashboard/add_customer_new_address', [DashboardController::class, 'storeCustomerNewAddress'])->name('dashboard.add_customer_new_address');
        
        



        Route::resource('settings', SourceController::class);
        Route::resource('email-settings', EmailSettingsController::class);
        Route::resource('customers', CustomersController::class);
        Route::resource('customer/{customer}/address', Address::class);
        Route::post('customer/user_column_choise', [CustomersController::class, 'user_column_choise'])->name('user_column_choise');
        

    });

    Route::middleware('guest')->group(function () {

        Route::get('/', [AuthenticatedSessionController::class, 'create'])
            ->name('login');
        // Route::get('login', [AuthenticatedSessionController::class, 'create'])
        //     ->name('login');

        Route::post('/', [AuthenticatedSessionController::class, 'store']);

        Route::get('forgot-password', [PasswordResetLinkController::class, 'create'])
            ->name('password.request');

        Route::post('forgot-password', [PasswordResetLinkController::class, 'store'])
            ->name('password.email');

        Route::get('reset-password/{token}', [NewPasswordController::class, 'create'])
            ->name('password.reset');

        Route::post('reset-password', [NewPasswordController::class, 'store'])
            ->name('password.store');
    });

    Route::middleware('auth')->group(function () {
        Route::get('verify-email', EmailVerificationPromptController::class)
            ->name('verification.notice');

        Route::get('verify-email/{id}/{hash}', VerifyEmailController::class)
            ->middleware(['signed', 'throttle:6,1'])
            ->name('verification.verify');

        Route::post('email/verification-notification', [EmailVerificationNotificationController::class, 'store'])
            ->middleware('throttle:6,1')
            ->name('verification.send');

        Route::get('confirm-password', [ConfirmablePasswordController::class, 'show'])
            ->name('password.confirm');

        Route::post('confirm-password', [ConfirmablePasswordController::class, 'store']);

        Route::put('password', [PasswordController::class, 'update'])->name('password.update');

        Route::post('logout', [AuthenticatedSessionController::class, 'destroy'])
            ->name('logout');
    });


    
});