|
@@ -3,9 +3,10 @@
|
|
namespace App\Http\Controllers\API;
|
|
namespace App\Http\Controllers\API;
|
|
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use App\Http\Controllers\Controller;
|
|
-use App\Http\Requests\API\File\DownloadRequest;
|
|
|
|
|
|
+use App\Http\Requests\API\File\DownloadZipRequest;
|
|
use App\Http\Requests\API\File\FileUploadRequest;
|
|
use App\Http\Requests\API\File\FileUploadRequest;
|
|
use App\Http\Resources\API\FileByObjectResource;
|
|
use App\Http\Resources\API\FileByObjectResource;
|
|
|
|
+use App\Http\Resources\API\FileDownloadResource;
|
|
use App\Http\Resources\API\FileUploadSuccessResource;
|
|
use App\Http\Resources\API\FileUploadSuccessResource;
|
|
use App\Models\Enums\FileObjectType;
|
|
use App\Models\Enums\FileObjectType;
|
|
use App\Models\File;
|
|
use App\Models\File;
|
|
@@ -28,6 +29,23 @@ class FileController extends Controller
|
|
);
|
|
);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ public function downloadZip(DownloadZipRequest $request)
|
|
|
|
+ {
|
|
|
|
+ $files = File::query()->whereIn("id", $request->get("ids"))->get();
|
|
|
|
+
|
|
|
|
+ foreach ($files as $file) {
|
|
|
|
+ $object = FileObjectType::from($file->object_type)
|
|
|
|
+ ->modelBuilderAllowed($file->object_id)
|
|
|
|
+ ->find($file->object_id);
|
|
|
|
+
|
|
|
|
+ if (! $object) {
|
|
|
|
+ return $this->badRequest(sprintf("File ID: %s, no permission to access", $file->id));
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return FileDownloadResource::collection($files);
|
|
|
|
+ }
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* 文件上传
|
|
* 文件上传
|
|
*
|
|
*
|