Completed
Push — master ( 8af693...a60473 )
by Enrico
03:36
created

AbstractSchemaValidatedResourceController   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 15
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 2

Test Coverage

Coverage 87.5%

Importance

Changes 0
Metric Value
wmc 3
lcom 1
cbo 2
dl 0
loc 15
ccs 7
cts 8
cp 0.875
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A validate() 0 11 3
1
<?php
2
3
namespace Resourceful\Controller;
4
use Silex\Application;
5
use Symfony\Component\HttpKernel\Exception\BadRequestHttpException;
6
7
class AbstractSchemaValidatedResourceController extends AbstractResourceController
8
{
9
		
10 9
    protected function validate(Application $app, $id, $data)
11
    {
12 9
        if ($id !== $data->id) {
13 1
            throw new BadRequestHttpException("The `id` in the body must match the `id` in the URI");
14
        }
15 8
        $schema = $app["json-schema.schema-store"]->get($this->schema);
16 8
        $validation = $app["json-schema.validator"]->validate($data, $schema);
17 8
        if (!$validation->valid) {
18
            throw new BadRequestHttpException(json_encode($validation->errors));
19
        }
20 8
    }
21
}
22