resources:
    App\Entity\SoftwareProfile:
        processor: App\State\Processor\SoftwareProfileProcessor
        input: App\Dto\Input\SoftwareProfileInput
        output: App\Dto\Output\SoftwareProfileOutput
        normalizationContext:
            groups: ['default', 'software-profile:read']
        denormalizationContext:
            groups: ['software-profile:write']
        operations:
            ApiPlatform\Metadata\GetCollection:
                provider: App\State\Provider\SoftwareProfileProvider
                filters:
                    - 'api_platform.filter.software_profile.order'
                    - 'api_platform.filter.software_profile.search'

            ApiPlatform\Metadata\Get:
                provider: App\State\Provider\SoftwareProfileProvider
                normalizationContext:
                    groups: ['software-profile:read', 'software-profile:item:get', 'software-profile:read:collection:short']
            ApiPlatform\Metadata\Put:
                provider: App\State\Provider\SoftwareProfileProvider
            ApiPlatform\Metadata\Patch:
                provider: App\State\Provider\SoftwareProfileProvider
            ApiPlatform\Metadata\Post: ~
            ApiPlatform\Metadata\Delete: ~

properties:
    App\Entity\SoftwareProfile:
        id:
            identifier: false
        uuid:
            identifier: true