lazy loading of batteries service

This commit is contained in:
zebardy 2019-11-23 14:48:53 +00:00
parent b0d602d13c
commit ac210fe092
2 changed files with 25 additions and 10 deletions

View File

@ -9,10 +9,18 @@ class BatteriesApiController extends BaseApiController
public function __construct(\Slim\Container $container)
{
parent::__construct($container);
$this->BatteriesService = new BatteriesService();
}
protected $BatteriesService;
protected $BatteriesService = null;
protected function getBatteriesService()
{
if($this->BatteriesService == null)
{
$this->BatteriesService = new BatteriesService();
}
return $this->BatteriesService;
}
public function TrackChargeCycle(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
{
@ -26,7 +34,7 @@ class BatteriesApiController extends BaseApiController
$trackedTime = $requestBody['tracked_time'];
}
$chargeCycleId = $this->BatteriesService->TrackChargeCycle($args['batteryId'], $trackedTime);
$chargeCycleId = $this->getBatteriesService()->TrackChargeCycle($args['batteryId'], $trackedTime);
return $this->ApiResponse($this->getDatabase()->battery_charge_cycles($chargeCycleId));
}
catch (\Exception $ex)
@ -39,7 +47,7 @@ class BatteriesApiController extends BaseApiController
{
try
{
return $this->ApiResponse($this->BatteriesService->GetBatteryDetails($args['batteryId']));
return $this->ApiResponse($this->getBatteriesService()->GetBatteryDetails($args['batteryId']));
}
catch (\Exception $ex)
{
@ -49,14 +57,14 @@ class BatteriesApiController extends BaseApiController
public function Current(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
{
return $this->ApiResponse($this->BatteriesService->GetCurrent());
return $this->ApiResponse($this->getBatteriesService()->GetCurrent());
}
public function UndoChargeCycle(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
{
try
{
$this->ApiResponse($this->BatteriesService->UndoChargeCycle($args['chargeCycleId']));
$this->ApiResponse($this->getBatteriesService()->UndoChargeCycle($args['chargeCycleId']));
return $this->EmptyApiResponse($response);
}
catch (\Exception $ex)

View File

@ -9,11 +9,18 @@ class BatteriesController extends BaseController
public function __construct(\Slim\Container $container)
{
parent::__construct($container);
$this->BatteriesService = new BatteriesService();
}
protected $BatteriesService;
protected $UserfieldsService;
protected $BatteriesService = null;
protected function getBatteriesService()
{
if($this->BatteriesService == null)
{
$this->BatteriesService = new BatteriesService();
}
return $this->BatteriesService;
}
public function Overview(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
{
@ -22,7 +29,7 @@ class BatteriesController extends BaseController
return $this->renderPage($response, 'batteriesoverview', [
'batteries' => $this->getDatabase()->batteries()->orderBy('name'),
'current' => $this->BatteriesService->GetCurrent(),
'current' => $this->getBatteriesService()->GetCurrent(),
'nextXDays' => $nextXDays,
'userfields' => $this->getUserfieldsService()->GetFields('batteries'),
'userfieldValues' => $this->getUserfieldsService()->GetAllValues('batteries')