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

validate()   A

Complexity

Conditions 3
Paths 3

Size

Total Lines 11
Code Lines 7

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 7
CRAP Score 3.0175

Importance

Changes 0
Metric Value
dl 0
loc 11
ccs 7
cts 8
cp 0.875
rs 9.4285
c 0
b 0
f 0
cc 3
eloc 7
nc 3
nop 3
crap 3.0175
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