From 5bba7b87f4ea48d007c66c5c989df9f7f8c2f8fb Mon Sep 17 00:00:00 2001 From: Alexis Gousseau Date: Tue, 2 Sep 2025 12:44:53 +0200 Subject: [PATCH] fix: :bug: update document accessibility --- app/Http/Controllers/Bo/DocumentController.php | 5 +++-- app/Models/Formulary.php | 3 ++- routes/web-bo.php | 10 +++++----- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/app/Http/Controllers/Bo/DocumentController.php b/app/Http/Controllers/Bo/DocumentController.php index 8fd2961..2a3a8e3 100644 --- a/app/Http/Controllers/Bo/DocumentController.php +++ b/app/Http/Controllers/Bo/DocumentController.php @@ -209,14 +209,15 @@ class DocumentController extends Controller /** * Download the document * + * @param string $tenant * @param string $uuid * @return \Symfony\Component\HttpFoundation\BinaryFileResponse */ - public function download(string $uuid): \Symfony\Component\HttpFoundation\BinaryFileResponse + public function download(string $tenant, string $uuid): \Symfony\Component\HttpFoundation\BinaryFileResponse { $doc = Document::where('uuid', $uuid)->firstOrFail(); $pathToFile = public_path() . Storage::url( - sprintf('docs/%s/%s.%s', \tenant()->getKey(), $doc->uuid, $doc->type) + sprintf('docs/%s/%s.%s', $tenant, $doc->uuid, $doc->type) ); return response()->download($pathToFile, $doc->path); } diff --git a/app/Models/Formulary.php b/app/Models/Formulary.php index 5800c46..b4256e9 100644 --- a/app/Models/Formulary.php +++ b/app/Models/Formulary.php @@ -8,6 +8,7 @@ use App\Traits\Models\IsRelatedToTenant; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Illuminate\Support\Str; +use Stancl\Tenancy\Contracts\Tenant as BaseTenant; use Stancl\Tenancy\Database\Concerns\BelongsToTenant; use Uwil\LaravelCommon\Helpers\ToolboxHelper; @@ -104,7 +105,7 @@ class Formulary extends Model private static function assertNameIsUnique( string|null $name, ?int $id = null, - \App\Models\Tenant|\Stancl\Tenancy\Contracts\Tenant $tenant = null + Tenant|BaseTenant|null $tenant = null ) { $table = (new self())->getTable(); ToolboxHelper::assertFieldIsUnique($table, 'name', $name, $id, self::whereTenantQuery($tenant)); diff --git a/routes/web-bo.php b/routes/web-bo.php index 917f539..95b09e9 100644 --- a/routes/web-bo.php +++ b/routes/web-bo.php @@ -104,10 +104,10 @@ Route::middleware(['web', 'admin-secure'])->name('bo.')->group(function () { ])->where('direction', 'up|down') ->name('formularies.change-order'); }); - - // * Public files download - Route::get('/docs/{uuid}/download', [DocumentController::class, 'download']) - ->name('docs.download') - ->middleware('signed'); }); }); + +// Public files download. +Route::get('/{tenant}/docs/{uuid}/download', [DocumentController::class, 'download']) + ->name('docs.download') + ->middleware('signed');