Update Usuarios

master
Manuel Aranda Rosales 2024-06-20 09:47:48 +02:00
parent 05cb7e7918
commit fdbfd24216
1 changed files with 51 additions and 47 deletions

@ -16,6 +16,7 @@
3. [Resource Definition](#resource-definition)
4. [API Operations](#api-operations)
5. [Entity Properties](#entity-properties)
6. [User Input DTO](#user-input-dto)
### Introduction
@ -23,7 +24,7 @@ This documentation describes the configuration of API Platform in a Symfony 6 pr
### Configuration
API configuration is done in Symfony configuration files, usually in `config/packages/api_platform.yaml`.
API configuration is done in Symfony configuration files, usually in `config/packages/api_platform.yaml` file.
```yaml
resources:
@ -126,6 +127,51 @@ properties:
- **uuid**:
- **Identifier**: `true`
### User Input DTO
#### Fields Required in User Endpoint Input
1. **username**
- **Type**: string
- **Validation**: Not blank
- **Groups**: `user:write`
2. **allowedOrganizationalUnits**
- **Type**: array of `OrganizationalUnit`
- **Groups**: `user:write`
- **API Property**: `readableLink: false, writableLink: false`
3. **password**
- **Type**: string
- **Validation**: Not blank (for `user:post`), Minimum length: 8 (for `user:write`, `user:post`)
- **Groups**: `user:write`
4. **enabled**
- **Type**: boolean
- **Validation**: Not null
- **Groups**: `user:write`
- **Default**: true
5. **userGroups**
- **Type**: array of `UserGroup`
- **Groups**: `user:write`
- **API Property**: `readableLink: false, writableLink: false`
6. **currentPassword**
- **Type**: string
- **Validation**: Not blank (for `user:reset-password`)
- **Groups**: `user:reset-password`
7. **newPassword**
- **Type**: string
- **Validation**: Not blank, Minimum length: 8 (for `user:reset-password`)
- **Groups**: `user:reset-password`
8. **repeatNewPassword**
- **Type**: string
- **Validation**: Not blank, Minimum length: 8, Must match `newPassword` (for `user:reset-password`)
- **Groups**: `user:reset-password`
---
## Español
@ -137,14 +183,15 @@ properties:
3. [Definición de Recursos](#definición-de-recursos)
4. [Operaciones de API](#operaciones-de-api)
5. [Propiedades de la Entidad](#propiedades-de-la-entidad)
6. [DTO de Entrada de Usuario](#dto-de-entrada-de-usuario)
### Introducción
Esta documentación describe la configuración de API Platform en un proyecto Symfony 6. Se detallan los recursos, operaciones y propiedades de las entidades expuestas a través de la API.
Esta documentación describe la configuración de API Platform en un proyecto Symfony 6 Se detallan los recursos, operaciones y propiedades de las entidades expuestas a través de la API.
### Configuración
La configuración de la API se realiza en los archivos de configuración de Symfony, generalmente en `config/packages/api_platform.yaml`.
La configuración de la API se realiza en los archivos de configuración de Symfony, generalmente en `config/packages/api_platform.yaml`.
```yaml
resources:
@ -206,47 +253,4 @@ properties:
### Operaciones de API
#### Colección de Usuarios (GetCollection)
- **Proveedor**: `App\State\Provider\UserProvider`
- **Filtros**:
- Ordenar usuarios: `api_platform.filter.user.order`
- Buscar usuarios: `api_platform.filter.user.search`
- Filtro booleano: `api_platform.filter.user.boolean`
#### Obtener Usuario (Get)
- **Proveedor**: `App\State\Provider\UserProvider`
#### Actualizar Usuario (Put)
- **Proveedor**: `App\State\Provider\UserProvider`
#### Modificar Parcialmente Usuario (Patch)
- **Proveedor**: `App\State\Provider\UserProvider`
#### Crear Usuario (Post)
- **Seguridad**: Solo los usuarios con el rol `ROLE_SUPER_ADMIN` pueden acceder.
- **Contexto de Validación**: `['default', 'user:post']`
#### Eliminar Usuario (Delete)
- **Seguridad**: Solo los usuarios con el rol `ROLE_SUPER_ADMIN` pueden acceder.
#### Resetear Contraseña (reset_password)
- **Proveedor**: `App\State\Provider\UserProvider`
- **Clase**: `ApiPlatform\Metadata\Put`
- **Método**: `PUT`
- **Entrada (input)**: `App\Dto\Input\UserInput`
- **URI**: `/users/{uuid}/reset-password`
- **Controlador**: `App\Controller\ResetPasswordAction`
- **Contexto de Validación**: `['user:reset-password']`
### Propiedades de la Entidad
#### App\Entity\User
- **id**:
- **Identificador**: `false`
- **uuid**:
- **Identificador**: `true`
---
Con este formato, puedes seleccionar el idioma que prefieras y acceder a la documentación correspondiente.
-