resources:
  App\Entity\User\Info\CompanyInfo:
    security: 'is_granted("ROLE_INTERNAL") or is_granted("ROLE_API_KEY")'
    securityMessage: 'You are not authorized to access this resource.'
    operations:
      ApiPlatform\Metadata\GetCollection:
        filters: [ 'company_info.order_filter', 'company_info.search_filter', 'company_info.exist_filter' ]
        openapiContext:
          security:
            - JWT: [ 'ROLE_INTERNAL' ]
            - ApiKeyAuth: [ 'ROLE_API_KEY' ]
          summary: CompanyInfo - List.
          description: >
            Retrieves a list of CompanyInfo
        normalizationContext:
          groups:
            - 'identifier:read'
            - 'time_trace:read'
            - 'company_info:read'

      ApiPlatform\Metadata\Get:
        openapiContext:
          security:
            - JWT: [ 'ROLE_INTERNAL' ]
            - ApiKeyAuth: [ 'ROLE_API_KEY' ]
          summary: CompanyInfo - Item.
          description: >
            Retrieves a item of CompanyInfo
        normalizationContext:
          groups:
            - 'identifier:read'
            - 'time_trace:read'
            - 'company_info:read'

      ApiPlatform\Metadata\Put:
        openapiContext:
          security:
            - JWT: [ 'ROLE_INTERNAL' ]
            - ApiKeyAuth: [ 'ROLE_API_KEY' ]
          summary: CompanyInfo - Update.
          description: >
            update an item of CompanyInfo
        normalizationContext:
          groups:
            - 'identifier:read'
            - 'time_trace:read'
            - 'company_info:read'
        denormalizationContext:
          groups:
            - 'company_info:write'

      ApiPlatform\Metadata\Delete:
        openapiContext:
          security:
            - JWT: [ 'ROLE_INTERNAL' ]
            - ApiKeyAuth: [ 'ROLE_API_KEY' ]
          summary: CompanyInfo - Delete.
          description: >
            delete an item of CompanyInfo
