# Parameters configuration
parameters:
    # User agent
    env(RAPSYSPACK_AGENT): "rapsyspack/Ch4ng3m3!"
    # Shuffled printable character range
    env(RAPSYSPACK_RANGE): 'Ch4ng3m3!'
    # Redirect
    env(RAPSYSPACK_REDIRECT): 20
    # Scheme
    env(RAPSYSPACK_SCHEME): "https"
    # Timeout
    env(RAPSYSPACK_TIMEOUT): 60

# Services configuration
services:
    # Replace assets.context definition
    assets.context:
        class: 'Rapsys\PackBundle\Context\RequestStackContext'
        arguments: [ '@request_stack', '%asset.request_context.base_path%', '%asset.request_context.secure%' ]
    # Replace assets.packages definition
    assets.packages:
        class: 'Symfony\Component\Asset\Packages'
        arguments: [ '@rapsyspack.path_package' ]
    # Register file util service
    rapsyspack.file_util:
        class: 'Rapsys\PackBundle\Util\FileUtil'
        arguments: [ '@rapsyspack.image_util', '@rapsyspack.intl_util', '@translator' ]
        public: true
    # Register image util service
    rapsyspack.image_util:
        class: 'Rapsys\PackBundle\Util\ImageUtil'
        arguments: [ '@service_container', '@router', '@rapsyspack.slugger_util' ]
        public: true
    # Register intl util service
    rapsyspack.intl_util:
        class: 'Rapsys\PackBundle\Util\IntlUtil'
        public: true
    # Register twig pack extension
    rapsyspack.pack_extension:
        class: 'Rapsys\PackBundle\Extension\PackExtension'
        arguments: [ '@service_container', '@rapsyspack.intl_util', '@file_locator', '@router', '@rapsyspack.slugger_util' ]
        tags: [ 'twig.extension' ]
    # Register assets pack package
    rapsyspack.path_package:
        class: 'Rapsys\PackBundle\Package\PathPackage'
        arguments: [ '/', '@assets.empty_version_strategy', '@assets.context' ]
        public: true
    # Register slugger util service
    rapsyspack.slugger_util:
        class: 'Rapsys\PackBundle\Util\SluggerUtil'
        arguments: [ '%kernel.secret%' ]
        public: true
    # Register range command
    Rapsys\PackBundle\Command\RangeCommand:
        arguments: [ '%kernel.project_dir%/.env.local' ]
        tags: [ 'console.command' ]
    # Register controller
    Rapsys\PackBundle\Controller:
        arguments: [ '@service_container', '@rapsyspack.image_util', '@rapsyspack.slugger_util' ]
        tags: [ 'controller.service_arguments' ]
    # Register captcha form
    Rapsys\PackBundle\Form\CaptchaType:
        arguments: [ '@rapsyspack.image_util', '@rapsyspack.slugger_util', '@translator' ]
        tags: [ 'form.type' ]
    # Register contact form
    Rapsys\PackBundle\Form\ContactType:
        arguments: [ '@rapsyspack.image_util', '@rapsyspack.slugger_util', '@translator' ]
        tags: [ 'form.type' ]
    # Register facebook event subscriber
    Rapsys\PackBundle\Subscriber\FacebookSubscriber:
        arguments: [ '@router', [] ]
        tags: [ 'kernel.event_subscriber' ]
    # Register file util class alias
    Rapsys\PackBundle\Util\FileUtil:
        alias: 'rapsyspack.file_util'
    # Register image util class alias
    Rapsys\PackBundle\Util\ImageUtil:
        alias: 'rapsyspack.image_util'
    # Register intl util class alias
    Rapsys\PackBundle\Util\IntlUtil:
        alias: 'rapsyspack.intl_util'
    # Register slugger util class alias
    Rapsys\PackBundle\Util\SluggerUtil:
        alias: 'rapsyspack.slugger_util'