imports:
    - { resource: rabbit.yml }
    - { resource: redis.yml }

services:
    wallabag_import.chain:
        class: Wallabag\ImportBundle\Import\ImportChain

    wallabag_import.pocket.client:
        alias: 'httplug.client.wallabag_import.pocket.client'

    wallabag_import.pocket.import:
        class: Wallabag\ImportBundle\Import\PocketImport
        arguments:
            - "@doctrine.orm.entity_manager"
            - "@wallabag_core.content_proxy"
            - "@wallabag_core.tags_assigner"
            - "@event_dispatcher"
        calls:
            - [ setClient, [ "@wallabag_import.pocket.client" ] ]
            - [ setLogger, [ "@logger" ]]
        tags:
            -  { name: wallabag_import.import, alias: pocket }

    wallabag_import.wallabag_v1.import:
        class: Wallabag\ImportBundle\Import\WallabagV1Import
        arguments:
            - "@doctrine.orm.entity_manager"
            - "@wallabag_core.content_proxy"
            - "@wallabag_core.tags_assigner"
            - "@event_dispatcher"
            - "%wallabag_core.fetching_error_message_title%"
            - "%wallabag_core.fetching_error_message%"
        calls:
            - [ setLogger, [ "@logger" ]]
        tags:
            -  { name: wallabag_import.import, alias: wallabag_v1 }

    wallabag_import.wallabag_v2.import:
        class: Wallabag\ImportBundle\Import\WallabagV2Import
        arguments:
            - "@doctrine.orm.entity_manager"
            - "@wallabag_core.content_proxy"
            - "@wallabag_core.tags_assigner"
            - "@event_dispatcher"
        calls:
            - [ setLogger, [ "@logger" ]]
        tags:
            -  { name: wallabag_import.import, alias: wallabag_v2 }

    wallabag_import.elcurator.import:
        class: Wallabag\ImportBundle\Import\ElcuratorImport
        arguments:
            - "@doctrine.orm.entity_manager"
            - "@wallabag_core.content_proxy"
            - "@wallabag_core.tags_assigner"
            - "@event_dispatcher"
        calls:
            - [ setLogger, [ "@logger" ]]
        tags:
            -  { name: wallabag_import.import, alias: elcurator }

    wallabag_import.readability.import:
        class: Wallabag\ImportBundle\Import\ReadabilityImport
        arguments:
            - "@doctrine.orm.entity_manager"
            - "@wallabag_core.content_proxy"
            - "@wallabag_core.tags_assigner"
            - "@event_dispatcher"
        calls:
            - [ setLogger, [ "@logger" ]]
        tags:
            -  { name: wallabag_import.import, alias: readability }

    wallabag_import.instapaper.import:
        class: Wallabag\ImportBundle\Import\InstapaperImport
        arguments:
            - "@doctrine.orm.entity_manager"
            - "@wallabag_core.content_proxy"
            - "@wallabag_core.tags_assigner"
            - "@event_dispatcher"
        calls:
            - [ setLogger, [ "@logger" ]]
        tags:
            -  { name: wallabag_import.import, alias: instapaper }

    wallabag_import.pinboard.import:
        class: Wallabag\ImportBundle\Import\PinboardImport
        arguments:
            - "@doctrine.orm.entity_manager"
            - "@wallabag_core.content_proxy"
            - "@wallabag_core.tags_assigner"
            - "@event_dispatcher"
        calls:
            - [ setLogger, [ "@logger" ]]
        tags:
            -  { name: wallabag_import.import, alias: pinboard }

    wallabag_import.firefox.import:
        class: Wallabag\ImportBundle\Import\FirefoxImport
        arguments:
            - "@doctrine.orm.entity_manager"
            - "@wallabag_core.content_proxy"
            - "@wallabag_core.tags_assigner"
            - "@event_dispatcher"
        calls:
            - [ setLogger, [ "@logger" ]]
        tags:
            -  { name: wallabag_import.import, alias: firefox }
    wallabag_import.chrome.import:
        class: Wallabag\ImportBundle\Import\ChromeImport
        arguments:
            - "@doctrine.orm.entity_manager"
            - "@wallabag_core.content_proxy"
            - "@wallabag_core.tags_assigner"
            - "@event_dispatcher"
        calls:
            - [ setLogger, [ "@logger" ]]
        tags:
            -  { name: wallabag_import.import, alias: chrome }

    wallabag_import.command.import:
        class: Wallabag\ImportBundle\Command\ImportCommand
        tags: ['console.command']

    wallabag_import.command.redis_worker:
        class: Wallabag\ImportBundle\Command\RedisWorkerCommand
        tags: ['console.command']
