mirror of
https://github.com/kevinveenbirkenbach/infinito.git
synced 2025-01-09 14:07:25 +01:00
Moved meta entities to meta
This commit is contained in:
parent
5af5a6b5e2
commit
25020bbe97
@ -5,8 +5,8 @@ use Symfony\Component\HttpFoundation\Response;
|
|||||||
use Symfony\Component\HttpFoundation\RedirectResponse;
|
use Symfony\Component\HttpFoundation\RedirectResponse;
|
||||||
use Symfony\Component\Routing\Annotation\Route;
|
use Symfony\Component\Routing\Annotation\Route;
|
||||||
use Symfony\Component\HttpFoundation\Request;
|
use Symfony\Component\HttpFoundation\Request;
|
||||||
use App\Entity\Law;
|
use App\Entity\Meta\Law;
|
||||||
use App\Entity\LawInterface;
|
use App\Entity\Meta\LawInterface;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -4,20 +4,20 @@ namespace App\Creator\Modificator\Entity;
|
|||||||
|
|
||||||
use App\DBAL\Types\LayerType;
|
use App\DBAL\Types\LayerType;
|
||||||
use App\DBAL\Types\RightType;
|
use App\DBAL\Types\RightType;
|
||||||
use App\Entity\NodeInterface;
|
use App\Entity\Meta\RelationInterface;
|
||||||
use App\Entity\Right;
|
use App\Entity\Meta\Right;
|
||||||
use App\Entity\LawInterface;
|
use App\Entity\Meta\LawInterface;
|
||||||
use App\DBAL\Types\RecieverType;
|
use App\DBAL\Types\RecieverType;
|
||||||
use App\Entity\RightInterface;
|
use App\Entity\Meta\RightInterface;
|
||||||
use App\Entity\RecieverGroupInterface;
|
use App\Entity\Meta\RecieverGroupInterface;
|
||||||
use App\Entity\RecieverGroup;
|
use App\Entity\Meta\RecieverGroup;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author kevinfrantz
|
* @author kevinfrantz
|
||||||
*/
|
*/
|
||||||
abstract class LawModificator
|
abstract class LawModificator
|
||||||
{
|
{
|
||||||
public static function grantAllRights(LawInterface $law, NodeInterface $node): void
|
public static function grantAllRights(LawInterface $law, RelationInterface $node): void
|
||||||
{
|
{
|
||||||
foreach (LayerType::getChoices() as $layerKey => $layerValue) {
|
foreach (LayerType::getChoices() as $layerKey => $layerValue) {
|
||||||
foreach (RightType::getChoices() as $rightKey => $rightValue) {
|
foreach (RightType::getChoices() as $rightKey => $rightValue) {
|
||||||
@ -28,7 +28,7 @@ abstract class LawModificator
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function createRight(LawInterface $law, NodeInterface $node, string $type, string $layer): RightInterface
|
public static function createRight(LawInterface $law, RelationInterface $node, string $type, string $layer): RightInterface
|
||||||
{
|
{
|
||||||
$right = new Right();
|
$right = new Right();
|
||||||
$right->setType($type);
|
$right->setType($type);
|
||||||
@ -39,7 +39,7 @@ abstract class LawModificator
|
|||||||
return $right;
|
return $right;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function createRecieverGroup(NodeInterface $node, string $reciever): RecieverGroupInterface
|
public static function createRecieverGroup(RelationInterface $node, string $reciever): RecieverGroupInterface
|
||||||
{
|
{
|
||||||
$recieverGroup = new RecieverGroup();
|
$recieverGroup = new RecieverGroup();
|
||||||
$recieverGroup->setNode($node);
|
$recieverGroup->setNode($node);
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
namespace App\Entity\Attribut;
|
namespace App\Entity\Attribut;
|
||||||
|
|
||||||
use App\Entity\LawInterface;
|
use App\Entity\Meta\LawInterface;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author kevinfrantz
|
* @author kevinfrantz
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
namespace App\Entity\Attribut;
|
namespace App\Entity\Attribut;
|
||||||
|
|
||||||
use App\Entity\LawInterface;
|
use App\Entity\Meta\LawInterface;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author kevinfrantz
|
* @author kevinfrantz
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
namespace App\Entity\Attribut;
|
namespace App\Entity\Attribut;
|
||||||
|
|
||||||
use App\Entity\RecieverGroupInterface;
|
use App\Entity\Meta\RecieverGroupInterface;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author kevinfrantz
|
* @author kevinfrantz
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
namespace App\Entity\Attribut;
|
namespace App\Entity\Attribut;
|
||||||
|
|
||||||
use App\Entity\RecieverGroupInterface;
|
use App\Entity\Meta\RecieverGroupInterface;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author kevinfrantz
|
* @author kevinfrantz
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
namespace App\Entity\Attribut;
|
namespace App\Entity\Attribut;
|
||||||
|
|
||||||
use App\Entity\RelationInterface;
|
use App\Entity\Meta\RelationInterface;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author kevinfrantz
|
* @author kevinfrantz
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
namespace App\Entity\Attribut;
|
namespace App\Entity\Attribut;
|
||||||
|
|
||||||
use App\Entity\RelationInterface;
|
use App\Entity\Meta\RelationInterface;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author kevinfrantz
|
* @author kevinfrantz
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
namespace App\Entity\Attribut;
|
namespace App\Entity\Attribut;
|
||||||
|
|
||||||
use App\Entity\RightInterface;
|
use App\Entity\Meta\RightInterface;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author kevinfrantz
|
* @author kevinfrantz
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
namespace App\Entity\Attribut;
|
namespace App\Entity\Attribut;
|
||||||
|
|
||||||
use App\Entity\RightInterface;
|
use App\Entity\Meta\RightInterface;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author kevinfrantz
|
* @author kevinfrantz
|
||||||
|
13
application/src/Entity/Meta/AbstractMeta.php
Normal file
13
application/src/Entity/Meta/AbstractMeta.php
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
<?php
|
||||||
|
namespace App\Entity\Meta;
|
||||||
|
|
||||||
|
use App\Entity\AbstractEntity;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author kevinfrantz
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
abstract class AbstractMeta extends AbstractEntity implements MetaInterface
|
||||||
|
{
|
||||||
|
}
|
@ -1,6 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
|
namespace App\Entity\Meta;
|
||||||
namespace App\Entity;
|
|
||||||
|
|
||||||
use Doctrine\ORM\Mapping as ORM;
|
use Doctrine\ORM\Mapping as ORM;
|
||||||
use App\Entity\Attribut\RightsAttribute;
|
use App\Entity\Attribut\RightsAttribute;
|
||||||
@ -8,15 +7,17 @@ use Doctrine\Common\Collections\ArrayCollection;
|
|||||||
use App\Entity\Attribut\RelationAttribut;
|
use App\Entity\Attribut\RelationAttribut;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
*
|
||||||
* @author kevinfrantz
|
* @author kevinfrantz
|
||||||
* @ORM\Table(name="law")
|
* @ORM\Table(name="law")
|
||||||
* @ORM\Entity(repositoryClass="App\Repository\LawRepository")
|
* @ORM\Entity(repositoryClass="App\Repository\LawRepository")
|
||||||
*/
|
*/
|
||||||
class Law extends AbstractEntity implements LawInterface
|
class Law extends AbstractMeta implements LawInterface
|
||||||
{
|
{
|
||||||
use RightsAttribute, RelationAttribut;
|
use RightsAttribute, RelationAttribut;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
*
|
||||||
* @ORM\OneToMany(targetEntity="Right", mappedBy="law", cascade={"persist", "remove"})
|
* @ORM\OneToMany(targetEntity="Right", mappedBy="law", cascade={"persist", "remove"})
|
||||||
*
|
*
|
||||||
* @var ArrayCollection | Right[]
|
* @var ArrayCollection | Right[]
|
||||||
@ -24,6 +25,7 @@ class Law extends AbstractEntity implements LawInterface
|
|||||||
protected $rights;
|
protected $rights;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
*
|
||||||
* @ORM\OneToOne(targetEntity="Relation",cascade={"persist", "remove"})
|
* @ORM\OneToOne(targetEntity="Relation",cascade={"persist", "remove"})
|
||||||
* @ORM\JoinColumn(name="relation_id", referencedColumnName="id")
|
* @ORM\JoinColumn(name="relation_id", referencedColumnName="id")
|
||||||
*
|
*
|
||||||
@ -44,6 +46,7 @@ class Law extends AbstractEntity implements LawInterface
|
|||||||
public function isGranted(RelationInterface $relation, string $layer, string $right): bool
|
public function isGranted(RelationInterface $relation, string $layer, string $right): bool
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
|
*
|
||||||
* @var RightInterface
|
* @var RightInterface
|
||||||
*/
|
*/
|
||||||
foreach ($this->rights->toArray() as $right) {
|
foreach ($this->rights->toArray() as $right) {
|
@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Entity;
|
namespace App\Entity\Meta;
|
||||||
|
|
||||||
use App\Entity\Attribut\RightsAttributInterface;
|
use App\Entity\Attribut\RightsAttributInterface;
|
||||||
use App\Entity\Attribut\RelationAttributInterface;
|
use App\Entity\Attribut\RelationAttributInterface;
|
||||||
@ -9,6 +9,6 @@ use App\Entity\Method\RelationGrantedInterface;
|
|||||||
/**
|
/**
|
||||||
* @author kevinfrantz
|
* @author kevinfrantz
|
||||||
*/
|
*/
|
||||||
interface LawInterface extends RightsAttributInterface, RelationGrantedInterface, RelationAttributInterface
|
interface LawInterface extends RightsAttributInterface, RelationGrantedInterface, RelationAttributInterface,MetaInterface
|
||||||
{
|
{
|
||||||
}
|
}
|
15
application/src/Entity/Meta/MetaInterface.php
Normal file
15
application/src/Entity/Meta/MetaInterface.php
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
<?php
|
||||||
|
namespace App\Entity\Meta;
|
||||||
|
|
||||||
|
use App\Entity\EntityInterface;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Meta entities contain informations which describe sources.
|
||||||
|
* If you refer from a meta entity to an source be aware to catch infinite loops!
|
||||||
|
* @author kevinfrantz
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
interface MetaInterface extends EntityInterface
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Entity;
|
namespace App\Entity\Meta;
|
||||||
|
|
||||||
use App\Entity\Attribut\RecieverAttribut;
|
use App\Entity\Attribut\RecieverAttribut;
|
||||||
use Doctrine\Common\Collections\ArrayCollection;
|
use Doctrine\Common\Collections\ArrayCollection;
|
||||||
@ -16,7 +16,7 @@ use App\Entity\Attribut\RelationAttributInterface;
|
|||||||
* @ORM\Table(name="reciever_group")
|
* @ORM\Table(name="reciever_group")
|
||||||
* @ORM\Entity()
|
* @ORM\Entity()
|
||||||
*/
|
*/
|
||||||
class RecieverGroup extends AbstractEntity implements RecieverGroupInterface
|
class RecieverGroup extends AbstractMeta implements RecieverGroupInterface
|
||||||
{
|
{
|
||||||
use RelationAttribut,RecieverAttribut;
|
use RelationAttribut,RecieverAttribut;
|
||||||
|
|
@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Entity;
|
namespace App\Entity\Meta;
|
||||||
|
|
||||||
use App\Entity\Attribut\RecieverAttributInterface;
|
use App\Entity\Attribut\RecieverAttributInterface;
|
||||||
use Doctrine\Common\Collections\ArrayCollection;
|
use Doctrine\Common\Collections\ArrayCollection;
|
||||||
@ -9,7 +9,7 @@ use App\Entity\Attribut\RelationAttributInterface;
|
|||||||
/**
|
/**
|
||||||
* @author kevinfrantz
|
* @author kevinfrantz
|
||||||
*/
|
*/
|
||||||
interface RecieverGroupInterface extends RelationAttributInterface, RecieverAttributInterface
|
interface RecieverGroupInterface extends RelationAttributInterface, RecieverAttributInterface,MetaInterface
|
||||||
{
|
{
|
||||||
public function getAllRecievers(): ArrayCollection;
|
public function getAllRecievers(): ArrayCollection;
|
||||||
}
|
}
|
@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Entity;
|
namespace App\Entity\Meta;
|
||||||
|
|
||||||
use Doctrine\ORM\Mapping as ORM;
|
use Doctrine\ORM\Mapping as ORM;
|
||||||
use App\Entity\Attribut\IdAttribut;
|
use App\Entity\Attribut\IdAttribut;
|
||||||
@ -21,7 +21,7 @@ use Doctrine\Common\Collections\Collection;
|
|||||||
* @ORM\Table(name="node")
|
* @ORM\Table(name="node")
|
||||||
* @ORM\Entity()
|
* @ORM\Entity()
|
||||||
*/
|
*/
|
||||||
class Relation extends AbstractEntity implements RelationInterface
|
class Relation extends AbstractMeta implements RelationInterface
|
||||||
{
|
{
|
||||||
use IdAttribut,
|
use IdAttribut,
|
||||||
SourceAttribut,
|
SourceAttribut,
|
@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Entity;
|
namespace App\Entity\Meta;
|
||||||
|
|
||||||
use App\Entity\Attribut\SourceAttributInterface;
|
use App\Entity\Attribut\SourceAttributInterface;
|
||||||
use App\Entity\Attribut\IdAttributInterface;
|
use App\Entity\Attribut\IdAttributInterface;
|
||||||
@ -11,6 +11,6 @@ use App\Entity\Attribut\LawAttributInterface;
|
|||||||
/**
|
/**
|
||||||
* @author kevinfrantz
|
* @author kevinfrantz
|
||||||
*/
|
*/
|
||||||
interface RelationInterface extends SourceAttributInterface, IdAttributInterface, ParentsAttributInterface, ChildsAttributeInterface, LawAttributInterface
|
interface RelationInterface extends SourceAttributInterface, IdAttributInterface, ParentsAttributInterface, ChildsAttributeInterface, LawAttributInterface,MetaInterface
|
||||||
{
|
{
|
||||||
}
|
}
|
@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Entity;
|
namespace App\Entity\Meta;
|
||||||
|
|
||||||
use App\Entity\Attribut\TypeAttribut;
|
use App\Entity\Attribut\TypeAttribut;
|
||||||
use Doctrine\ORM\Mapping as ORM;
|
use Doctrine\ORM\Mapping as ORM;
|
||||||
@ -20,7 +20,7 @@ use App\Entity\Attribut\RelationAttribut;
|
|||||||
* @ORM\Table(name="`right`")
|
* @ORM\Table(name="`right`")
|
||||||
* @ORM\Entity(repositoryClass="App\Repository\RightRepository")
|
* @ORM\Entity(repositoryClass="App\Repository\RightRepository")
|
||||||
*/
|
*/
|
||||||
class Right extends AbstractEntity implements RightInterface
|
class Right extends AbstractMeta implements RightInterface
|
||||||
{
|
{
|
||||||
use TypeAttribut,LawAttribut, RelationAttribut, GrantAttribut,ConditionAttribut,RecieverGroupAttribut,LayerAttribut;
|
use TypeAttribut,LawAttribut, RelationAttribut, GrantAttribut,ConditionAttribut,RecieverGroupAttribut,LayerAttribut;
|
||||||
|
|
@ -1,6 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
|
namespace App\Entity\Meta;
|
||||||
namespace App\Entity;
|
|
||||||
|
|
||||||
use App\Entity\Attribut\TypeAttributInterface;
|
use App\Entity\Attribut\TypeAttributInterface;
|
||||||
use App\Entity\Attribut\LawAttributInterface;
|
use App\Entity\Attribut\LawAttributInterface;
|
||||||
@ -12,8 +11,9 @@ use App\Entity\Method\RelationGrantedInterface;
|
|||||||
use App\Entity\Attribut\RelationAttributInterface;
|
use App\Entity\Attribut\RelationAttributInterface;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
*
|
||||||
* @author kevinfrantz
|
* @author kevinfrantz
|
||||||
*/
|
*/
|
||||||
interface RightInterface extends TypeAttributInterface, LawAttributInterface, RelationGrantedInterface, GrantAttributInterface, RecieverGroupAttributInterface, RelationAttributInterface, ConditionAttributInterface, LayerAttributInterface
|
interface RightInterface extends TypeAttributInterface, LawAttributInterface, RelationGrantedInterface, GrantAttributInterface, RecieverGroupAttributInterface, RelationAttributInterface, ConditionAttributInterface, LayerAttributInterface, MetaInterface
|
||||||
{
|
{
|
||||||
}
|
}
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
namespace App\Entity\Method;
|
namespace App\Entity\Method;
|
||||||
|
|
||||||
use App\Entity\RelationInterface;
|
use App\Entity\Meta\RelationInterface;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author kevinfrantz
|
* @author kevinfrantz
|
||||||
|
@ -7,9 +7,9 @@ use JMS\Serializer\Annotation\Exclude;
|
|||||||
use App\Entity\AbstractEntity;
|
use App\Entity\AbstractEntity;
|
||||||
use Doctrine\Common\Collections\Collection;
|
use Doctrine\Common\Collections\Collection;
|
||||||
use App\Entity\Source\Attribut\GroupSourcesAttribut;
|
use App\Entity\Source\Attribut\GroupSourcesAttribut;
|
||||||
use App\Entity\RelationInterface;
|
use App\Entity\Meta\RelationInterface;
|
||||||
use App\Entity\Attribut\RelationAttribut;
|
use App\Entity\Attribut\RelationAttribut;
|
||||||
use App\Entity\Relation;
|
use App\Entity\Meta\Relation;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author kevinfrantz
|
* @author kevinfrantz
|
||||||
@ -27,7 +27,7 @@ abstract class AbstractSource extends AbstractEntity implements SourceInterface
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @var RelationInterface
|
* @var RelationInterface
|
||||||
* @ORM\OneToOne(targetEntity="App\Entity\Relation",cascade={"persist", "remove"})
|
* @ORM\OneToOne(targetEntity="App\Entity\Meta\Relation",cascade={"persist", "remove"})
|
||||||
* @ORM\JoinColumn(name="relation_id", referencedColumnName="id")
|
* @ORM\JoinColumn(name="relation_id", referencedColumnName="id")
|
||||||
* @Exclude
|
* @Exclude
|
||||||
*/
|
*/
|
||||||
|
@ -4,12 +4,13 @@ namespace tests\unit\Entity;
|
|||||||
|
|
||||||
use PHPUnit\Framework\TestCase;
|
use PHPUnit\Framework\TestCase;
|
||||||
use App\Entity\User;
|
use App\Entity\User;
|
||||||
use App\Entity\Law;
|
use App\Entity\Meta\Law;
|
||||||
|
use App\Entity\Meta\Relation;
|
||||||
use App\Entity\Source\UserSource;
|
use App\Entity\Source\UserSource;
|
||||||
use App\Entity\Node;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author kevinfrantz
|
* @author kevinfrantz
|
||||||
|
use App\Entity\Source\UserSource;
|
||||||
*/
|
*/
|
||||||
class UserTest extends TestCase
|
class UserTest extends TestCase
|
||||||
{
|
{
|
||||||
@ -46,7 +47,7 @@ class UserTest extends TestCase
|
|||||||
|
|
||||||
public function testNode(): void
|
public function testNode(): void
|
||||||
{
|
{
|
||||||
$this->assertInstanceOf(Node::class, $this->user->getSource()->getNode());
|
$this->assertInstanceOf(Relation::class, $this->user->getSource()->getNode());
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testLaw(): void
|
public function testLaw(): void
|
||||||
|
Loading…
Reference in New Issue
Block a user