resources:
  App\Entity\ApiKey:
    security: 'is_granted("ROLE_ADMIN")'
    securityMessage: 'This operation is restricted to internal systems and authorized personnel only. Please ensure you have the necessary permissions before proceeding.'
    normalizationContext:
      groups:
        - 'identifier:read'
        - 'time_trace:read'
        - 'api_key:read'

    denormalizationContext:
      groups:
        - 'api_key:write'

    operations:
      ApiPlatform\Metadata\GetCollection:
        filters: [ 'api_key.order_filter', 'api_key.search_filter', 'api_key.global_search_filter' ]
        openapiContext:
          summary: ApiKey - List - [Internal Use Only].
          description: >
            Retrieves a list of ApiKey
            <br>
            <br>
            **[INTERNAL USE ONLY]**
            <br>
            This operation is restricted to internal systems and authorized personnel only.
            Please ensure you have the necessary permissions before proceeding.
          security:
            - JWT: [ 'ROLE_ADMIN' ]

      ApiPlatform\Metadata\Get:
        openapiContext:
          summary: ApiKey - Item - [Internal Use Only].
          description: >
            Retrieves a item of ApiKey
            <br>
            <br>
            **[INTERNAL USE ONLY]**
            <br>
            This operation is restricted to internal systems and authorized personnel only.
            Please ensure you have the necessary permissions before proceeding.
          security:
            - JWT: [ 'ROLE_ADMIN' ]

      ApiPlatform\Metadata\Post:
        openapiContext:
          summary: ApiKey - Create - [Internal Use Only].
          description: >
            create an item of ApiKey
            <br>
            <br>
            **[INTERNAL USE ONLY]**
            <br>
            This operation is restricted to internal systems and authorized personnel only.
            Please ensure you have the necessary permissions before proceeding.
          security:
            - JWT: [ 'ROLE_ADMIN' ]

      ApiPlatform\Metadata\Put:
        openapiContext:
          summary: ApiKey - Update - [Internal Use Only].
          description: >
            update an item of ApiKey
            <br>
            <br>
            **[INTERNAL USE ONLY]**
            <br>
            This operation is restricted to internal systems and authorized personnel only.
            Please ensure you have the necessary permissions before proceeding.
          security:
            - JWT: [ 'ROLE_ADMIN' ]

      ApiPlatform\Metadata\Delete:
        openapiContext:
          summary: ApiKey - Delete - [Internal Use Only].
          description: >
            delete an item of ApiKey
            <br>
            <br>
            **[INTERNAL USE ONLY]**
            <br>
            This operation is restricted to internal systems and authorized personnel only.
            Please ensure you have the necessary permissions before proceeding.
          security:
            - JWT: [ 'ROLE_ADMIN' ]
