resources:
    App\Entity\Trace:
        output: App\Dto\Output\TraceOutput
        normalizationContext:
            groups: ['default', 'trace:read']
        operations:
            ApiPlatform\Metadata\GetCollection:
                provider: App\State\Provider\TraceProvider
                filters:
                    - 'api_platform.filter.trace.order'
                    - 'api_platform.filter.trace.search'
                    - 'api_platform.filter.trace.date'

            ApiPlatform\Metadata\Get:
                provider: App\State\Provider\TraceProvider

            cancel_trace:
                shortName: OgRepository Server
                description: Cancel Trace in OgRepository
                class: ApiPlatform\Metadata\Post
                method: POST
                input: false
                uriTemplate: /traces/server/{uuid}/cancel
                controller: App\Controller\OgRepository\Image\CancelTransmissionAction

            cancel_multiple_traces:
                shortName: Trace Server
                description: Cancel Multiple Traces in OgRepository
                controller: App\Controller\CancelMultipleTracesAction
                class: ApiPlatform\Metadata\Post
                method: POST
                input: App\Dto\Input\CancelMultipleTracesInput
                uriTemplate: /traces/cancel-multiple

            kill_job:
                shortName: Kill Job
                description: Kill Job in OgAgent
                controller: App\Controller\OgAgent\KillJobAction
                class: ApiPlatform\Metadata\Post
                method: POST
                input: App\Dto\Input\KillJobInput
                uriTemplate: /traces/{uuid}/kill-job

            mark_traces_as_success:
                shortName: Mark Trace as Success
                description: Mark a single trace as successfully completed
                controller: App\Controller\MarkTracesAsSuccessAction
                class: ApiPlatform\Metadata\Post
                method: POST
                input: false
                uriTemplate: /traces/{uuid}/mark-as-success

        order:
            id: DESC

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