# 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/configuration.html#application-related-configuration
parameters:
    descuento_efectivo: 15 # Porcentaje de descuento para pago en efectivo
    mail_sender: '%env(MAILER_SENDER)%'
    temp_pdf_path: '%env(resolve:PDF_TEMPORAL_PATH)%'
    base_url: '%env(BASE_URL)%'
    imagenesArticulos: '%kernel.project_dir%/public/images_prods'

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.
        bind:
            $consumerKey: '%env(ID_CLIENTE_WOOCOMERCE)%'
            $consumerSecret: '%env(KEY_SECRET_WOOCOMERCE)%'
            $siteUrl: '%env(WOOCOMMERCE_SITE_URL)%'
    App\Services\WoocomerceService:
        arguments:
            $consumerKey: '%env(ID_CLIENTE_WOOCOMERCE)%'
            $consumerSecret: '%env(KEY_SECRET_WOOCOMERCE)%'
            $siteUrl: '%env(WOOCOMMERCE_SITE_URL)%'
    # 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,Entity,Migrations,Tests,Kernel.php}'

    # controllers are imported separately to make sure services can be injected
    # as action arguments even if you don't extend any base controller class
    App\Controller\:
        resource: '../src/Controller'

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

    App\Services\FacturacionService:
        arguments:
            $minDiasFacuraTemporal: '%env(FACTURA_MIN_DIAS)%'

    App\Services\CuentaCorrienteService:
        arguments:
            # Dia del mes usado para vencerse los crédito de cuenta corriente
            $diaCorte: 10
            # Dia del mes maximo para agregar tiempo de financiamiento adicional
            $maxDiaCorte: 22

    App\Services\FuncionesWebService:
        arguments:
            $environment: '%env(WEBSERVICE_ENVIRONMENT)%'
            $wsPath:  '%kernel.project_dir%/%env(WEBSERVICE_PATH)%'
            $wsData:
                cuit: '%env(WEBSERVICE_CUIT)%'
                crt: '%env(WEBSERVICE_CRT)%'
                key: '%env(WEBSERVICE_KEY)%'
                password: '%env(WEBSERVICE_PASSWORD)%'

    App\EventSubscriber\SkipAutogenerateTableSubscriber:
        tags:
            - {name: doctrine.event_listener, event: postGenerateSchema }