Viewing file: BrandController.php (2.86 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
namespace App\Http\Controllers\Api; use App\Http\Controllers\Controller; use App\Models\Category; use App\Models\CategoryDescription; use App\Models\Customer; use App\Models\Manufacturer; use App\Models\Setting; use App\Traits\CustomFileTrait; use GuzzleHttp\Client; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\File; use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\Route;
class BrandController extends Controller { use CustomFileTrait;
protected $path = '';
public function __construct() { $this->path = public_path(config('constant.file_path.manufacturer')); }
public function store(Request $request){
DB::beginTransaction(); try{
$this->validate($request, [ 'name' => ['required', 'string', 'max:255'], 'sort_order' => ['required'], ]);
$data = new Manufacturer($request->only('name', 'sort_order', 'status')); $data->image = 'default.png'; $data->save();
DB::commit();
cache()->flush(); return response()->json(['status'=>'success', 'message'=>'Brand successfully created']); }catch(\Exception $ex){ DB::rollBack(); return response()->json(['status'=>'success', 'message'=> $ex->getMessage()]); }
}
public function update(Request $request, $id) {
DB::beginTransaction();
try{ $this->validate($request, [ 'name' => ['required'], ]);
//Update Manufacturer $data = Manufacturer::findOrFail($id); if(!$data) { return response()->json(['status' => 'failed', 'message' => 'Invalid Brand']); }
$data->fill($request->only('name', 'sort_order', 'status'))->save();
cache()->flush(); DB::commit(); return response()->json(['status'=>'success', 'message'=>'Brand successfully updated']); }catch (\Exception $ex){ DB::rollBack(); return response()->json(['status'=>'success', 'message'=>'Brand successfully updated']); } }
public function delete($id) { DB::beginTransaction();
try{ $data = Manufacturer::where('id', $id)->first(); if (!$data) { return response()->json(['status' => $data, 'message' => 'Invalid Brand']); }
$this->removeOldImage($data->image,$this->path); $data->delete(); cache()->flush();
DB::commit(); return response()->json(['status'=>'success', 'message'=>'Brand successfully deleted']); }catch(\Exception $ex){ DB::rollBack(); return response()->json(['status'=>'failed', 'message'=>$ex->getMessage()]); } }
}
|