<?php
namespace App\OfficeBrain\Bundle\AccessManagementBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use Gedmo\Mapping\Annotation as Gedmo;
/**
* Entity For InstanceAccessMapping.
*
* Map Instance and accesses
*
* @author OfficeBrain 4273 <info@officebrain.com>
*/
/**
* InstanceAccessMapping.
*
* @ORM\Table(name="tbl_instance_access_mapping", options={"type"="InnoDB","charset"="utf8","collate"="utf8_unicode_ci"})
* @ORM\Entity(repositoryClass="App\OfficeBrain\Bundle\AccessManagementBundle\Entity\InstanceAccessMappingRepository")
* @Gedmo\SoftDeleteable(fieldName="deletedAt", timeAware=false)
*/
class InstanceAccessMapping
{
/**
* @var int
*
* @ORM\Column(name="id", type="bigint", length=20, options={"unsigned"=true})
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="instance_type", type="string", length=255, columnDefinition="enum('association','supplier','distributor','sub_shop')", options={"collate"="utf8_unicode_ci"})
*/
protected $instanceType;
/**
* Bidirectional (OWNING SIDE - FK).
*
* @ORM\ManyToOne(targetEntity="\App\OfficeBrain\Bundle\AccessManagementBundle\Entity\InstanceMaster", inversedBy="instance")
* @ORM\JoinColumn(name="instance_id", nullable=false)
*/
protected $instance;
/**
* Bidirectional (OWNING SIDE - FK).
*
* @ORM\ManyToOne(targetEntity="\App\OfficeBrain\Bundle\AccessManagementBundle\Entity\ProjectAccessMaster", inversedBy="access")
* @ORM\JoinColumn(name="access_id", nullable=false)
*/
protected $access;
/**
* @var int
*
* @ORM\Column(name="access_value", type="smallint", length=1, options={"default" = 0})
*/
protected $accessValue;
/**
* @var datetime
*
* @Gedmo\Timestampable(on="create")
* @ORM\Column(type="datetime", name="created_at")
*/
protected $createdAt;
/**
* @var datetime
*
* @Gedmo\Timestampable(on="update")
* @ORM\Column(type="datetime", name="updated_at", nullable=true)
*/
protected $updatedAt;
/**
* @var datetime
*
* @ORM\Column(type="datetime", name="deleted_at", nullable=true)
*/
protected $deletedAt;
/**
* Get id.
*
* @return int
*/
public function getId()
{
return $this->id;
}
/**
* Set instanceType.
*
* @param string $instanceType
*
* @return InstanceAccessMapping
*/
public function setInstanceType($instanceType)
{
$this->instanceType = $instanceType;
return $this;
}
/**
* Get instanceType.
*
* @return string
*/
public function getInstanceType()
{
return $this->instanceType;
}
/**
* Set accessValue.
*
* @param int $accessValue
*
* @return InstanceAccessMapping
*/
public function setAccessValue($accessValue)
{
$this->accessValue = $accessValue;
return $this;
}
/**
* Get accessValue.
*
* @return int
*/
public function getAccessValue()
{
return $this->accessValue;
}
/**
* Set instance.
*
* @param \App\OfficeBrain\Bundle\AccessManagementBundle\Entity\InstanceMaster $instance
*
* @return InstanceAccessMapping
*/
public function setInstance($instance)
{
$this->instance = $instance;
return $this;
}
/**
* Get instance.
*
* @return \App\OfficeBrain\Bundle\AccessManagementBundle\Entity\InstanceMaster
*/
public function getInstance()
{
return $this->instance;
}
/**
* Set access.
*
* @param \App\OfficeBrain\Bundle\AccessManagementBundle\Entity\ProjectAccessMaster $access
*
* @return InstanceAccessMapping
*/
public function setAccess($access)
{
$this->access = $access;
return $this;
}
/**
* Get access.
*
* @return \App\OfficeBrain\Bundle\AccessManagementBundle\Entity\ProjectAccessMaster
*/
public function getAccess()
{
return $this->access;
}
/**
* Set createdAt.
*
* @param \DateTime $createdAt
*
* @return InstanceConfiguration
*/
public function setCreatedAt($createdAt)
{
$this->createdAt = $createdAt;
return $this;
}
/**
* Get createdAt.
*
* @return \DateTime
*/
public function getCreatedAt()
{
return $this->createdAt;
}
/**
* Set updatedAt.
*
* @param \DateTime $updatedAt
*
* @return InstanceConfiguration
*/
public function setUpdatedAt($updatedAt)
{
$this->updatedAt = $updatedAt;
return $this;
}
/**
* Get updatedAt.
*
* @return \DateTime
*/
public function getUpdatedAt()
{
return $this->updatedAt;
}
/**
* Set deletedAt.
*
* @param \DateTime $deletedAt
*
* @return InstanceConfiguration
*/
public function setDeletedAt($deletedAt)
{
$this->deletedAt = $deletedAt;
return $this;
}
/**
* Get deletedAt.
*
* @return \DateTime
*/
public function getDeletedAt()
{
return $this->deletedAt;
}
}