Simplifies the namespace hierarchy by removing the intermediate Mod segment. Updates all 118 files including models, services, controllers, middleware, tests, and composer.json autoload configuration. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
59 lines
1.7 KiB
PHP
59 lines
1.7 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
/**
|
|
* Tenant Module Web Routes
|
|
*
|
|
* Account management and workspace routes.
|
|
*/
|
|
|
|
use Core\Tenant\View\Modal\Web\CancelDeletion;
|
|
use Core\Tenant\View\Modal\Web\ConfirmDeletion;
|
|
use Core\Tenant\View\Modal\Web\WorkspaceHome;
|
|
use Illuminate\Support\Facades\Route;
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Account Deletion Routes (No Auth Required)
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| Token-based account deletion confirmation and cancellation.
|
|
| Users receive these links via email - no login required.
|
|
|
|
|
*/
|
|
|
|
Route::prefix('account')->name('account.')->group(function () {
|
|
Route::get('/delete/{token}', ConfirmDeletion::class)
|
|
->name('delete.confirm');
|
|
|
|
Route::get('/delete/{token}/cancel', CancelDeletion::class)
|
|
->name('delete.cancel');
|
|
});
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Workspace Invitation Routes
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| Token-based workspace invitation acceptance.
|
|
| Users receive these links via email to join a workspace.
|
|
|
|
|
*/
|
|
|
|
Route::get('/workspace/invitation/{token}', \Core\Tenant\Controllers\WorkspaceInvitationController::class)
|
|
->name('workspace.invitation.accept');
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Workspace Public Routes
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| Workspace home page, typically accessed via subdomain.
|
|
| The workspace slug is resolved from subdomain middleware or route param.
|
|
|
|
|
*/
|
|
|
|
Route::get('/workspace/{workspace?}', WorkspaceHome::class)
|
|
->name('workspace.home')
|
|
->where('workspace', '[a-z0-9\-]+');
|