mirror of
https://github.com/kevinveenbirkenbach/infinito.git
synced 2025-04-19 19:32:01 +02:00
Declared setActionType as immutable for RequestedRight
This commit is contained in:
parent
9d63f34a7b
commit
776a7fe282
@ -31,6 +31,7 @@ final class LayerController extends AbstractAPIController
|
|||||||
* ".{_format}",
|
* ".{_format}",
|
||||||
* methods={"GET","POST"}
|
* methods={"GET","POST"}
|
||||||
* )
|
* )
|
||||||
|
*
|
||||||
* @todo Mayber create an own controller for sources, because they have some special logic!
|
* @todo Mayber create an own controller for sources, because they have some special logic!
|
||||||
*/
|
*/
|
||||||
public function create(Request $request, MVCRoutineServiceInterface $mvcRoutineService, RequestedActionServiceInterface $requestedActionService, string $layer): Response
|
public function create(Request $request, MVCRoutineServiceInterface $mvcRoutineService, RequestedActionServiceInterface $requestedActionService, string $layer): Response
|
||||||
|
@ -12,6 +12,7 @@ use Infinito\Entity\Meta\MetaInterface;
|
|||||||
use Infinito\Exception\NotCorrectInstanceException;
|
use Infinito\Exception\NotCorrectInstanceException;
|
||||||
use Infinito\Domain\RequestManagement\Entity\RequestedEntity;
|
use Infinito\Domain\RequestManagement\Entity\RequestedEntity;
|
||||||
use Infinito\Attribut\ActionTypeAttribut;
|
use Infinito\Attribut\ActionTypeAttribut;
|
||||||
|
use Infinito\Exception\AllreadySetException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author kevinfrantz
|
* @author kevinfrantz
|
||||||
@ -20,7 +21,9 @@ use Infinito\Attribut\ActionTypeAttribut;
|
|||||||
*/
|
*/
|
||||||
class RequestedRight implements RequestedRightInterface
|
class RequestedRight implements RequestedRightInterface
|
||||||
{
|
{
|
||||||
use ActionTypeAttribut, LayerAttribut, RecieverAttribut, RequestedEntityAttribut;
|
use LayerAttribut, RecieverAttribut, RequestedEntityAttribut, ActionTypeAttribut{
|
||||||
|
setActionType as private setActionTypeTrait;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var SourceInterface
|
* @var SourceInterface
|
||||||
@ -67,6 +70,20 @@ class RequestedRight implements RequestedRightInterface
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This function declares the attribute actionType as inmutable
|
||||||
|
* {@inheritdoc}
|
||||||
|
*
|
||||||
|
* @see \Infinito\Attribut\ActionTypeAttributInterface::setActionType()
|
||||||
|
*/
|
||||||
|
public function setActionType(string $actionType): void
|
||||||
|
{
|
||||||
|
if (isset($this->actionType)) {
|
||||||
|
throw new AllreadySetException("The action type is allready set! Origine: $this->actionType New: $actionType");
|
||||||
|
}
|
||||||
|
$this->setActionTypeTrait($actionType);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Uses some kind of Lazy loading.
|
* Uses some kind of Lazy loading.
|
||||||
*
|
*
|
||||||
|
@ -16,6 +16,8 @@ use Infinito\Domain\RepositoryManagement\LayerRepositoryFactoryService;
|
|||||||
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
|
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
|
||||||
use Infinito\Entity\Meta\Law;
|
use Infinito\Entity\Meta\Law;
|
||||||
use Infinito\Entity\Source\SourceInterface;
|
use Infinito\Entity\Source\SourceInterface;
|
||||||
|
use Infinito\DBAL\Types\ActionType;
|
||||||
|
use Infinito\Exception\AllreadySetException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author kevinfrantz
|
* @author kevinfrantz
|
||||||
@ -105,4 +107,13 @@ class RequestedRightTest extends KernelTestCase
|
|||||||
$responseSource1 = $this->requestedRight->getSource();
|
$responseSource1 = $this->requestedRight->getSource();
|
||||||
$this->assertEquals($responseSource1, $source);
|
$this->assertEquals($responseSource1, $source);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testSetActionType(): void
|
||||||
|
{
|
||||||
|
$attributType = ActionType::CREATE;
|
||||||
|
$this->requestedRight->setActionType($attributType);
|
||||||
|
$this->assertEquals($attributType, $this->requestedRight->getActionType());
|
||||||
|
$this->expectException(AllreadySetException::class);
|
||||||
|
$this->requestedRight->setActionType($attributType);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user