Make presenters work with the api

This commit is contained in:
Joseph Cohen
2015-05-16 13:57:32 -05:00
parent b6aa4b1d8b
commit 33f6bf167c
6 changed files with 209 additions and 11 deletions

View File

@@ -13,11 +13,13 @@
namespace CachetHQ\Cachet\Models;
use CachetHQ\Cachet\Facades\Setting;
use DateInterval;
use DateTime;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\Config;
use Illuminate\Support\Facades\DB;
use Jenssegers\Date\Date;
use McCool\LaravelAutoPresenter\HasPresenter;
use Watson\Validating\ValidatingTrait;
/**
@@ -31,7 +33,7 @@ use Watson\Validating\ValidatingTrait;
* @property \Carbon\Carbon $created_at
* @property \Carbon\Carbon $updated_at
*/
class Metric extends Model
class Metric extends Model implements HasPresenter
{
use ValidatingTrait;
@@ -88,8 +90,8 @@ class Metric extends Model
*/
public function getValues($hour)
{
$dateTime = new DateTime();
$dateTime->sub(new DateInterval('PT'.$hour.'H'));
$dateTimeZone = Setting::get('app_timezone');
$dateTime = (new Date())->setTimezone($dateTimeZone)->sub(new DateInterval('PT'.$hour.'H'));
$hourInterval = $dateTime->sub(new DateInterval('PT'.$hour.'H'))->format('YmdH');
@@ -140,4 +142,14 @@ class Metric extends Model
{
return $this->display_chart === 1;
}
/**
* Get the presenter class.
*
* @return string
*/
public function getPresenterClass()
{
return 'CachetHQ\Cachet\Presenters\MetricPresenter';
}
}

View File

@@ -14,6 +14,7 @@
namespace CachetHQ\Cachet\Models;
use Illuminate\Database\Eloquent\Model;
use McCool\LaravelAutoPresenter\HasPresenter;
use Watson\Validating\ValidatingTrait;
/**
@@ -23,7 +24,7 @@ use Watson\Validating\ValidatingTrait;
* @property \Carbon\Carbon $created_at
* @property \Carbon\Carbon $updated_at
*/
class MetricPoint extends Model
class MetricPoint extends Model implements HasPresenter
{
use ValidatingTrait;
@@ -52,4 +53,14 @@ class MetricPoint extends Model
{
return $this->belongsTo('CachetHQ\Cachet\Models\Metric', 'id', 'metric_id');
}
/**
* Get the presenter class.
*
* @return string
*/
public function getPresenterClass()
{
return 'CachetHQ\Cachet\Presenters\MetricPointPresenter';
}
}