farhantock
9 months ago
8 changed files with 429 additions and 109 deletions
@ -0,0 +1,116 @@
|
||||
<?php |
||||
|
||||
namespace App\Http\Controllers; |
||||
|
||||
use App\Models\Demo; |
||||
use Illuminate\Http\Request; |
||||
|
||||
class DemoController extends Controller |
||||
{ |
||||
public function add(Request $request) |
||||
{ |
||||
$this->validate($request, [ |
||||
'name' => 'required', |
||||
'role' => 'required', |
||||
'email' => 'required', |
||||
'number_phone' => 'required', |
||||
'status' => 'required', |
||||
'message' => 'required' |
||||
]); |
||||
|
||||
$data = $request->all(); |
||||
|
||||
$data['created_by'] = '@System'; |
||||
$data['status'] = 'New Request'; |
||||
|
||||
$result = Demo::create($data); |
||||
|
||||
if ($result) { |
||||
return response()->json(['status' => 'success', 'data' => $result, 'message' => 'Request Demo successfully!', 'code' => 200], 200); |
||||
} else { |
||||
return response()->json(['status' => 'failed', 'message' => 'Request Demo failed!', 'code' => 400], 400); |
||||
} |
||||
} |
||||
|
||||
public function edit($id) |
||||
{ |
||||
if (!$id || (int) $id < 0 || $id == "") { |
||||
return response()->json(['status' => 'failed', 'message' => 'id is required!', 'code' => 400], 400); |
||||
die(); |
||||
} |
||||
|
||||
$result = Demo::find($id); |
||||
|
||||
if ($result) { |
||||
return response()->json(['status' => 'success', 'code' => 200, 'data' => $result], 200); |
||||
} else { |
||||
return response()->json(['status' => 'failed', 'message' => 'failed get data Demo, please try again later!', 'code' => 400], 400); |
||||
} |
||||
} |
||||
|
||||
public function update(Request $request, $id) |
||||
{ |
||||
if (!$id || (int) $id < 0 || $id == "") { |
||||
return response()->json(['status' => 'failed', 'message' => 'id is required!', 'code' => 400], 400); |
||||
} |
||||
|
||||
$data = Demo::find($id); |
||||
|
||||
|
||||
if ($data) { |
||||
$result = $data->update($request->all()); |
||||
} else { |
||||
return response()->json(['status' => 'failed', 'message' => 'data Demo not found!', 'code' => 400], 400); |
||||
die(); |
||||
} |
||||
|
||||
|
||||
if ($result) { |
||||
return response()->json(['status' => 'success', 'message' => 'data Demo successfully updated!', 'code' => 200], 200); |
||||
} else { |
||||
return response()->json(['status' => 'failed', 'message' => 'data Demo failed updated!', 'code' => 400], 400); |
||||
} |
||||
} |
||||
|
||||
public function delete($id) |
||||
{ |
||||
$data = Demo::find($id); |
||||
|
||||
if ($data) { |
||||
$delete = $data->delete(); |
||||
} else { |
||||
return response()->json(['status' => 'failed', 'message' => 'data Demo not found!', 'code' => 400], 400); |
||||
die(); |
||||
} |
||||
|
||||
|
||||
if ($delete) { |
||||
return response()->json(['status' => 'success', 'message' => 'data Demo successfully deleted!', 'code' => 200], 200); |
||||
} else { |
||||
return response()->json(['status' => 'failed', 'message' => 'data Demo failed deleted!', 'code' => 400], 400); |
||||
} |
||||
} |
||||
|
||||
public function search(Request $request) |
||||
{ |
||||
$payload = $request->all(); |
||||
$dataBuilder = $this->setUpPayload($payload, 'm_demo'); |
||||
$builder = $dataBuilder['builder']; |
||||
$countBuilder = $dataBuilder['count']; |
||||
$dataGet = $builder->get(); |
||||
$totalRecord = $countBuilder->count(); |
||||
return response()->json(['status' => 'success', 'code' => 200, 'data' => $dataGet, 'totalRecord' => $totalRecord], 200); |
||||
} |
||||
|
||||
public function list() |
||||
{ |
||||
$data = Demo::all(); |
||||
$countData = $data->count(); |
||||
|
||||
if ($data) { |
||||
return response()->json(['status' => 'success', 'code' => 200, 'data' => $data, 'totalRecord' => $countData], 200); |
||||
} else { |
||||
return response()->json(['status' => 'failed', 'message' => 'failed get list Demo, please try again later!', 'code' => 400], 400); |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,27 @@
|
||||
<?php |
||||
|
||||
namespace App\Models; |
||||
|
||||
use Illuminate\Database\Eloquent\Model; |
||||
|
||||
class Demo extends Model |
||||
{ |
||||
protected $table = 'm_demo'; |
||||
|
||||
const CREATED_AT = 'created_at'; |
||||
const UPDATED_AT = 'updated_at'; |
||||
|
||||
protected $fillable = [ |
||||
'name', |
||||
'email', |
||||
'role', |
||||
'number_phone', |
||||
'status', |
||||
'message', |
||||
'created_at', |
||||
'created_by', |
||||
'updated_at', |
||||
'updated_by', |
||||
'company_id' |
||||
]; |
||||
} |
Loading…
Reference in new issue