Browse Source

update condition upload

pull/1/head
wahyun 9 months ago
parent
commit
3d7d02e246
  1. 37
      app/Http/Controllers/ImageController.php

37
app/Http/Controllers/ImageController.php

@ -6,11 +6,13 @@ use App\Models\Image;
use App\Models\Company; use App\Models\Company;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use App\Models\ProductTransaction; use App\Models\ProductTransaction;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Log;
class ImageController extends Controller class ImageController extends Controller
{ {
public function uploadImage(Request $request){ public function uploadImage(Request $request){
DB::beginTransaction();
if($request->hasFile('files')){ if($request->hasFile('files')){
$this->validate($request, [ $this->validate($request, [
@ -27,9 +29,13 @@ class ImageController extends Controller
$company = Company::where('company_name', $request->company_name)->first(); $company = Company::where('company_name', $request->company_name)->first();
if($company) { if($company) {
$destinationPath = $this->setCustomeDirectoryUpload($company['company_name']); $destinationPath = $this->setCustomeDirectoryUpload($company['company_name']);
$getLimitStorage = $this->setLimitsStorage($company, $dokumen, $name, $destinationPath['pathImage'], $destinationPath); $getLimitStorage = $this->setLimitsStorage($company, $dokumen, $destinationPath['pathImage'], $destinationPath);
} }
if(isset($getLimitStorage) && $getLimitStorage['resultMove']) { if(isset($getLimitStorage)) {
if($getLimitStorage === false) {
DB::rollBack();
return response()->json(['status' => 'failed', 'message' => 'Limited storage maximum!', 'code' => 500], 500);
}
$data = [ $data = [
'ref_id' => (int)$ref_id, 'ref_id' => (int)$ref_id,
'image' => $name, 'image' => $name,
@ -54,27 +60,30 @@ class ImageController extends Controller
if($company && $category === 'company_logo_header') { if($company && $category === 'company_logo_header') {
$company->update([ $company->update([
'logo_header' => array('content'=>$name) 'logo_header' => array('content' => $name)
]); ]);
} }
if($company && $category === 'company_favicon') { if($company && $category === 'company_favicon') {
$company->update([ $company->update([
'favicon_image' => array('content'=>$name) 'favicon_image' => array('content' => $name)
]); ]);
} }
if($dokumen->move($destinationPath['pathImage'], $name) && $result) {
if($result){ DB::commit();
return response()->json(['status'=>'success', "name_image"=>$name,'message'=>'image upload is successfully!','code'=>200], 200); return response()->json(['status' => 'success', "name_image" => $name,'message' => 'image upload is successfully!','code' => 200], 200);
}else{ } else {
DB::rollBack();
unlink($destinationPath['pathImage'].$name); unlink($destinationPath['pathImage'].$name);
return response()->json(['status'=>'failed','message'=>'image upload is failed!','code'=>400], 400); return response()->json(['status' => 'failed','message' => 'image upload is failed! pertama' ,'code' => 400], 400);
} }
}else{ } else {
return response()->json(['status'=>'failed','message'=>'image upload is failed!','code'=>400], 400); DB::rollBack();
return response()->json(['status'=>'failed','message'=>'image upload is failed! kedua','code'=>400], 400);
} }
}else{ } else {
DB::rollBack();
return response()->json(['status'=>'failed','message'=>'image is required!','code'=>400], 400); return response()->json(['status'=>'failed','message'=>'image is required!','code'=>400], 400);
} }
} }
@ -210,7 +219,7 @@ class ImageController extends Controller
public function deleteByRef($id, $category, $company_id) public function deleteByRef($id, $category, $company_id)
{ {
$data = Image::where("ref_id", intval($id))->where("category", $category)->first(); $data = Image::where("ref_id", (int)$id)->where("category", $category)->first();
$company = Company::find($company_id); $company = Company::find($company_id);
if($data && $company){ if($data && $company){
$destinationPath = $this->setCustomeDirectoryUpload($company['company_name']); $destinationPath = $this->setCustomeDirectoryUpload($company['company_name']);

Loading…
Cancel
Save