<?php
/*
* @since 1.0.0
* @copyright Copyright (C) 2021 ArtMedia. All rights reserved.
* @website http://artmedia.biz.pl
* @author Arkadiusz Tobiasz
* @email kontakt@artmedia.biz.pl
*/
namespace App\Entity\Profile\Type;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
use App\Entity\Profile;
/**
* @ORM\Entity(repositoryClass="App\Repository\Profile\Type\ModelRepository")
* @ORM\Table(name="profile_model")
*/
class Model extends Person
{
public const ETHNICITY_NOT_SPECIFIED = 'not_specified';
public const ETHNICITY_EUROPEAN = 'european';
public const ETHNICITY_ASIAN = 'asian';
public const ETHNICITY_HISPANIC = 'hispanic';
public const ETHNICITY_ARAB = 'arab';
public const ETHNICITY_AFRICAN = 'african';
public const ETHNICITY = [
self::ETHNICITY_NOT_SPECIFIED,
self::ETHNICITY_EUROPEAN,
self::ETHNICITY_ASIAN,
self::ETHNICITY_HISPANIC,
self::ETHNICITY_ARAB,
self::ETHNICITY_AFRICAN,
];
public const EYES_NOT_SPECIFIED = 'not_specified';
public const EYES_BLUE = 'blue';
public const EYES_BROWN = 'brown';
public const EYES_GREY = 'grey';
public const EYES_BLACK = 'black';
public const EYES_GREEN = 'green';
public const EYES = [
self::EYES_NOT_SPECIFIED,
self::EYES_BLUE,
self::EYES_BROWN,
self::EYES_GREY,
self::EYES_BLACK,
self::EYES_GREEN,
];
public const HAIR_COLOUR_NOT_SPECIFIED = 'not_specified';
public const HAIR_COLOUR_BLONDE = 'blonde';
public const HAIR_COLOUR_BROWN = 'brown';
public const HAIR_COLOUR_GREY = 'grey';
public const HAIR_COLOUR_BLACK = 'black';
public const HAIR_COLOUR_RED = 'red';
public const HAIR_COLOUR_COLOURED = 'colored';
public const HAIR_COLOUR = [
self::HAIR_COLOUR_NOT_SPECIFIED,
self::HAIR_COLOUR_BLONDE,
self::HAIR_COLOUR_BROWN,
self::HAIR_COLOUR_GREY,
self::HAIR_COLOUR_BLACK,
self::HAIR_COLOUR_RED,
self::HAIR_COLOUR_COLOURED,
];
public const HAIR_LENGTH_NOT_SPECIFIED = 'not_specified';
public const HAIR_LENGTH_SHAVED = 'shaved';
public const HAIR_LENGTH_SHORT = 'short';
public const HAIR_LENGTH_NORMAL = 'normal';
public const HAIR_LENGTH_LONG = 'long';
public const HAIR_LENGTH_VERY_LONG = 'very_long';
public const HAIR_LENGTH = [
self::HAIR_LENGTH_NOT_SPECIFIED,
self::HAIR_LENGTH_SHAVED,
self::HAIR_LENGTH_SHORT,
self::HAIR_LENGTH_NORMAL,
self::HAIR_LENGTH_LONG,
self::HAIR_LENGTH_VERY_LONG,
];
public const TATTOOS_NOT_SPECIFIED = 'not_specified';
public const TATTOOS_NONE = 'none';
public const TATTOOS_SMALL = 'small';
public const TATTOOS_QUITE_INKED = 'quite_inked';
public const TATTOOS = [
self::TATTOOS_NOT_SPECIFIED,
self::TATTOOS_NONE,
self::TATTOOS_SMALL,
self::TATTOOS_QUITE_INKED,
];
/**
* @ORM\Column(type="boolean")
*/
private $ownLocation = false;
/**
* @var string
*
* @ORM\Column(type="string", columnDefinition="enum('not_specified', 'shaved', 'short', 'normal', 'long', 'very_long')")
*/
private $hairLength;
/**
* @var string
*
* @ORM\Column(type="string", columnDefinition="enum('not_specified', 'none', 'small', 'very_inked')")
*/
private $tattoos;
/**
* @var string
*
* @ORM\Column(type="string", columnDefinition="enum('not_specified', 'blonde', 'brown', 'black', 'grey', 'red', 'colored')")
*/
private $hairColor;
/**
* @var string
*
* @ORM\Column(type="string", columnDefinition="enum('not_specified', 'blue', 'brown', 'black', 'grey', 'green')")
*/
private $eyes;
/**
* @var string
*
* @ORM\Column(type="string", columnDefinition="enum('not_specified', 'european', 'asian', 'hispanic', 'arab', 'african')")
*/
private $ethnicity;
/**
* @ORM\Column(type="integer", nullable=true)
*/
private $height;
/**
* @ORM\Column(type="integer", nullable=true)
*/
private $weight;
/**
* @ORM\Column(type="integer", nullable=true)
*/
private $hips;
/**
* @ORM\Column(type="integer", nullable=true)
*/
private $waist;
/**
* @ORM\Column(type="integer", nullable=true)
*/
private $chest;
public function __construct()
{
parent::__construct();
$this->ownLocation = false;
$this->ethnicity = self::ETHNICITY_NOT_SPECIFIED;
$this->eyes = self::EYES_NOT_SPECIFIED;
$this->hairColor = self::HAIR_COLOUR_NOT_SPECIFIED;
$this->hairLength = self::HAIR_LENGTH_NOT_SPECIFIED;
$this->tattoos = self::TATTOOS_NOT_SPECIFIED;
}
public function setTattoos(?string $tattoos): self
{
$this->tattoos = $tattoos;
return $this;
}
public function getTattoos(): string
{
return $this->tattoos;
}
public function getHairLength(): string
{
return $this->hairLength;
}
public function setHairLength(?string $hairLength): self
{
$this->hairLength = $hairLength;
return $this;
}
public function getHairColor(): string
{
return $this->hairColor;
}
public function setHairColor(?string $hairColor): self
{
$this->hairColor = $hairColor;
return $this;
}
public function getEyes(): string
{
return $this->eyes;
}
public function setEyes(?string $eyes): self
{
$this->eyes = $eyes;
return $this;
}
public function getChest(): ?int
{
return $this->chest;
}
public function setChest(?int $chest): self
{
$this->chest = $chest;
return $this;
}
public function getWaist(): ?int
{
return $this->waist;
}
public function setWaist(?int $waist): self
{
$this->waist = $waist;
return $this;
}
public function getHips(): ?int
{
return $this->hips;
}
public function setHips(?int $hips): self
{
$this->hips = $hips;
return $this;
}
public function getWeight(): ?int
{
return $this->weight;
}
public function setWeight(?int $weight): self
{
$this->weight = $weight;
return $this;
}
public function getHeight(): ?int
{
return $this->height;
}
public function setHeight(?int $height): self
{
$this->height = $height;
return $this;
}
public function getEthnicity(): string
{
return $this->ethnicity;
}
public function setEthnicity(?string $ethnicity): self
{
$this->ethnicity = $ethnicity;
return $this;
}
public function getOwnLocation(): bool
{
return $this->ownLocation;
}
public function setOwnLocation(?bool $ownLocation): self
{
$this->ownLocation = $ownLocation;
return $this;
}
public function getType(): string
{
return Profile::TYPE_MODEL;
}
}