diff --git a/Usuarios.md b/Usuarios.md index 7d4b628..fe340e5 100644 --- a/Usuarios.md +++ b/Usuarios.md @@ -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) -- \ No newline at end of file +- + + **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. \ No newline at end of file