Update Usuarios

master
Manuel Aranda Rosales 2024-06-20 09:50:32 +02:00
parent fdbfd24216
commit 312267ce8f
1 changed files with 94 additions and 4 deletions

@ -1,4 +1,4 @@
# Documentation / Documentación - API ogCore
# Documentation / Documentación - API ogCOre
## Select Language / Seleccionar Idioma
@ -20,7 +20,7 @@
### Introduction
This documentation describes the configuration of API Platform in a Symfony 6 project. It details the resources, operations, and entity properties exposed through the API.
This documentation describes the configuration of API Platform in a Symfony project. It details the resources, operations, and entity properties exposed through the API.
### Configuration
@ -187,7 +187,7 @@ properties:
### 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. Se detallan los recursos, operaciones y propiedades de las entidades expuestas a través de la API.
### Configuración
@ -253,4 +253,94 @@ 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`
### DTO de Entrada de Usuario
#### Campos Requeridos en la Entrada del Endpoint de Usuario
1. **username**
- **Tipo**: string
- **Validación**: No vacío
- **Grupos**: `user:write`
2. **allowedOrganizationalUnits**
- **Tipo**: array de `OrganizationalUnit`
- **Grupos**: `user:write`
- **Propiedad API**: `readableLink: false, writableLink: false`
3. **password**
- **Tipo**: string
- **Validación**: No vacío (para `user:post`), Longitud mínima: 8 (para `user:write`, `user:post`)
- **Grupos**: `user:write`
4. **enabled**
- **Tipo**: boolean
- **Validación**: No nulo
- **Grupos**: `user:write`
- **Por defecto**: true
5. **userGroups**
- **Tipo**: array de `UserGroup`
- **Grupos**: `user:write`
- **Propiedad API**: `readableLink: false, writableLink: false`
6. **currentPassword**
- **Tipo**: string
- **Validación**: No vacío (para `user:reset-password`)
- **Grupos**: `user:reset-password`
7. **newPassword**
- **Tipo**: string
- **Validación**: No vacío, Longitud mínima: 8 (para `user:reset-password`)
- **Grupos**: `user:reset-password`
8. **repeatNewPassword**
- **Tipo**: string
- **Validación**: No vacío, Longitud mínima: 8, Debe coincidir con `newPassword` (para `user:reset-password`)
- **Grupos**: `user:reset-password`
---
Con este formato, puedes seleccionar el idioma que prefieras y acceder a la documentación correspondiente.