|
@@ -10,6 +10,7 @@ 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;
|
|
|
|
+use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\Auth;
|
|
use Illuminate\Support\Facades\Auth;
|
|
use Illuminate\Support\Facades\Storage;
|
|
use Illuminate\Support\Facades\Storage;
|
|
|
|
|
|
@@ -22,11 +23,45 @@ class FileController extends Controller
|
|
|
|
|
|
$fileObjectType = FileObjectType::from($file->object_type);
|
|
$fileObjectType = FileObjectType::from($file->object_type);
|
|
$fileObjectType->modelBuilderAllowed($file->object_id)->findOrFail($file->object_id);
|
|
$fileObjectType->modelBuilderAllowed($file->object_id)->findOrFail($file->object_id);
|
|
|
|
+ if(! $fileObjectType){
|
|
|
|
+ return $this->badRequest(sprintf("File ID: %s, no permission to access", $file->id));
|
|
|
|
+ }
|
|
|
|
+// return Storage::download(
|
|
|
|
+// $file->pathname,
|
|
|
|
+// sprintf("%s.%s", rtrim($file->title, "." . $file->extension), $file->extension)
|
|
|
|
+// );
|
|
|
|
+ return new FileDownloadResource($file);
|
|
|
|
+ }
|
|
|
|
|
|
- return Storage::download(
|
|
|
|
- $file->pathname,
|
|
|
|
- sprintf("%s.%s", rtrim($file->title, "." . $file->extension), $file->extension)
|
|
|
|
|
|
+ public function changeName(Request $request,string $id)
|
|
|
|
+ {
|
|
|
|
+ $file = File::query()->findOrFail($id);
|
|
|
|
+ $fileObjectType = FileObjectType::from($file->object_type);
|
|
|
|
+ $fileObjectType->modelBuilderAllowed($file->object_id)->findOrFail($file->object_id);
|
|
|
|
+ if(! $fileObjectType){
|
|
|
|
+ return $this->badRequest(sprintf("File ID: %s, no permission to access", $file->id));
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ File::query()->where('title',$file->title)->where('object_type',$file->object_type)->update(
|
|
|
|
+ [
|
|
|
|
+ 'title' => $request->get('title'),
|
|
|
|
+ ]
|
|
);
|
|
);
|
|
|
|
+
|
|
|
|
+ return $this->noContent();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public function destroy(string $id){
|
|
|
|
+ $file = File::query()->findOrFail($id);
|
|
|
|
+ $fileObjectType = FileObjectType::from($file->object_type);
|
|
|
|
+ $fileObjectType->modelBuilderAllowed($file->object_id)->findOrFail($file->object_id);
|
|
|
|
+ if(! $fileObjectType){
|
|
|
|
+ return $this->badRequest(sprintf("File ID: %s, no permission to access", $file->id));
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ File::query()->where('title',$file->title)->where('object_type',$file->object_type)->delete();
|
|
|
|
+
|
|
|
|
+ return $this->noContent();
|
|
}
|
|
}
|
|
|
|
|
|
public function downloadZip(DownloadZipRequest $request)
|
|
public function downloadZip(DownloadZipRequest $request)
|