Fix lack of Command Validating middleware

This commit is contained in:
James Brooks
2017-07-17 21:21:06 +01:00
parent 3ad23828ba
commit 39718c7936
8 changed files with 20 additions and 17 deletions

View File

@@ -70,7 +70,7 @@ final class CreateComponentCommand
/** /**
* JSON meta data for the component. * JSON meta data for the component.
* *
* @var string|null * @var array|null
*/ */
public $meta; public $meta;
@@ -87,7 +87,7 @@ final class CreateComponentCommand
'order' => 'nullable|int', 'order' => 'nullable|int',
'group_id' => 'nullable|int', 'group_id' => 'nullable|int',
'enabled' => 'nullable|bool', 'enabled' => 'nullable|bool',
'meta' => 'nullable|string', 'meta' => 'nullable|array',
]; ];
/** /**
@@ -100,7 +100,7 @@ final class CreateComponentCommand
* @param int $order * @param int $order
* @param int $group_id * @param int $group_id
* @param bool $enabled * @param bool $enabled
* @param string|null $meta * @param array|null $meta
* *
* @return void * @return void
*/ */

View File

@@ -74,7 +74,7 @@ final class UpdateComponentCommand
/** /**
* JSON meta data for the component. * JSON meta data for the component.
* *
* @var string|null * @var array|null
*/ */
public $meta; public $meta;
@@ -98,7 +98,7 @@ final class UpdateComponentCommand
'order' => 'nullable|int', 'order' => 'nullable|int',
'group_id' => 'nullable|int', 'group_id' => 'nullable|int',
'enabled' => 'nullable|bool', 'enabled' => 'nullable|bool',
'meta' => 'nullable|string', 'meta' => 'nullable|array',
'silent' => 'nullable|bool', 'silent' => 'nullable|bool',
]; ];
@@ -113,7 +113,7 @@ final class UpdateComponentCommand
* @param int $order * @param int $order
* @param int $group_id * @param int $group_id
* @param bool $enabled * @param bool $enabled
* @param string|null $meta * @param array|null $meta
* @param bool $silent * @param bool $silent
* *
* @return void * @return void

View File

@@ -111,7 +111,7 @@ final class CreateIncidentCommand
public $rules = [ public $rules = [
'name' => 'required|string', 'name' => 'required|string',
'status' => 'required|int|min:0|max:4', 'status' => 'required|int|min:0|max:4',
'message' => 'required|string', 'message' => 'nullable|string',
'visible' => 'nullable|bool', 'visible' => 'nullable|bool',
'component_id' => 'nullable|required_with:component_status|int', 'component_id' => 'nullable|required_with:component_status|int',
'component_status' => 'nullable|required_with:component_id|int|min:0|max:4', 'component_status' => 'nullable|required_with:component_id|int|min:0|max:4',
@@ -119,7 +119,7 @@ final class CreateIncidentCommand
'stickied' => 'required|bool', 'stickied' => 'required|bool',
'occurred_at' => 'nullable|string', 'occurred_at' => 'nullable|string',
'template' => 'nullable|string', 'template' => 'nullable|string',
'meta' => 'required|array', 'meta' => 'nullable|array',
]; ];
/** /**

View File

@@ -38,7 +38,7 @@ final class CreateMetricPointCommand
/** /**
* The metric point created at. * The metric point created at.
* *
* @var string * @var int
*/ */
public $created_at; public $created_at;
@@ -49,7 +49,7 @@ final class CreateMetricPointCommand
*/ */
public $rules = [ public $rules = [
'value' => 'required|numeric', 'value' => 'required|numeric',
'created_at' => 'required|string', 'created_at' => 'nullable|int',
]; ];
/** /**
@@ -57,7 +57,7 @@ final class CreateMetricPointCommand
* *
* @param \CachetHQ\Cachet\Models\Metric $metric * @param \CachetHQ\Cachet\Models\Metric $metric
* @param int $value * @param int $value
* @param string $created_at * @param int $created_at
* *
* @return void * @return void
*/ */

View File

@@ -116,7 +116,7 @@ final class UpdateMetricCommand
'default_view' => 'nullable|numeric|between:0,4', 'default_view' => 'nullable|numeric|between:0,4',
'threshold' => 'nullable|int', 'threshold' => 'nullable|int',
'order' => 'nullable|int', 'order' => 'nullable|int',
'visible' => 'required|int|between:0,2', 'visible' => 'nullable|int|between:0,2',
]; ];
/** /**

View File

@@ -71,7 +71,7 @@ final class CreateScheduleCommand
'status' => 'required|int|min:0|max:2', 'status' => 'required|int|min:0|max:2',
'scheduled_at' => 'required|string', 'scheduled_at' => 'required|string',
'completed_at' => 'nullable|string', 'completed_at' => 'nullable|string',
'components' => 'required|array', 'components' => 'nullable|array',
]; ];
/** /**
@@ -86,7 +86,7 @@ final class CreateScheduleCommand
* *
* @return void * @return void
*/ */
public function __construct($name, $message, $status, $scheduled_at, $completed_at, array $components) public function __construct($name, $message, $status, $scheduled_at, $completed_at, array $components = [])
{ {
$this->name = $name; $this->name = $name;
$this->message = $message; $this->message = $message;

View File

@@ -12,6 +12,7 @@
namespace CachetHQ\Cachet\Foundation\Providers; namespace CachetHQ\Cachet\Foundation\Providers;
use AltThree\Bus\Dispatcher; use AltThree\Bus\Dispatcher;
use AltThree\Validator\ValidatingMiddleware;
use CachetHQ\Cachet\Bus\Middleware\UseDatabaseTransactions; use CachetHQ\Cachet\Bus\Middleware\UseDatabaseTransactions;
use CachetHQ\Cachet\Services\Dates\DateFactory; use CachetHQ\Cachet\Services\Dates\DateFactory;
use Illuminate\Database\Eloquent\Relations\Relation; use Illuminate\Database\Eloquent\Relations\Relation;
@@ -41,7 +42,7 @@ class AppServiceProvider extends ServiceProvider
return Dispatcher::simpleMapping($command, 'CachetHQ\Cachet\Bus', 'CachetHQ\Cachet\Bus\Handlers'); return Dispatcher::simpleMapping($command, 'CachetHQ\Cachet\Bus', 'CachetHQ\Cachet\Bus\Handlers');
}); });
$dispatcher->pipeThrough([UseDatabaseTransactions::class]); $dispatcher->pipeThrough([UseDatabaseTransactions::class, ValidatingMiddleware::class]);
Str::macro('canonicalize', function ($url) { Str::macro('canonicalize', function ($url) {
return preg_replace('/([^\/])$/', '$1/', $url); return preg_replace('/([^\/])$/', '$1/', $url);

View File

@@ -70,7 +70,6 @@ class MetricPointTest extends AbstractApiTestCase
$metric = factory('CachetHQ\Cachet\Models\Metric')->create(); $metric = factory('CachetHQ\Cachet\Models\Metric')->create();
$timestamp = 1434369116; $timestamp = 1434369116;
$datetime = '2015-06-15 11:51:56';
$metricPoint = factory('CachetHQ\Cachet\Models\MetricPoint')->make([ $metricPoint = factory('CachetHQ\Cachet\Models\MetricPoint')->make([
'metric_id' => $metric->id, 'metric_id' => $metric->id,
]); ]);
@@ -79,7 +78,10 @@ class MetricPointTest extends AbstractApiTestCase
$this->post("/api/v1/metrics/{$metric->id}/points", $postData); $this->post("/api/v1/metrics/{$metric->id}/points", $postData);
$this->seeJsonContains(['value' => $metricPoint->value, 'created_at' => $datetime]); $this->seeJsonContains([
'value' => $metricPoint->value,
'created_at' => date('Y-m-d H:i:s', 1434369116),
]);
$this->assertResponseOk(); $this->assertResponseOk();
} }