<?phpnamespace App\Daikin\BaseBundle\Entity;use \Serializable;use Doctrine\Common\Collections\ArrayCollection;use Doctrine\ORM\Mapping as ORM;/** * @ORM\Entity * @ORM\Table(name="role") */class Role extends \Symfony\Component\Security\Core\Role\Role implements Serializable{ const ROLE_USER = 'ROLE_USER'; const ROLE_ADMIN = 'ROLE_ADMIN'; const ROLE_REFRIGERANT_COLLECT_COMPANY_USER = 'ROLE_REFRIGERANT_COLLECT_COMPANY_USER'; const ROLE_REFRIGERANT_COLLECT_SHIPPER = 'ROLE_REFRIGERANT_COLLECT_SHIPPER'; const ROLE_REFRIGERANT_COLLECT_SHIPPER_ADMIN = 'ROLE_REFRIGERANT_COLLECT_SHIPPER_ADMIN'; const ROLE_APP_USER = 'ROLE_APP_USER'; const ROLE_AHU_USER = 'ROLE_AHU_USER'; const ROLE_AHU_ADMIN = 'ROLE_AHU_ADMIN'; const ROLE_AR_SUPPORT = 'ROLE_AR_SUPPORT'; /** * @ORM\Id * @ORM\Column(type="integer") * @ORM\GeneratedValue(strategy="AUTO") * * @var integer $id */ protected $id; /** * @ORM\Column(type="string", length=255) * * @var string $name */ protected $name; /** * @ORM\Column(type="integer", name="created_at") * * @var integer $createdAt */ protected $createdAt; /** * @ORM\Column(type="integer", options={"unsigned":true}) * @var int */ private $sorting; /** * @ORM\Column(type="string", name="group_name") * @var int */ private $groupName; /** * @ORM\ManyToMany(targetEntity="User", mappedBy="userRoles") */ protected $users; public function __construct() { $this->users = new ArrayCollection(); $this->createdAt = time(); $this->sorting = 0; } public function __toString():string { return $this->name; } /** * @see \Serializable::serialize() */ public function serialize() { return \serialize(array( $this->id )); } /** * @see \Serializable::unserialize() */ public function unserialize($serialized) { list( $this->id ) = \unserialize($serialized); } /** * get id property * * @return integer The id. */ public function getId() { return $this->id; } /** * get name property * * @return string The name. */ public function getName() { return $this->name; } /** * set name property * * @param string $value The name. */ public function setName($value) { $this->name = $value; } /** * get created_at property * * @return integer A DateTime object. */ public function getCreatedAt() { return $this->createdAt; } /** * get role name * * @return string The role. */ public function getRole() { return $this->getName(); } /** * Set createdAt * * @param integer $createdAt */ public function setCreatedAt($createdAt) { $this->createdAt = $createdAt; } public function getUsers() { return $this->users; } /** * @return int */ public function getSorting() { return $this->sorting; } /** * @param int $sorting * @return Role */ public function setSorting($sorting) { $this->sorting = $sorting; return $this; } /** * @return int */ public function getGroupName() { return $this->groupName; } /** * @param int $groupName * @return Role */ public function setGroupName($groupName) { $this->groupName = $groupName; return $this; } /** * @param Role $searchRole * @param Role[]|[] $availRoles * @return bool */ public static function roleInRoles(Role $searchRole, $availRoles) { if (!is_array($availRoles) || count($availRoles)<=0 || !$searchRole instanceof Role) { return false; } foreach ($availRoles as $availRole) { if ($availRole instanceof Role && $availRole->getId() === $searchRole->getId()) { return true; } } return false; }}