src/App/Entity/GohiringRequest.php line 20

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Utility\GuidUtility;
  4. use DateTime;
  5. use Doctrine\ORM\Mapping as ORM;
  6. /**
  7. * @ORM\Entity
  8. *
  9. * @ORM\Table(
  10. * name="gohiring_requests",
  11. * indexes={
  12. *
  13. * @ORM\Index(name="occured_at_idx", columns={"occured_at"}),
  14. * }
  15. * )
  16. */
  17. class GohiringRequest
  18. {
  19. public function __construct(DateTime $occuredAt, string $request)
  20. {
  21. $this->occuredAt = $occuredAt;
  22. $this->request = $request;
  23. }
  24. /**
  25. * @var string
  26. *
  27. * @ORM\GeneratedValue(strategy="CUSTOM")
  28. *
  29. * @ORM\CustomIdGenerator(class="App\Utility\DatabaseIdGenerator")
  30. *
  31. * @ORM\Column(name="id", type="guid")
  32. *
  33. * @ORM\Id
  34. */
  35. protected $id;
  36. public function setId(string $id): void
  37. {
  38. GuidUtility::validOrThrow($id);
  39. $this->id = $id;
  40. }
  41. public function getId(): string
  42. {
  43. return $this->id;
  44. }
  45. /**
  46. * @var DateTime
  47. *
  48. * @ORM\Column(name="occured_at", type="datetime", nullable=false)
  49. */
  50. protected $occuredAt;
  51. public function setOccuredAt(DateTime $occuredAt): void
  52. {
  53. $this->occuredAt = $occuredAt;
  54. }
  55. public function getOccuredAt(): DateTime
  56. {
  57. return $this->occuredAt;
  58. }
  59. /**
  60. * @var string
  61. *
  62. * @ORM\Column(name="request", type="text", length=32768, nullable=false)
  63. */
  64. protected $request;
  65. public function setRequest(string $request): void
  66. {
  67. $this->request = mb_substr($request, 0, 32768);
  68. }
  69. public function getRequest(): string
  70. {
  71. return $this->request;
  72. }
  73. }