<?php /* * This file is part of the NelmioApiDocBundle package. * * (c) Nelmio * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Nelmio\ApiDocBundle\Tests\Functional\Entity; use JMS\Serializer\Annotation as Serializer; use OpenApi\Annotations as OA; /** * User. * * @Serializer\ExclusionPolicy("all") */ class JMSUser { /** * @Serializer\Type("integer") * @Serializer\Expose * @Serializer\Groups({"list"}) * * @OA\Property(description = "User id", readOnly = true, title = "userid", example=1, default = null) */ private $id; /** * @Serializer\Type("int") * @Serializer\Expose * @Serializer\SerializedName("daysOnline") * * @OA\Property(default = 0, minimum = 1, maximum = 300) */ private $daysOnline; /** * @Serializer\Type("string") * @Serializer\Expose * @OA\Property(readOnly = false) * @Serializer\Groups({"details"}) */ private $email; /** * User Roles Comment. * * @var string[] * * @Serializer\Type("array<string>") * @Serializer\Accessor(getter="getRoles", setter="setRoles") * @Serializer\Expose * * @OA\Property(default = {"user"}, description = "Roles list", example="[""ADMIN"",""SUPERUSER""]", title="roles") */ private $roles; /** * User Location. * * @Serializer\Type("string") * @Serializer\Expose */ private $location; /** * @Serializer\Type("string") */ private $password; /** * @OA\Property(property="last_update", type="date") * @Serializer\Expose */ private $updatedAt; /** * Ignored as the JMS serializer can't detect its type. * * @Serializer\Expose */ private $createdAt; /** * @Serializer\Type("array<Nelmio\ApiDocBundle\Tests\Functional\Entity\User>") * @Serializer\Expose */ private $friends; /** * @Serializer\Type("array<string, Nelmio\ApiDocBundle\Tests\Functional\Entity\User>") * @Serializer\Expose */ private $indexedFriends; /** * @Serializer\Type("array<string, DateTime>") * @Serializer\Expose */ private $favoriteDates; /** * @Serializer\Type(Nelmio\ApiDocBundle\Tests\Functional\Entity\CustomDateTime::class) * @Serializer\Expose */ private $customDate; /** * @Serializer\Type("integer") * @Serializer\Expose * @Serializer\SerializedName("friendsNumber") * * @OA\Property(type = "string", minLength = 1, maxLength = 100) */ private $friendsNumber; /** * @Serializer\Type(User::class) * @Serializer\Expose */ private $bestFriend; /** * Whether this user is enabled or disabled. * * Only enabled users may be used in actions. * * @var string * @Serializer\Type("string") * @Serializer\Expose * * @OA\Property(enum = {"disabled", "enabled"}) */ private $status; /** * JMS custom types handled via Custom Type Handlers. * * @var string * @Serializer\Type("VirtualTypeClassDoesNotExistsHandlerDefined") * @Serializer\Expose */ private $virtualType1; /** * JMS custom types handled via Custom Type Handlers. * * @var string * @Serializer\Type("VirtualTypeClassDoesNotExistsHandlerNotDefined") * @Serializer\Expose */ private $virtualType2; /** * @Serializer\Type("array<array<float>>") * @Serializer\Expose */ private $latLonHistory; /** * @Serializer\Type("array<string, array>") * @Serializer\Expose */ private $freeFormObject; /** * @Serializer\Type("array") * @Serializer\Expose */ private $freeFormObjectWithoutType; /** * @Serializer\Type("array<string, array<string, DateTime>>") * @Serializer\Expose */ private $deepObject; /** * @Serializer\Type("array<string, array<DateTime>>") * @Serializer\Expose */ private $deepObjectWithItems; /** * @Serializer\Type("array<array<array<string, array>>>") * @Serializer\Expose */ private $deepFreeFormObjectCollection; /** * @Serializer\Type("Nelmio\ApiDocBundle\Tests\Functional\Entity\JMSNote") * @Serializer\Inline() * @Serializer\Expose */ private $notes; public function setRoles($roles) { } public function getRoles() { } public function setDummy(Dummy $dummy) { } }