Files
elcaribe/desarrollo2/app/Http/Controllers/Api/V2/DigitalProductController.php
2023-08-23 17:33:44 -04:00

36 lines
1.3 KiB
PHP

<?php
namespace App\Http\Controllers\Api\V2;
use App\Http\Controllers\Controller;
use App\Models\Product;
use App\Models\Upload;
use Illuminate\Http\Request;
use App\Models\Order;
use App\Models\OrderDetail;
use File;
class DigitalProductController extends Controller
{
public function download(Request $request)
{
$product = Product::findOrFail($request->id);
$orders = Order::select("id")->where('user_id', auth()->user()->id)->pluck('id');
$orderDetails = OrderDetail::where("product_id",$request->id)->whereIn("order_id",$orders)->get();
if (auth()->user()->user_type == 'admin' || auth()->user()->id == $product->user_id || $orderDetails) {
$upload = Upload::findOrFail($product->file_name);
if (env('FILESYSTEM_DRIVER') == "s3") {
return \Storage::disk('s3')->download($upload->file_name, $upload->file_original_name . "." . $upload->extension);
} else {
if (file_exists(base_path('public/' . $upload->file_name))) {
$file = public_path()."/$upload->file_name";
return response()->download($file,config('app.name')."_".$upload->file_original_name);
}
}
} else {
return response()->download(File("dd.pdf"),"failed.jpg");
}
}
}