Completed
Push — master ( 7a82a2...eef030 )
by Pavel
02:12
created

UpdateAction::updateEntity()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 2
dl 0
loc 3
ccs 0
cts 3
cp 0
crap 2
rs 10
c 0
b 0
f 0
1
<?php namespace Pz\Doctrine\Rest\Action;
2
3
use Pz\Doctrine\Rest\Action\CanHydrate;
4
use Pz\Doctrine\Rest\Action\RestActionAbstract;
5
use Pz\Doctrine\Rest\RestRequestAbstract;
6
use Pz\Doctrine\Rest\RestResponse;
7
8
class UpdateAction extends RestActionAbstract
9
{
10
    use CanHydrate;
11
12
    /**
13
     * @param RestRequestAbstract $request
14
     *
15
     * @return RestResponse
16
     */
17
    public function handle(RestRequestAbstract $request)
18
    {
19
        $entity = $this->repository()->findByIdentifier($request);
20
        $request->authorize($entity);
21
22
        $this->updateEntity($request, $entity);
23
        $this->repository()->em()->flush();
24
25
        return $this->response()->update($request, $entity);
26
    }
27
28
    /**
29
     * @param RestRequestAbstract $request
30
     * @param object              $entity
31
     *
32
     * @return object
33
     */
34
    protected function updateEntity($request, $entity)
35
    {
36
        return $this->hydrate($entity, $this->repository()->em(), $request);
37
    }
38
}
39