MINI Sh3ll
<?php
namespace App\Solar\Repositories\RegisterAPI;
use App\Models\RegisterAPI;
use App\Models\Panel;
class RegisterAPIRepository implements RegisterAPIInterface
{
/**
* @var RegisterAPI
*/
private $registerAPI;
private $panel;
/**
* RegisterAPIRepository constructor.
* @param RegisterAPI $registerAPI
*/
public function __construct(RegisterAPI $registerAPI , Panel $panel) {
$this->registerAPI = $registerAPI;
$this->panel = $panel;
}
public function getRegisteredAPI($searchkey)
{
$api = $this->registerAPI->query();
if(!empty($searchkey)){
$api->where('name','like','%'.$searchkey.'%');
}
$apiData = $api->orderBy('id', 'DESC')->get();
return $apiData;
}
public function store($request)
{
$message = 'Created API';
$registerAPI = $this->registerAPI;
$this->buildObject($registerAPI, $request);
$registerAPI->save();
return array("message"=>$message);
}
public function update($id, $request) {
$plant = $this->registerAPI->findOrFail($id);
$this->buildObject($plant, $request);
$plant->save();
return $plant;
}
/*
* Build request and registerAPI object
*/
public function buildObject($registerAPI, $request) {
$registerAPI->name = ucfirst($request->name);
$registerAPI->qid = $request->qid;
$registerAPI->plot_type = $request->plot_type;
$registerAPI->graph_duration = $request->duration;
$registerAPI->service_id =empty($request->service_id)?'':$request->service_id;
$registerAPI->x_value = empty($request->x_value)?'':$request->x_value;
$registerAPI->min_date = empty($request->min_date)?'':$request->min_date;
$registerAPI->max_date = empty($request->max_date)?'':$request->max_date;
if($request->plot_type=="2"){
$registerAPI->y_value = $request->value_key;
$registerAPI->unit_value = $request->unit_2;
}else{
$registerAPI->y_value = $request->y_value;
$registerAPI->z_value = $request->z_value;
// $registerAPI->unit_value = $request->unit_1;
}
}
public function delete($id) {
$status = false;
$api = $this->registerAPI->findOrFail($id);
$api->delete();
if($api) {
$data = $this->panel::where('api_type',$id)->delete();
}
return $api;
}
public function find($id) {
return $this->registerAPI->newInstance()->findOrFail($id);
}
}
OHA YOOOO