services:
    notimeo.core.routing:
        class: Notimeo\CoreBundle\Routing\NotimeoCoreLoader
        tags:
            - name: routing.loader
    notimeo.query_builder:
        class: Notimeo\CoreBundle\Search\QueryBuilder
        arguments:
            - '@doctrine'
            - '@request_stack'
    notimeo.finder:
        class: Notimeo\CoreBundle\Search\Finder
        arguments:
            - '@notimeo.query_builder'
            - '@easyadmin.paginator'
    notimeo.autocomplete:
        class: Notimeo\CoreBundle\Search\Autocomplete
        arguments:
            - '@easyadmin.config.manager'
            - '@notimeo.finder'
            - '@property_accessor'
    notimeo.paginator:
        class: Notimeo\CoreBundle\Services\NotimeoPaginator
        arguments:
            - '@request_stack'
    notimeo.ckeditor_config:
        class: Notimeo\CoreBundle\Services\CKEditorConfigService
        arguments:
            - '%ckeditor.default.config%'
            - '@security.authorization_checker'
    validator.notimeo.filenotempty:
        class: Notimeo\CoreBundle\Validator\Constraints\FileNotEmptyValidator
        tags:
            - name: validator.constraint_validator
              alias: file_not_empty_validator
    notimeo.core.twig.extension:
        class: Notimeo\CoreBundle\Twig\CoreExtension
        arguments:
            - '@security.token_storage'
            - '@twig'
            - '@security.authorization_checker'
            - '@router'
            - '@easyadmin.config.manager'
            - '@event_dispatcher'
            - '@doctrine.orm.entity_manager'
            - '@request_stack'
            - '@notimeo.menu_storage'
            - '@translator.default'
            - '@app.breadcrumbs_services'
        public: false
        tags:
            - { name: twig.extension }
    notimeo.core.config_container:
        class: Notimeo\CoreBundle\Services\ConfigContainerService
        arguments:
            - '@doctrine.orm.entity_manager'
    notimeo.core.config_templating:
        class: Notimeo\CoreBundle\Services\ConfigTemplating
        arguments:
            - '@notimeo.core.config_container'
            - '@router'
    notimeo.entity:
        class: Notimeo\CoreBundle\Services\EntityService
    notimeo.entity.related.user:
        class: Notimeo\CoreBundle\Services\EntityRelatedUser
        tags:
            - { name: doctrine.event_subscriber, connection: default }
        arguments:
            - '@security.token_storage'
    notimeo.tree:
        class: Notimeo\CoreBundle\Services\TreeGenerateService
        arguments:
            - '@doctrine'
            - '@notimeo.entity'
    notimeo.core.ckeditor.type:
        class: Notimeo\CoreBundle\Form\Type\CKEditorType
        arguments:
            - '@notimeo.ckeditor_config'
        tags:
            - { name: form.type, alias: 'notimeo.core.ckeditor.type' }
    notimeo.date_subscriber:
        class: Notimeo\CoreBundle\EventListener\DateSubscriber
        tags:
            - { name: doctrine.event_subscriber, connection: default }
    notimeo.ip_subscriber:
        class: Notimeo\CoreBundle\EventListener\IpSubscriber
        arguments:
            - '@request_stack'
        tags:
            - { name: doctrine.event_subscriber, connection: default }
    notimeo.date_listener:
        class: Notimeo\CoreBundle\EventListener\DateListener
        tags:
            - { name: kernel.event_listener, event: easy_admin.pre_update }
    notimeo.date_created_listener:
        class: Notimeo\CoreBundle\EventListener\DateCreatedListener
        tags:
            - { name: kernel.event_listener, event: easy_admin.pre_persist }
    twig.country_extension:
        class: Notimeo\CoreBundle\Twig\CountryExtension
        tags:
            - { name: twig.extension }
    notimeo.core.email:
        class: Notimeo\CoreBundle\Services\EmailService
        arguments:
            - '@notimeo.core.config_container'
            - '@twig'