2
Roles
Manuel Aranda Rosales edited this page 2024-06-20 10:35:03 +02:00
Documentation / Documentación - API ogCore
Select Language / Seleccionar Idioma
English
Table of Contents
- Introduction
- Configuration
- Resource Definition
- API Operations
- Entity Properties
- User Group Input DTO
Introduction
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
API configuration is done in Symfony configuration files, usually in config/packages/api_platform.yaml
file.
resources:
App\Entity\UserGroup:
security: 'is_granted("ROLE_SUPER_ADMIN")'
processor: App\State\Processor\UserGroupProcessor
input: App\Dto\Input\UserGroupInput
output: App\Dto\Output\UserGroupOutput
normalization_context:
groups: ['default', 'user-group:read']
denormalization_context:
groups: ['user-group:write']
operations:
ApiPlatform\Metadata\GetCollection:
provider: App\State\Provider\UserGroupProvider
filters:
- 'api_platform.filter.user_group.order'
- 'api_platform.filter.user_group.search'
- 'api_platform.filter.user_group.boolean'
ApiPlatform\Metadata\Get:
provider: App\State\Provider\UserGroupProvider
ApiPlatform\Metadata\Put:
provider: App\State\Provider\UserGroupProvider
ApiPlatform\Metadata\Patch:
provider: App\State\Provider\UserGroupProvider
ApiPlatform\Metadata\Post: ~
ApiPlatform\Metadata\Delete: ~
properties:
App\Entity\UserGroup:
id:
identifier: false
uuid:
identifier: true
Resource Definition
App\Entity\UserGroup
- Security: Only users with the role
ROLE_SUPER_ADMIN
can access. - Processor:
App\State\Processor\UserGroupProcessor
- Input:
App\Dto\Input\UserGroupInput
- Output:
App\Dto\Output\UserGroupOutput
- Normalization Context:
['default', 'user-group:read']
- Denormalization Context:
['user-group:write']
API Operations
User Group Operations
Get User Group Collection (GetCollection)
- Provider:
App\State\Provider\UserGroupProvider
- Filters:
- Order user groups:
api_platform.filter.user_group.order
- Search user groups:
api_platform.filter.user_group.search
- Boolean filter:
api_platform.filter.user_group.boolean
- Order user groups:
Get User Group (Get)
- Provider:
App\State\Provider\UserGroupProvider
Update User Group (Put)
- Provider:
App\State\Provider\UserGroupProvider
Partially Update User Group (Patch)
- Provider:
App\State\Provider\UserGroupProvider
Create User Group (Post)
- Default Operation: ~
Delete User Group (Delete)
- Default Operation: ~
Entity Properties
App\Entity\User
-
id:
- Identifier:
false
- Identifier:
-
uuid:
- Identifier:
true
- Identifier:
App\Entity\UserGroup
-
id:
- Identifier:
false
- Identifier:
-
uuid:
- Identifier:
true
- Identifier:
User Group Input DTO
Fields Required in User Group Endpoint Input
-
name
- Type: string
- Validation: Not blank
- Groups:
user-group:write
-
permissions
- Type: array
- Validation: Custom
UserGroupsValidPermission
constraint - Groups:
user-group:write
-
enabled
- Type: boolean
- Validation: Not null
- Groups:
user-group:write
- Default: false
Español
Índice
- Introducción
- Configuración
- Definición de Recursos
- Operaciones de API
- Propiedades de la Entidad
- DTO de Entrada de Grupo de Usuarios
Introducción
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
La configuración de la API se realiza en los archivos de configuración de Symfony, generalmente en config/packages/api_platform.yaml
.
resources:
App\Entity\UserGroup:
security: 'is_granted("ROLE_SUPER_ADMIN")'
processor: App\State\Processor\UserGroupProcessor
input: App\Dto\Input\UserGroupInput
output: App\Dto\Output\UserGroupOutput
normalization_context:
groups: ['default', 'user-group:read']
denormalization_context:
groups: ['user-group:write']
operations:
ApiPlatform\Metadata\GetCollection:
provider: App\State\Provider\UserGroupProvider
filters:
- 'api_platform.filter.user_group.order'
- 'api_platform.filter.user_group.search'
- 'api_platform.filter.user_group.boolean'
ApiPlatform\Metadata\Get:
provider: App\State\Provider\UserGroupProvider
ApiPlatform\Metadata\Put:
provider: App\State\Provider\UserGroupProvider
ApiPlatform\Metadata\Patch:
provider: App\State\Provider\UserGroupProvider
ApiPlatform\Metadata\Post: ~
ApiPlatform\Metadata\Delete: ~
properties:
App\Entity\UserGroup:
id:
identifier: false
uuid:
identifier: true
Definición de Recursos
Operaciones de Grupo de Usuarios
Obtener Colección de Grupos de Usuarios (GetCollection)
- Provider:
App\State\Provider\UserGroupProvider
- Filtros:
- Ordenar grupos de usuarios:
api_platform.filter.user_group.order
- Buscar grupos de usuarios:
api_platform.filter.user_group.search
- Filtro booleano:
api_platform.filter.user_group.boolean
- Ordenar grupos de usuarios:
Obtener Grupo de Usuarios (Get)
- Provider:
App\State\Provider\UserGroupProvider
Actualizar Grupo de Usuarios (Put)
- Provider:
App\State\Provider\UserGroupProvider
Actualización Parcial de Grupo de Usuarios (Patch)
- Provider:
App\State\Provider\UserGroupProvider
Crear Grupo de Usuarios (Post)
- Operación Predeterminada: ~
Eliminar Grupo de Usuarios (Delete)
- Operación Predeterminada: ~
Propiedades de la Entidad
App\Entity\User
-
id:
- Identificador:
false
- Identificador:
-
uuid:
- Identificador:
true
- Identificador:
App\Entity\UserGroup
-
id:
- Identificador:
false
- Identificador:
-
uuid:
- Identificador:
true
- Identificador:
DTO de Entrada de Grupo de Usuarios
Campos Requeridos en la Entrada del Endpoint de Grupo de Usuarios
-
name
- Tipo: string
- Validación: No nulo
- Groups:
user-group:write
-
permissions
- Tipo: array
- Validación: Restricción personalizada
UserGroupsValidPermission
- Groups:
user-group:write
-
enabled
- Tipo: booleano
- Validación: No nulo
- Groups:
user-group:write
- Predeterminado: false
Table of Contents
- Documentation / Documentación - API ogCore
- Select Language / Seleccionar Idioma
- English
- Table of Contents
- Introduction
- Configuration
- Resource Definition
- API Operations
- Entity Properties
- User Group Input DTO
- Español