Viewing file: CustomerController.php (2.63 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\Customer; use App\Models\Setting; use GuzzleHttp\Client; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Route;
class CustomerController extends Controller { //Validate Customer Data protected function validateData ($request) { // dd(Route::currentRouteName());
$passwordValidations = []; if(Route::currentRouteName() == 'customer.store') { $passwordValidations = ['password' => ['required','min:6'], 'confirmed' => ['required','same:password'] ]; }
$customerValidations = [ 'firstname' => ['required', 'string', 'max:32'], 'lastname' => ['required', 'string', 'max:32'], 'email' => ['required','email'], 'telephone' => ['required'], 'status' => ['required'], ];
$validationArray = array_merge($passwordValidations,$customerValidations);
$this->validate($request,$validationArray); }
public function store(Request $request){ DB::beginTransaction(); try{ $this->validateData($request); $data = new Customer($request->only('firstname','lastname','email','telephone','status')); $data->password = bcrypt($request->password); $data->save();
DB::commit(); return response()->json(['status'=>'success', 'message'=>'Customer Successfully Created']); }catch(\Exception $ex){ DB::rollBack(); return response()->json(['status'=>'failed', 'message'=> $ex->getMessage()]); } }
public function update(Request $request, $id) { DB::beginTransaction(); try {
$this->validateData($request); $customer_data = Customer::findOrFail($id); $customer_data->fill($request->only('firstname', 'lastname', 'email', 'telephone', 'status'))->save();
DB::commit(); return response()->json(['status' => 'success', 'message' => 'Customer Successfully Updated']);
} catch (\Exception $ex) { DB::rollBack(); return response()->json(['status' => 'failed', 'message' => $ex->getMessage()]); } }
public function delete($id) { if(! $data = Customer::whereId($id)->first()) { return response()->json(['status' => 'failed', 'message' => 'Something went wrong']); } $data->delete(); return response()->json(['status' => 'success', 'message' => 'Customer Successfully Updated']); } }
|