# This file is the entry point to configure your own services.
# Files in the packages/ subdirectory configure your dependencies.

# Put parameters here that don't need to change on each machine where the app is deployed
# https://symfony.com/doc/current/best_practices.html#use-parameters-for-application-configuration
parameters:
    app.path.question_medias: /uploads/question/medias
    app.path.question_illustrations: /uploads/question/illustrations
    app.path.question_propositions: /uploads/question/propositions
    app.path.user_pictures: /uploads/pictures
    app.path.puzzle_medias: /uploads/puzzle/medias
    app.path.puzzle_illustrations: /uploads/puzzle/illustrations
    router.request_context.scheme: '%env(SECURE_SCHEME)%'
    asset.request_context.secure: '%env(SECURE)%'

services:
    # default configuration for services in *this* file
    _defaults:
        autowire: true      # Automatically injects dependencies in your services.
        autoconfigure: true # Automatically registers your services as commands, event subscribers, etc.

    # makes classes in src/ available to be used as services
    # this creates a service per class whose id is the fully-qualified class name
    App\:
        resource: '../src/'
        exclude:
            - '../src/DependencyInjection/'
            - '../src/Entity/'
            - '../src/Kernel.php'
            - '../src/Tests/'

    App\Controller\:
        resource: '../src/Controller/'
        tags: ['controller.service_arguments']

    App\Command\:
        resource: '../src/Command/'
        tags: [ 'controller.service_arguments' ]

    App\Trait\:
        resource: '../src/Trait/'
        tags: [controller.service_arguments]

    App\Service\PictureUploader:
        arguments:
            $targetDirectory: '%app.path.user_pictures%'
            $rootDir: '%kernel.project_dir%/public'

    #App\DataProvider\PostCollectionDataProvider:
        #tags: [ { name: 'api_platform.collection_data_provider', priority: 2 } ]
        # Autoconfiguration must be disabled to set a custom priority
        #autoconfigure: false
    #App\Serializer\ApiNormalizer:
        #decorates: 'api_platform.jsonld.normalizer.item'
    # add more service definitions when explicit configuration is needed
    # please note that last definitions always *replace* previous ones
