mirror of
https://github.com/retailcrm/NelmioApiDocBundle.git
synced 2025-02-03 08:09:25 +03:00
df9893428e
* [JMSModelDescriber] Allow to use free form objects from JMS serialization * Remove unused variable * Refactor `describeItem()` * Add more tests * early detect of free form objects * Add test for array property without type * Merge `findPropertyType()` and `registerPropertyType()` methods * Update `registerPropertyType()` in order to set "object" as type for arrays with undefined item types * Set "additionalProperties" definition for arrays without defined items * Simplified `registerPropertyType()` * Merged `registerPropertyType()` into `describeItem()` * Fix comment * Fix comment
177 lines
3.7 KiB
PHP
177 lines
3.7 KiB
PHP
<?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 Swagger\Annotations as SWG;
|
|
|
|
/**
|
|
* User.
|
|
*
|
|
* @Serializer\ExclusionPolicy("all")
|
|
*/
|
|
class JMSUser
|
|
{
|
|
/**
|
|
* @Serializer\Type("integer")
|
|
* @Serializer\Expose
|
|
* @Serializer\Groups({"list"})
|
|
*
|
|
* @SWG\Property(description = "User id", readOnly = true, title = "userid", example=1, default = null)
|
|
*/
|
|
private $id;
|
|
|
|
/**
|
|
* @Serializer\Type("int")
|
|
* @Serializer\Expose
|
|
* @Serializer\SerializedName("daysOnline")
|
|
*
|
|
* @SWG\Property(default = 0, minimum = 1, maximum = 300)
|
|
*/
|
|
private $daysOnline;
|
|
|
|
/**
|
|
* @Serializer\Type("string")
|
|
* @Serializer\Expose
|
|
* @SWG\Property(readOnly = false)
|
|
* @Serializer\Groups({"details"})
|
|
*/
|
|
private $email;
|
|
|
|
/**
|
|
* @Serializer\Type("array<string>")
|
|
* @Serializer\Accessor(getter="getRoles", setter="setRoles")
|
|
* @Serializer\Expose
|
|
*
|
|
* @SWG\Property(default = {"user"}, description = "Roles list", example="[""ADMIN"",""SUPERUSER""]", title="roles")
|
|
*/
|
|
private $roles;
|
|
|
|
/**
|
|
* @Serializer\Type("string")
|
|
*/
|
|
private $password;
|
|
|
|
/**
|
|
* @SWG\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")
|
|
*
|
|
* @SWG\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
|
|
*
|
|
* @SWG\Property(enum = {"disabled", "enabled"})
|
|
*/
|
|
private $status;
|
|
|
|
/**
|
|
* @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;
|
|
|
|
public function setRoles($roles)
|
|
{
|
|
}
|
|
|
|
public function getRoles()
|
|
{
|
|
}
|
|
|
|
public function setDummy(Dummy $dummy)
|
|
{
|
|
}
|
|
}
|