Update Usuarios
parent
3c1f2be567
commit
41eee83017
182
Usuarios.md
182
Usuarios.md
|
@ -1,20 +1,33 @@
|
|||
# Documentación de la API - ogCore
|
||||
Claro, aquí tienes la documentación en formato Wiki con un selector de idioma (Español e Inglés):
|
||||
|
||||
## Índice
|
||||
---
|
||||
|
||||
1. [Introducción](#introducción)
|
||||
2. [Configuración](#configuración)
|
||||
3. [Definición de Recursos](#definición-de-recursos)
|
||||
4. [Operaciones de API](#operaciones-de-api)
|
||||
5. [Propiedades del Entidad](#propiedades-de-la-entidad)
|
||||
# Documentation / Documentación - API Platform with Symfony 3
|
||||
|
||||
## Introducción
|
||||
## Select Language / Seleccionar Idioma
|
||||
|
||||
Esta documentación describe en endpoint "users". Se detallan los recursos, operaciones y propiedades de las entidades expuestas a través de la API.
|
||||
- [English](#english)
|
||||
- [Español](#español)
|
||||
|
||||
## 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 API First de los recursos se encuentran dentro de `config/api_platform`.
|
||||
## English
|
||||
|
||||
### Table of Contents
|
||||
|
||||
1. [Introduction](#introduction)
|
||||
2. [Configuration](#configuration)
|
||||
3. [Resource Definition](#resource-definition)
|
||||
4. [API Operations](#api-operations)
|
||||
5. [Entity Properties](#entity-properties)
|
||||
|
||||
### 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.
|
||||
|
||||
### Configuration
|
||||
|
||||
API configuration is done in Symfony configuration files, usually in `config/packages/api_platform.yaml`.
|
||||
|
||||
```yaml
|
||||
resources:
|
||||
|
@ -63,9 +76,130 @@ properties:
|
|||
identifier: true
|
||||
```
|
||||
|
||||
## Definición de Recursos
|
||||
### Resource Definition
|
||||
|
||||
### App\Entity\User
|
||||
#### App\Entity\User
|
||||
|
||||
- **Input**: `App\Dto\Input\UserInput`
|
||||
- **Output**: `App\Dto\Output\UserOutput`
|
||||
- **Processor**: `App\State\Processor\UserProcessor`
|
||||
- **Normalization Context**: `['default', 'user:read']`
|
||||
- **Denormalization Context**: `['user:write']`
|
||||
|
||||
### API Operations
|
||||
|
||||
#### Get User Collection (GetCollection)
|
||||
- **Provider**: `App\State\Provider\UserProvider`
|
||||
- **Filters**:
|
||||
- Order users: `api_platform.filter.user.order`
|
||||
- Search users: `api_platform.filter.user.search`
|
||||
- Boolean filter: `api_platform.filter.user.boolean`
|
||||
|
||||
#### Get User (Get)
|
||||
- **Provider**: `App\State\Provider\UserProvider`
|
||||
|
||||
#### Update User (Put)
|
||||
- **Provider**: `App\State\Provider\UserProvider`
|
||||
|
||||
#### Partially Update User (Patch)
|
||||
- **Provider**: `App\State\Provider\UserProvider`
|
||||
|
||||
#### Create User (Post)
|
||||
- **Security**: Only users with the role `ROLE_SUPER_ADMIN` can access.
|
||||
- **Validation Context**: `['default', 'user:post']`
|
||||
|
||||
#### Delete User (Delete)
|
||||
- **Security**: Only users with the role `ROLE_SUPER_ADMIN` can access.
|
||||
|
||||
#### Reset Password (reset_password)
|
||||
- **Provider**: `App\State\Provider\UserProvider`
|
||||
- **Class**: `ApiPlatform\Metadata\Put`
|
||||
- **Method**: `PUT`
|
||||
- **Input**: `App\Dto\Input\UserInput`
|
||||
- **URI**: `/users/{uuid}/reset-password`
|
||||
- **Controller**: `App\Controller\ResetPasswordAction`
|
||||
- **Validation Context**: `['user:reset-password']`
|
||||
|
||||
### Entity Properties
|
||||
|
||||
#### App\Entity\User
|
||||
|
||||
- **id**:
|
||||
- **Identifier**: `false`
|
||||
|
||||
- **uuid**:
|
||||
- **Identifier**: `true`
|
||||
|
||||
---
|
||||
|
||||
## Español
|
||||
|
||||
### Índice
|
||||
|
||||
1. [Introducción](#introducción)
|
||||
2. [Configuración](#configuración)
|
||||
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)
|
||||
|
||||
### Introducción
|
||||
|
||||
Esta documentación describe la configuración de API Platform en un proyecto Symfony 3. 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`.
|
||||
|
||||
```yaml
|
||||
resources:
|
||||
App\Entity\User:
|
||||
input: App\Dto\Input\UserInput
|
||||
output: App\Dto\Output\UserOutput
|
||||
processor: App\State\Processor\UserProcessor
|
||||
normalization_context:
|
||||
groups: ['default', 'user:read']
|
||||
denormalization_context:
|
||||
groups: ['user:write']
|
||||
operations:
|
||||
ApiPlatform\Metadata\GetCollection:
|
||||
provider: App\State\Provider\UserProvider
|
||||
filters:
|
||||
- 'api_platform.filter.user.order'
|
||||
- 'api_platform.filter.user.search'
|
||||
- 'api_platform.filter.user.boolean'
|
||||
ApiPlatform\Metadata\Get:
|
||||
provider: App\State\Provider\UserProvider
|
||||
ApiPlatform\Metadata\Put:
|
||||
provider: App\State\Provider\UserProvider
|
||||
ApiPlatform\Metadata\Patch:
|
||||
provider: App\State\Provider\UserProvider
|
||||
ApiPlatform\Metadata\Post:
|
||||
security: 'is_granted("ROLE_SUPER_ADMIN")'
|
||||
validationContext:
|
||||
groups: [ 'default', 'user:post' ]
|
||||
ApiPlatform\Metadata\Delete:
|
||||
security: 'is_granted("ROLE_SUPER_ADMIN")'
|
||||
reset_password:
|
||||
provider: App\State\Provider\UserProvider
|
||||
class: ApiPlatform\Metadata\Put
|
||||
method: PUT
|
||||
input: App\Dto\Input\UserInput
|
||||
uriTemplate: /users/{uuid}/reset-password
|
||||
controller: App\Controller\ResetPasswordAction
|
||||
validationContext:
|
||||
groups: [ 'user:reset-password' ]
|
||||
|
||||
properties:
|
||||
App\Entity\User:
|
||||
id:
|
||||
identifier: false
|
||||
uuid:
|
||||
identifier: true
|
||||
```
|
||||
|
||||
### Definición de Recursos
|
||||
|
||||
#### App\Entity\User
|
||||
|
||||
- **Entrada (input)**: `App\Dto\Input\UserInput`
|
||||
- **Salida (output)**: `App\Dto\Output\UserOutput`
|
||||
|
@ -73,32 +207,32 @@ properties:
|
|||
- **Contexto de Normalización**: `['default', 'user:read']`
|
||||
- **Contexto de Desnormalización**: `['user:write']`
|
||||
|
||||
## Operaciones de API
|
||||
### Operaciones de API
|
||||
|
||||
### Colección de Usuarios (GetCollection)
|
||||
#### 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)
|
||||
#### Obtener Usuario (Get)
|
||||
- **Proveedor**: `App\State\Provider\UserProvider`
|
||||
|
||||
### Actualizar Usuario (Put)
|
||||
#### Actualizar Usuario (Put)
|
||||
- **Proveedor**: `App\State\Provider\UserProvider`
|
||||
|
||||
### Modificar Parcialmente Usuario (Patch)
|
||||
#### Modificar Parcialmente Usuario (Patch)
|
||||
- **Proveedor**: `App\State\Provider\UserProvider`
|
||||
|
||||
### Crear Usuario (Post)
|
||||
#### 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)
|
||||
#### Eliminar Usuario (Delete)
|
||||
- **Seguridad**: Solo los usuarios con el rol `ROLE_SUPER_ADMIN` pueden acceder.
|
||||
|
||||
### Resetear Contraseña (reset_password)
|
||||
#### Resetear Contraseña (reset_password)
|
||||
- **Proveedor**: `App\State\Provider\UserProvider`
|
||||
- **Clase**: `ApiPlatform\Metadata\Put`
|
||||
- **Método**: `PUT`
|
||||
|
@ -107,9 +241,9 @@ properties:
|
|||
- **Controlador**: `App\Controller\ResetPasswordAction`
|
||||
- **Contexto de Validación**: `['user:reset-password']`
|
||||
|
||||
## Propiedades de la Entidad
|
||||
### Propiedades de la Entidad
|
||||
|
||||
### App\Entity\User
|
||||
#### App\Entity\User
|
||||
|
||||
- **id**:
|
||||
- **Identificador**: `false`
|
||||
|
@ -119,4 +253,4 @@ properties:
|
|||
|
||||
---
|
||||
|
||||
Esta estructura proporciona una visión clara y organizada de la configuración de API Platform para la entidad `User` en Symfony .
|
||||
Con este formato, puedes seleccionar el idioma que prefieras y acceder a la documentación correspondiente.
|
Loading…
Reference in New Issue