# 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:
    front_url: "https://app.vycab.fcpo.agency"
    user_images: "%kernel.project_dir%\\public\\uploads\\user_images"
    user_files: "%kernel.project_dir%/public/uploads/user_files"
    old_user_files: "%kernel.project_dir%/public/uploads/old_user_files"
    company_images: "%kernel.project_dir%/public/uploads/company_images"
    company_files: "%kernel.project_dir%/public/uploads/company_files"
    vehicle_pictures: "%kernel.project_dir%/public/uploads/vehicle_pictures"
    vehicle_files: "%kernel.project_dir%/public/uploads/vehicle_files"
    vehicle_category_icons: "%kernel.project_dir%/public/uploads/vehicle_category_icons"
    vehicle_type_pictures: "%kernel.project_dir%/public/uploads/vehicle_type_pictures"
    user_document_files: "%kernel.project_dir%/public/uploads/user_document_files"
    test_upload: "%kernel.project_dir%/public/uploads/test_upload"
    pusherKey: '%env(PUSHER_KEY)%'
    pusherCluster: '%env(PUSHER_CLUSTER)%'
    fcm_token: '%env(FCM_TOKEN)%'
    fcm_token_mobile: '%env(FCM_TOKEN_MOBILE)%'
    service_account_file: '%kernel.project_dir%/config/service-account.json'
    google_service_file: '%kernel.project_dir%/config/google-services.json'

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.
    App\Helpers\Helpers: ~
    App\Controller\UserController:
        arguments:
            $messaging: '@myProjectMessaging'

    # Custom error controller
    App\Controller\ErrorController:
        tags: ['controller.service_arguments']

    # Normalizer
    App\Serializer\Normalizer\BusinessAccount:
        arguments:
            $normalizer: '@serializer.normalizer.object.inner'
            $requestStack: '@request_stack'
        tags:
            - { name: 'serializer.normalizer', priority: 10 }
    App\Serializer\Normalizer\LocationNormalizer:
        arguments:
            $normalizer: '@serializer.normalizer.object.inner'
        tags:
            - { name: 'serializer.normalizer', priority: 10 }
    # Validation
    # App\Serializer\Normalizer\DriverVehicle:
    #     arguments:
    #         $normalizer: '@serializer.normalizer.object'
    #         $requestStack: '@request_stack'
    #     tags:
    #         - { name: 'serializer.normalizer', priority: 10 }
    # App\Routing\EntityRouteLoader:
    #     tags:
    #         - { name: routing.loader }
    
    # 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/Kernel.php"

    # add more service definitions when explicit configuration is needed
    # please note that last definitions always *replace* previous ones
