diff --git a/app/Http/Controllers/Api/V1/FileStorageController.php b/app/Http/Controllers/Api/V1/FileStorageController.php index 1e26fac6..95e4e4d0 100644 --- a/app/Http/Controllers/Api/V1/FileStorageController.php +++ b/app/Http/Controllers/Api/V1/FileStorageController.php @@ -12,6 +12,20 @@ class FileStorageController extends Controller { + /** + * Bearer 토큰 없이 X-TENANT-ID 헤더로 컨텍스트 설정 (MNG 프록시 호출용) + */ + private function ensureContext(Request $request): void + { + if (! app()->bound('tenant_id') || ! app('tenant_id')) { + $tenantId = (int) ($request->header('X-TENANT-ID') ?: 287); + app()->instance('tenant_id', $tenantId); + } + if (! app()->bound('api_user') || ! app('api_user')) { + app()->instance('api_user', 1); + } + } + /** * Upload file to temp */ @@ -85,8 +99,10 @@ public function trash() /** * Download file (attachment) */ - public function download(int $id) + public function download(int $id, Request $request) { + $this->ensureContext($request); + $service = new FileStorageService; $file = $service->getFile($id); @@ -96,8 +112,10 @@ public function download(int $id) /** * View file inline (이미지/PDF 브라우저에서 바로 표시) */ - public function view(int $id) + public function view(int $id, Request $request) { + $this->ensureContext($request); + $service = new FileStorageService; $file = $service->getFile($id); diff --git a/app/Http/Controllers/Api/V1/ItemsFileController.php b/app/Http/Controllers/Api/V1/ItemsFileController.php index 7fd8f72e..71b319d0 100644 --- a/app/Http/Controllers/Api/V1/ItemsFileController.php +++ b/app/Http/Controllers/Api/V1/ItemsFileController.php @@ -26,6 +26,20 @@ class ItemsFileController extends Controller */ private const ITEM_GROUP_ID = '1'; + /** + * Bearer 토큰 없이 X-TENANT-ID 헤더로 컨텍스트 설정 (MNG 프록시 호출용) + */ + private function ensureContext(Request $request): void + { + if (! app()->bound('tenant_id') || ! app('tenant_id')) { + $tenantId = (int) ($request->header('X-TENANT-ID') ?: 287); + app()->instance('tenant_id', $tenantId); + } + if (! app()->bound('api_user') || ! app('api_user')) { + app()->instance('api_user', 1); + } + } + /** * 파일 목록 조회 * @@ -33,6 +47,7 @@ class ItemsFileController extends Controller */ public function index(int $id, Request $request) { + $this->ensureContext($request); return ApiResponse::handle(function () use ($id, $request) { $tenantId = app('tenant_id'); $fieldKey = $request->input('field_key'); @@ -69,6 +84,7 @@ public function index(int $id, Request $request) */ public function upload(int $id, ItemFileUploadRequest $request) { + $this->ensureContext($request); return ApiResponse::handle(function () use ($id, $request) { $tenantId = app('tenant_id'); $userId = auth()->id() ?? app('api_user'); @@ -152,6 +168,7 @@ public function upload(int $id, ItemFileUploadRequest $request) */ public function delete(int $id, mixed $fileId, Request $request) { + $this->ensureContext($request); $fileId = (int) $fileId; return ApiResponse::handle(function () use ($id, $fileId) {