Update Unidades organizativas
parent
e0b19263e7
commit
bb664c52e6
|
@ -105,116 +105,54 @@ properties:
|
||||||
|
|
||||||
#### App\Entity\OrganizationalUnit
|
#### App\Entity\OrganizationalUnit
|
||||||
|
|
||||||
- **id**:
|
### Fields Required in OrganizationalUnit Endpoint Input
|
||||||
- **Identifier**: `false`
|
|
||||||
|
|
||||||
- **uuid**:
|
1. **name**
|
||||||
- **Identifier**: `true`
|
- **Type**: string
|
||||||
|
- **Validation**: Not blank
|
||||||
|
- **Groups**: `organizational-unit:write`
|
||||||
|
|
||||||
### Organizational Unit Input DTO
|
2. **parent**
|
||||||
|
- **Type**: `OrganizationalUnitOutput`
|
||||||
|
- **Groups**: `organizational-unit:write`
|
||||||
|
|
||||||
```php
|
3. **description**
|
||||||
<?php
|
- **Type**: string
|
||||||
|
- **Groups**: `organizational-unit:write`
|
||||||
|
|
||||||
namespace App\Dto\Input;
|
4. **location**
|
||||||
|
- **Type**: string
|
||||||
|
- **Groups**: `organizational-unit:write`
|
||||||
|
|
||||||
use ApiPlatform\Metadata\ApiProperty;
|
5. **projector**
|
||||||
use App\Dto\Output\OrganizationalUnitOutput;
|
- **Type**: boolean
|
||||||
use App\Entity\OrganizationalUnit;
|
- **Groups**: `organizational-unit:write`
|
||||||
use App\Validator\Constraints\OrganizationalUnitMulticastMode;
|
|
||||||
use App\Validator\Constraints\OrganizationalUnitMulticastPort;
|
|
||||||
use App\Validator\Constraints\OrganizationalUnitP2PMode;
|
|
||||||
use App\Validator\Constraints\OrganizationalUnitType;
|
|
||||||
use Symfony\Component\Serializer\Annotation\Groups;
|
|
||||||
use Symfony\Component\Validator\Constraints as Assert;
|
|
||||||
|
|
||||||
class OrganizationalUnitInput
|
6. **board**
|
||||||
{
|
- **Type**: boolean
|
||||||
#[Assert\NotBlank]
|
- **Groups**: `organizational-unit:write`
|
||||||
#[Groups(['organizational-unit:write'])]
|
|
||||||
public ?string $name = null;
|
|
||||||
|
|
||||||
#[Groups(['organizational-unit:write'])]
|
7. **capacity**
|
||||||
public ?OrganizationalUnitOutput $parent = null;
|
- **Type**: integer
|
||||||
|
- **Validation**: Greater than 0
|
||||||
|
- **Groups**: `organizational-unit:write`
|
||||||
|
|
||||||
#[Groups(['organizational-unit:write'])]
|
8. **comments**
|
||||||
public ?string $description = null;
|
- **Type**: string
|
||||||
|
- **Groups**: `organizational-unit:write`
|
||||||
|
|
||||||
#[Groups(['organizational-unit:write'])]
|
9. **type**
|
||||||
public ?string $location = null;
|
- **Type**: string
|
||||||
|
- **Validation**: Custom constraint `OrganizationalUnitType`
|
||||||
#[Groups(['organizational-unit:write'])]
|
- **Groups**: `organizational-unit:write`
|
||||||
public ?bool $projector = null;
|
|
||||||
|
|
||||||
#[Groups(['organizational-unit:write'])]
|
|
||||||
public ?bool $board = null;
|
|
||||||
|
|
||||||
#[Assert\GreaterThan(0)]
|
|
||||||
#[Groups(['organizational-unit:write'])]
|
|
||||||
public ?int $capacity = null;
|
|
||||||
|
|
||||||
#[Groups(['organizational-unit:write'])]
|
|
||||||
public ?string $comments = null;
|
|
||||||
|
|
||||||
#[Groups(['organizational-unit:write'])]
|
|
||||||
#[OrganizationalUnitType]
|
|
||||||
public ?string $type = null;
|
|
||||||
|
|
||||||
#[Groups(['organizational-unit:write'])]
|
|
||||||
#[Assert\Valid()]
|
|
||||||
public ?NetworkSettingsInput $networkSettings = null;
|
|
||||||
|
|
||||||
public function __construct(?OrganizationalUnit $organizationalUnit = null)
|
|
||||||
{
|
|
||||||
if (!$organizationalUnit) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->name = $organizationalUnit->getName();
|
|
||||||
if ($organizationalUnit->getParent()) {
|
|
||||||
$this->parent = new OrganizationalUnitOutput($organizationalUnit->getParent());
|
|
||||||
}
|
|
||||||
$this->description = $organizationalUnit->getDescription();
|
|
||||||
$this->location = $organizationalUnit->getLocation();
|
|
||||||
$this->projector = $organizationalUnit->isProjector();
|
|
||||||
$this->board = $organizationalUnit->isBoard();
|
|
||||||
$this->capacity = $organizationalUnit->getCapacity();
|
|
||||||
$this->comments = $organizationalUnit->getComments();
|
|
||||||
$this->type = $organizationalUnit->getType();
|
|
||||||
if ($organizationalUnit->getNetworkSettings()) {
|
|
||||||
$this->networkSettings = new NetworkSettingsInput($organizationalUnit->getNetworkSettings());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public function createOrUpdateEntity(?OrganizationalUnit $organizationalUnit = null): OrganizationalUnit
|
|
||||||
{
|
|
||||||
if (!$organizationalUnit) {
|
|
||||||
$organizationalUnit = new OrganizationalUnit();
|
|
||||||
}
|
|
||||||
|
|
||||||
$organizationalUnit->setName($this->name);
|
|
||||||
if ($this->parent) {
|
|
||||||
$organizationalUnit->setParent($this->parent->getEntity());
|
|
||||||
}
|
|
||||||
$organizationalUnit->setDescription($this->description);
|
|
||||||
$organizationalUnit->setLocation($this->location);
|
|
||||||
$organizationalUnit->setProjector($this->projector);
|
|
||||||
$organizationalUnit->setBoard($this->board);
|
|
||||||
$organizationalUnit->setCapacity($this->capacity);
|
|
||||||
$organizationalUnit->setComments($this->comments);
|
|
||||||
$organizationalUnit->setType($this->type);
|
|
||||||
|
|
||||||
if ($this->networkSettings) {
|
|
||||||
$organizationalUnit->setNetworkSettings($this->networkSettings->createOrUpdateEntity($organizationalUnit->getNetworkSettings()));
|
|
||||||
}
|
|
||||||
|
|
||||||
return $organizationalUnit;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
|
10. **networkSettings**
|
||||||
|
- **Type**: `NetworkSettingsInput`
|
||||||
|
- **Validation**: Valid
|
||||||
|
- **Groups**: `organizational-unit:write`
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
||||||
## Español
|
## Español
|
||||||
|
|
||||||
### Tabla de Contenidos
|
### Tabla de Contenidos
|
||||||
|
|
Loading…
Reference in New Issue