From 73bdd66c84888658e532ba008520cc5139ad4e7f Mon Sep 17 00:00:00 2001 From: Yassine Guedidi Date: Sat, 27 Aug 2022 18:48:25 +0200 Subject: [PATCH 1/9] Move services and parameters to app services --- .../config/parameters_addons.yml | 0 app/config/services.yml | 437 ++++++++++++++++++ .../config/services_rabbit.yml | 0 .../config/services_redis.yml | 0 .../WallabagCoreExtension.php | 6 - .../CoreBundle/Resources/config/services.yml | 246 ---------- .../WallabagImportExtension.php | 5 - .../Resources/config/services.yml | 137 ------ .../WallabagUserExtension.php | 5 - .../UserBundle/Resources/config/services.yml | 53 --- 10 files changed, 437 insertions(+), 452 deletions(-) rename src/Wallabag/CoreBundle/Resources/config/parameters.yml => app/config/parameters_addons.yml (100%) rename src/Wallabag/ImportBundle/Resources/config/rabbit.yml => app/config/services_rabbit.yml (100%) rename src/Wallabag/ImportBundle/Resources/config/redis.yml => app/config/services_redis.yml (100%) delete mode 100644 src/Wallabag/CoreBundle/Resources/config/services.yml delete mode 100644 src/Wallabag/ImportBundle/Resources/config/services.yml delete mode 100644 src/Wallabag/UserBundle/Resources/config/services.yml diff --git a/src/Wallabag/CoreBundle/Resources/config/parameters.yml b/app/config/parameters_addons.yml similarity index 100% rename from src/Wallabag/CoreBundle/Resources/config/parameters.yml rename to app/config/parameters_addons.yml diff --git a/app/config/services.yml b/app/config/services.yml index b0f704e53..e4550582e 100644 --- a/app/config/services.yml +++ b/app/config/services.yml @@ -1,3 +1,8 @@ +imports: + - { resource: services_rabbit.yml } + - { resource: services_redis.yml } + - { resource: parameters_addons.yml } + parameters: lexik_form_filter.get_filter.doctrine_orm.class: Wallabag\CoreBundle\Event\Subscriber\CustomDoctrineORMSubscriber @@ -45,3 +50,435 @@ services: - 'craue_config' - 0 - '%kernel.cache_dir%' + + Wallabag\CoreBundle\Helper\DetectActiveTheme: + class: Wallabag\CoreBundle\Helper\DetectActiveTheme + arguments: + - "@security.token_storage" + - "%wallabag_core.theme%" + + # custom form type + Wallabag\CoreBundle\Form\Type\ConfigType: + class: Wallabag\CoreBundle\Form\Type\ConfigType + arguments: + - "%liip_theme.themes%" + - "%wallabag_core.languages%" + tags: + - { name: form.type } + + Wallabag\CoreBundle\Form\Type\EntryFilterType: + class: Wallabag\CoreBundle\Form\Type\EntryFilterType + arguments: + - '@Wallabag\CoreBundle\Repository\EntryRepository' + - "@security.token_storage" + tags: + - { name: form.type } + + Wallabag\CoreBundle\ParamConverter\UsernameFeedTokenConverter: + class: Wallabag\CoreBundle\ParamConverter\UsernameFeedTokenConverter + tags: + - { name: request.param_converter, converter: username_feed_token_converter } + arguments: + - "@doctrine" + + Wallabag\CoreBundle\Event\Subscriber\TablePrefixSubscriber: + class: Wallabag\CoreBundle\Event\Subscriber\TablePrefixSubscriber + arguments: + - "%database_table_prefix%" + tags: + - { name: doctrine.event_subscriber } + + Graby\Graby: + class: Graby\Graby + arguments: + - + error_message: '%wallabag_core.fetching_error_message%' + error_message_title: '%wallabag_core.fetching_error_message_title%' + - "@wallabag_core.http_client" + - '@Graby\SiteConfig\ConfigBuilder' + calls: + - [ setLogger, [ "@logger" ] ] + tags: + - { name: monolog.logger, channel: graby } + + Graby\SiteConfig\ConfigBuilder: + class: Graby\SiteConfig\ConfigBuilder + arguments: + - {} + - "@logger" + + wallabag_core.http_client: + alias: 'httplug.client.wallabag_core' + + Wallabag\CoreBundle\GuzzleSiteAuthenticator\GrabySiteConfigBuilder: + class: Wallabag\CoreBundle\GuzzleSiteAuthenticator\GrabySiteConfigBuilder + arguments: + - '@Graby\SiteConfig\ConfigBuilder' + - "@security.token_storage" + - '@Wallabag\CoreBundle\Repository\SiteCredentialRepository' + - '@logger' + tags: + - { name: monolog.logger, channel: graby } + + # service alias override + bd_guzzle_site_authenticator.site_config_builder: + alias: Wallabag\CoreBundle\GuzzleSiteAuthenticator\GrabySiteConfigBuilder + + Wallabag\CoreBundle\Helper\HttpClientFactory: + class: Wallabag\CoreBundle\Helper\HttpClientFactory + arguments: + - '@Wallabag\CoreBundle\Helper\FileCookieJar' + - '@=service(''craue_config'').get(''restricted_access'')' + - '@logger' + calls: + - ["addSubscriber", ["@bd_guzzle_site_authenticator.authenticator_subscriber"]] + + Wallabag\CoreBundle\Helper\FileCookieJar: + class: Wallabag\CoreBundle\Helper\FileCookieJar + arguments: + - "@logger" + - "%kernel.cache_dir%/cookiejar.json" + + Wallabag\CoreBundle\Helper\ContentProxy: + class: Wallabag\CoreBundle\Helper\ContentProxy + arguments: + - '@Graby\Graby' + - '@Wallabag\CoreBundle\Helper\RuleBasedTagger' + - '@Wallabag\CoreBundle\Helper\RuleBasedIgnoreOriginProcessor' + - "@validator" + - "@logger" + - '%wallabag_core.fetching_error_message%' + - '@=service(''craue_config'').get(''store_article_headers'')' + + Wallabag\CoreBundle\Helper\TagsAssigner: + class: Wallabag\CoreBundle\Helper\TagsAssigner + arguments: + - '@Wallabag\CoreBundle\Repository\TagRepository' + + Wallabag\CoreBundle\Helper\RuleBasedTagger: + class: Wallabag\CoreBundle\Helper\RuleBasedTagger + arguments: + - "@rulerz" + - '@Wallabag\CoreBundle\Repository\TagRepository' + - '@Wallabag\CoreBundle\Repository\EntryRepository' + - "@logger" + + Wallabag\CoreBundle\Helper\RuleBasedIgnoreOriginProcessor: + class: Wallabag\CoreBundle\Helper\RuleBasedIgnoreOriginProcessor + arguments: + - "@rulerz" + - "@logger" + - '@Wallabag\CoreBundle\Repository\IgnoreOriginInstanceRuleRepository' + + # repository as a service + Wallabag\CoreBundle\Repository\EntryRepository: + class: Wallabag\CoreBundle\Repository\EntryRepository + factory: [ "@doctrine.orm.default_entity_manager", getRepository ] + arguments: + - 'Wallabag\CoreBundle\Entity\Entry' + + Wallabag\CoreBundle\Repository\TagRepository: + class: Wallabag\CoreBundle\Repository\TagRepository + factory: [ "@doctrine.orm.default_entity_manager", getRepository ] + arguments: + - 'Wallabag\CoreBundle\Entity\Tag' + + Wallabag\CoreBundle\Repository\SiteCredentialRepository: + class: Wallabag\CoreBundle\Repository\SiteCredentialRepository + factory: [ "@doctrine.orm.default_entity_manager", getRepository ] + arguments: + - 'Wallabag\CoreBundle\Entity\SiteCredential' + calls: + - [ setCrypto, [ '@Wallabag\CoreBundle\Helper\CryptoProxy' ] ] + + Wallabag\CoreBundle\Repository\IgnoreOriginInstanceRuleRepository: + class: Wallabag\CoreBundle\Repository\IgnoreOriginInstanceRuleRepository + factory: [ "@doctrine.orm.default_entity_manager", getRepository ] + arguments: + - 'Wallabag\CoreBundle\Entity\IgnoreOriginInstanceRule' + + Wallabag\CoreBundle\Helper\EntriesExport: + class: Wallabag\CoreBundle\Helper\EntriesExport + arguments: + - "@translator" + - '%domain_name%' + - web/img/appicon/apple-touch-icon-152.png + - "@security.token_storage" + + Wallabag\CoreBundle\Operator\PHP\Matches: + class: Wallabag\CoreBundle\Operator\PHP\Matches + tags: + - { name: rulerz.operator, target: native, operator: matches } + + Wallabag\CoreBundle\Operator\Doctrine\Matches: + class: Wallabag\CoreBundle\Operator\Doctrine\Matches + tags: + - { name: rulerz.operator, target: doctrine, operator: matches, inline: true } + + Wallabag\CoreBundle\Operator\PHP\NotMatches: + class: Wallabag\CoreBundle\Operator\PHP\NotMatches + tags: + - { name: rulerz.operator, target: native, operator: notmatches } + + Wallabag\CoreBundle\Operator\Doctrine\NotMatches: + class: Wallabag\CoreBundle\Operator\Doctrine\NotMatches + tags: + - { name: rulerz.operator, target: doctrine, operator: notmatches, inline: true } + + Wallabag\CoreBundle\Operator\PHP\PatternMatches: + class: Wallabag\CoreBundle\Operator\PHP\PatternMatches + tags: + - { name: rulerz.operator, target: native, operator: "~" } + + Wallabag\CoreBundle\Helper\Redirect: + class: Wallabag\CoreBundle\Helper\Redirect + arguments: + - "@router" + - "@security.token_storage" + + Wallabag\CoreBundle\Helper\PreparePagerForEntries: + class: Wallabag\CoreBundle\Helper\PreparePagerForEntries + arguments: + - "@security.token_storage" + - "@router" + + Predis\Client: + class: Predis\Client + arguments: + - + scheme: '%redis_scheme%' + host: '%redis_host%' + port: '%redis_port%' + path: '%redis_path%' + password: '%redis_password%' + + Wallabag\CoreBundle\Controller\ExceptionController: + class: Wallabag\CoreBundle\Controller\ExceptionController + public: true + arguments: + - '@twig' + - '%kernel.debug%' + + Wallabag\CoreBundle\Event\Subscriber\SQLiteCascadeDeleteSubscriber: + class: Wallabag\CoreBundle\Event\Subscriber\SQLiteCascadeDeleteSubscriber + arguments: + - "@doctrine" + tags: + - { name: doctrine.event_subscriber } + + Wallabag\CoreBundle\Event\Subscriber\DownloadImagesSubscriber: + class: Wallabag\CoreBundle\Event\Subscriber\DownloadImagesSubscriber + arguments: + - "@doctrine.orm.default_entity_manager" + - '@Wallabag\CoreBundle\Helper\DownloadImages' + - '@=service(''craue_config'').get(''download_images_enabled'')' + - "@logger" + tags: + - { name: kernel.event_subscriber } + + Wallabag\CoreBundle\Helper\DownloadImages: + class: Wallabag\CoreBundle\Helper\DownloadImages + arguments: + - "@wallabag_core.entry.download_images.client" + - "%kernel.project_dir%/web/assets/images" + - '%domain_name%' + - "@logger" + + wallabag_core.entry.download_images.client: + alias: 'httplug.client.wallabag_core.entry.download_images' + + Wallabag\CoreBundle\Helper\CryptoProxy: + class: Wallabag\CoreBundle\Helper\CryptoProxy + arguments: + - "%wallabag_core.site_credentials.encryption_key_path%" + - "@logger" + + Wallabag\CoreBundle\Command\: + resource: ../../src/Wallabag/CoreBundle/Command/* + autoconfigure: true + + Wallabag\UserBundle\Mailer\AuthCodeMailer: + class: Wallabag\UserBundle\Mailer\AuthCodeMailer + arguments: + - "@mailer" + - "@twig" + - "%scheb_two_factor.email.sender_email%" + - "%scheb_two_factor.email.sender_name%" + - '@=service(''craue_config'').get(''wallabag_support_url'')' + - '%domain_name%' + + Wallabag\UserBundle\EventListener\RegistrationListener: + arguments: + - '%fosuser_registration%' + - '@router' + tags: + - { name: kernel.event_subscriber } + + Wallabag\UserBundle\EventListener\PasswordResettingListener: + class: Wallabag\UserBundle\EventListener\PasswordResettingListener + arguments: + - "@router" + tags: + - { name: kernel.event_subscriber } + + Wallabag\UserBundle\Repository\UserRepository: + class: Wallabag\UserBundle\Repository\UserRepository + factory: [ "@doctrine.orm.default_entity_manager", getRepository ] + arguments: + - 'Wallabag\UserBundle\Entity\User' + + Wallabag\UserBundle\EventListener\CreateConfigListener: + class: Wallabag\UserBundle\EventListener\CreateConfigListener + arguments: + - "@doctrine.orm.entity_manager" + - "%wallabag_core.theme%" + - "%wallabag_core.items_on_page%" + - "%wallabag_core.feed_limit%" + - "%wallabag_core.language%" + - "%wallabag_core.reading_speed%" + - "%wallabag_core.action_mark_as_read%" + - "%wallabag_core.list_mode%" + - "@session" + tags: + - { name: kernel.event_subscriber } + + Wallabag\UserBundle\EventListener\AuthenticationFailureListener: + class: Wallabag\UserBundle\EventListener\AuthenticationFailureListener + arguments: + - "@request_stack" + - "@logger" + tags: + - { name: kernel.event_listener, event: security.authentication.failure, method: onAuthenticationFailure } + + Wallabag\ImportBundle\Import\ImportChain: + class: Wallabag\ImportBundle\Import\ImportChain + + wallabag_import.pocket.client: + alias: 'httplug.client.wallabag_import.pocket.client' + + Wallabag\ImportBundle\Import\PocketImport: + class: Wallabag\ImportBundle\Import\PocketImport + arguments: + - "@doctrine.orm.entity_manager" + - '@Wallabag\CoreBundle\Helper\ContentProxy' + - '@Wallabag\CoreBundle\Helper\TagsAssigner' + - "@event_dispatcher" + calls: + - [ setClient, [ "@wallabag_import.pocket.client" ] ] + - [ setLogger, [ "@logger" ]] + tags: + - { name: wallabag_import.import, alias: pocket } + + Wallabag\ImportBundle\Import\WallabagV1Import: + class: Wallabag\ImportBundle\Import\WallabagV1Import + arguments: + - "@doctrine.orm.entity_manager" + - '@Wallabag\CoreBundle\Helper\ContentProxy' + - '@Wallabag\CoreBundle\Helper\TagsAssigner' + - "@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\ImportBundle\Import\WallabagV2Import: + class: Wallabag\ImportBundle\Import\WallabagV2Import + arguments: + - "@doctrine.orm.entity_manager" + - '@Wallabag\CoreBundle\Helper\ContentProxy' + - '@Wallabag\CoreBundle\Helper\TagsAssigner' + - "@event_dispatcher" + calls: + - [ setLogger, [ "@logger" ]] + tags: + - { name: wallabag_import.import, alias: wallabag_v2 } + + Wallabag\ImportBundle\Import\ElcuratorImport: + class: Wallabag\ImportBundle\Import\ElcuratorImport + arguments: + - "@doctrine.orm.entity_manager" + - '@Wallabag\CoreBundle\Helper\ContentProxy' + - '@Wallabag\CoreBundle\Helper\TagsAssigner' + - "@event_dispatcher" + calls: + - [ setLogger, [ "@logger" ]] + tags: + - { name: wallabag_import.import, alias: elcurator } + + Wallabag\ImportBundle\Import\ReadabilityImport: + class: Wallabag\ImportBundle\Import\ReadabilityImport + arguments: + - "@doctrine.orm.entity_manager" + - '@Wallabag\CoreBundle\Helper\ContentProxy' + - '@Wallabag\CoreBundle\Helper\TagsAssigner' + - "@event_dispatcher" + calls: + - [ setLogger, [ "@logger" ]] + tags: + - { name: wallabag_import.import, alias: readability } + + Wallabag\ImportBundle\Import\InstapaperImport: + class: Wallabag\ImportBundle\Import\InstapaperImport + arguments: + - "@doctrine.orm.entity_manager" + - '@Wallabag\CoreBundle\Helper\ContentProxy' + - '@Wallabag\CoreBundle\Helper\TagsAssigner' + - "@event_dispatcher" + calls: + - [ setLogger, [ "@logger" ]] + tags: + - { name: wallabag_import.import, alias: instapaper } + + Wallabag\ImportBundle\Import\PinboardImport: + class: Wallabag\ImportBundle\Import\PinboardImport + arguments: + - "@doctrine.orm.entity_manager" + - '@Wallabag\CoreBundle\Helper\ContentProxy' + - '@Wallabag\CoreBundle\Helper\TagsAssigner' + - "@event_dispatcher" + calls: + - [ setLogger, [ "@logger" ]] + tags: + - { name: wallabag_import.import, alias: pinboard } + + Wallabag\ImportBundle\Import\DeliciousImport: + class: Wallabag\ImportBundle\Import\DeliciousImport + arguments: + - "@doctrine.orm.entity_manager" + - '@Wallabag\CoreBundle\Helper\ContentProxy' + - '@Wallabag\CoreBundle\Helper\TagsAssigner' + - "@event_dispatcher" + calls: + - [ setLogger, [ "@logger" ]] + tags: + - { name: wallabag_import.import, alias: delicious } + + Wallabag\ImportBundle\Import\FirefoxImport: + class: Wallabag\ImportBundle\Import\FirefoxImport + arguments: + - "@doctrine.orm.entity_manager" + - '@Wallabag\CoreBundle\Helper\ContentProxy' + - '@Wallabag\CoreBundle\Helper\TagsAssigner' + - "@event_dispatcher" + calls: + - [ setLogger, [ "@logger" ]] + tags: + - { name: wallabag_import.import, alias: firefox } + + Wallabag\ImportBundle\Import\ChromeImport: + class: Wallabag\ImportBundle\Import\ChromeImport + arguments: + - "@doctrine.orm.entity_manager" + - '@Wallabag\CoreBundle\Helper\ContentProxy' + - '@Wallabag\CoreBundle\Helper\TagsAssigner' + - "@event_dispatcher" + calls: + - [ setLogger, [ "@logger" ]] + tags: + - { name: wallabag_import.import, alias: chrome } + + Wallabag\ImportBundle\Command\: + resource: ../../src/Wallabag/ImportBundle/Command/* + autoconfigure: true diff --git a/src/Wallabag/ImportBundle/Resources/config/rabbit.yml b/app/config/services_rabbit.yml similarity index 100% rename from src/Wallabag/ImportBundle/Resources/config/rabbit.yml rename to app/config/services_rabbit.yml diff --git a/src/Wallabag/ImportBundle/Resources/config/redis.yml b/app/config/services_redis.yml similarity index 100% rename from src/Wallabag/ImportBundle/Resources/config/redis.yml rename to app/config/services_redis.yml diff --git a/src/Wallabag/CoreBundle/DependencyInjection/WallabagCoreExtension.php b/src/Wallabag/CoreBundle/DependencyInjection/WallabagCoreExtension.php index af91e5886..ac47656c3 100644 --- a/src/Wallabag/CoreBundle/DependencyInjection/WallabagCoreExtension.php +++ b/src/Wallabag/CoreBundle/DependencyInjection/WallabagCoreExtension.php @@ -2,9 +2,7 @@ namespace Wallabag\CoreBundle\DependencyInjection; -use Symfony\Component\Config\FileLocator; use Symfony\Component\DependencyInjection\ContainerBuilder; -use Symfony\Component\DependencyInjection\Loader; use Symfony\Component\HttpKernel\DependencyInjection\Extension; class WallabagCoreExtension extends Extension @@ -31,10 +29,6 @@ class WallabagCoreExtension extends Extension $container->setParameter('wallabag_core.default_internal_settings', $config['default_internal_settings']); $container->setParameter('wallabag_core.site_credentials.encryption_key_path', $config['encryption_key_path']); $container->setParameter('wallabag_core.default_ignore_origin_instance_rules', $config['default_ignore_origin_instance_rules']); - - $loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config')); - $loader->load('services.yml'); - $loader->load('parameters.yml'); } public function getAlias() diff --git a/src/Wallabag/CoreBundle/Resources/config/services.yml b/src/Wallabag/CoreBundle/Resources/config/services.yml deleted file mode 100644 index a3d912839..000000000 --- a/src/Wallabag/CoreBundle/Resources/config/services.yml +++ /dev/null @@ -1,246 +0,0 @@ -services: - Wallabag\CoreBundle\Helper\DetectActiveTheme: - class: Wallabag\CoreBundle\Helper\DetectActiveTheme - arguments: - - "@security.token_storage" - - "%wallabag_core.theme%" - - # custom form type - Wallabag\CoreBundle\Form\Type\ConfigType: - class: Wallabag\CoreBundle\Form\Type\ConfigType - arguments: - - "%liip_theme.themes%" - - "%wallabag_core.languages%" - tags: - - { name: form.type } - - Wallabag\CoreBundle\Form\Type\EntryFilterType: - class: Wallabag\CoreBundle\Form\Type\EntryFilterType - arguments: - - '@Wallabag\CoreBundle\Repository\EntryRepository' - - "@security.token_storage" - tags: - - { name: form.type } - - Wallabag\CoreBundle\ParamConverter\UsernameFeedTokenConverter: - class: Wallabag\CoreBundle\ParamConverter\UsernameFeedTokenConverter - tags: - - { name: request.param_converter, converter: username_feed_token_converter } - arguments: - - "@doctrine" - - Wallabag\CoreBundle\Event\Subscriber\TablePrefixSubscriber: - class: Wallabag\CoreBundle\Event\Subscriber\TablePrefixSubscriber - arguments: - - "%database_table_prefix%" - tags: - - { name: doctrine.event_subscriber } - - Graby\Graby: - class: Graby\Graby - arguments: - - - error_message: '%wallabag_core.fetching_error_message%' - error_message_title: '%wallabag_core.fetching_error_message_title%' - - "@wallabag_core.http_client" - - '@Graby\SiteConfig\ConfigBuilder' - calls: - - [ setLogger, [ "@logger" ] ] - tags: - - { name: monolog.logger, channel: graby } - - Graby\SiteConfig\ConfigBuilder: - class: Graby\SiteConfig\ConfigBuilder - arguments: - - {} - - "@logger" - - wallabag_core.http_client: - alias: 'httplug.client.wallabag_core' - - Wallabag\CoreBundle\GuzzleSiteAuthenticator\GrabySiteConfigBuilder: - class: Wallabag\CoreBundle\GuzzleSiteAuthenticator\GrabySiteConfigBuilder - arguments: - - '@Graby\SiteConfig\ConfigBuilder' - - "@security.token_storage" - - '@Wallabag\CoreBundle\Repository\SiteCredentialRepository' - - '@logger' - tags: - - { name: monolog.logger, channel: graby } - - # service alias override - bd_guzzle_site_authenticator.site_config_builder: - alias: Wallabag\CoreBundle\GuzzleSiteAuthenticator\GrabySiteConfigBuilder - - Wallabag\CoreBundle\Helper\HttpClientFactory: - class: Wallabag\CoreBundle\Helper\HttpClientFactory - arguments: - - '@Wallabag\CoreBundle\Helper\FileCookieJar' - - '@=service(''craue_config'').get(''restricted_access'')' - - '@logger' - calls: - - ["addSubscriber", ["@bd_guzzle_site_authenticator.authenticator_subscriber"]] - - Wallabag\CoreBundle\Helper\FileCookieJar: - class: Wallabag\CoreBundle\Helper\FileCookieJar - arguments: - - "@logger" - - "%kernel.cache_dir%/cookiejar.json" - - Wallabag\CoreBundle\Helper\ContentProxy: - class: Wallabag\CoreBundle\Helper\ContentProxy - arguments: - - '@Graby\Graby' - - '@Wallabag\CoreBundle\Helper\RuleBasedTagger' - - '@Wallabag\CoreBundle\Helper\RuleBasedIgnoreOriginProcessor' - - "@validator" - - "@logger" - - '%wallabag_core.fetching_error_message%' - - '@=service(''craue_config'').get(''store_article_headers'')' - - Wallabag\CoreBundle\Helper\TagsAssigner: - class: Wallabag\CoreBundle\Helper\TagsAssigner - arguments: - - '@Wallabag\CoreBundle\Repository\TagRepository' - - Wallabag\CoreBundle\Helper\RuleBasedTagger: - class: Wallabag\CoreBundle\Helper\RuleBasedTagger - arguments: - - "@rulerz" - - '@Wallabag\CoreBundle\Repository\TagRepository' - - '@Wallabag\CoreBundle\Repository\EntryRepository' - - "@logger" - - Wallabag\CoreBundle\Helper\RuleBasedIgnoreOriginProcessor: - class: Wallabag\CoreBundle\Helper\RuleBasedIgnoreOriginProcessor - arguments: - - "@rulerz" - - "@logger" - - '@Wallabag\CoreBundle\Repository\IgnoreOriginInstanceRuleRepository' - - # repository as a service - Wallabag\CoreBundle\Repository\EntryRepository: - class: Wallabag\CoreBundle\Repository\EntryRepository - factory: [ "@doctrine.orm.default_entity_manager", getRepository ] - arguments: - - 'Wallabag\CoreBundle\Entity\Entry' - - Wallabag\CoreBundle\Repository\TagRepository: - class: Wallabag\CoreBundle\Repository\TagRepository - factory: [ "@doctrine.orm.default_entity_manager", getRepository ] - arguments: - - 'Wallabag\CoreBundle\Entity\Tag' - - Wallabag\CoreBundle\Repository\SiteCredentialRepository: - class: Wallabag\CoreBundle\Repository\SiteCredentialRepository - factory: [ "@doctrine.orm.default_entity_manager", getRepository ] - arguments: - - 'Wallabag\CoreBundle\Entity\SiteCredential' - calls: - - [ setCrypto, [ '@Wallabag\CoreBundle\Helper\CryptoProxy' ] ] - - Wallabag\CoreBundle\Repository\IgnoreOriginInstanceRuleRepository: - class: Wallabag\CoreBundle\Repository\IgnoreOriginInstanceRuleRepository - factory: [ "@doctrine.orm.default_entity_manager", getRepository ] - arguments: - - 'Wallabag\CoreBundle\Entity\IgnoreOriginInstanceRule' - - Wallabag\CoreBundle\Helper\EntriesExport: - class: Wallabag\CoreBundle\Helper\EntriesExport - arguments: - - "@translator" - - '%domain_name%' - - web/img/appicon/apple-touch-icon-152.png - - "@security.token_storage" - - Wallabag\CoreBundle\Operator\PHP\Matches: - class: Wallabag\CoreBundle\Operator\PHP\Matches - tags: - - { name: rulerz.operator, target: native, operator: matches } - - Wallabag\CoreBundle\Operator\Doctrine\Matches: - class: Wallabag\CoreBundle\Operator\Doctrine\Matches - tags: - - { name: rulerz.operator, target: doctrine, operator: matches, inline: true } - - Wallabag\CoreBundle\Operator\PHP\NotMatches: - class: Wallabag\CoreBundle\Operator\PHP\NotMatches - tags: - - { name: rulerz.operator, target: native, operator: notmatches } - - Wallabag\CoreBundle\Operator\Doctrine\NotMatches: - class: Wallabag\CoreBundle\Operator\Doctrine\NotMatches - tags: - - { name: rulerz.operator, target: doctrine, operator: notmatches, inline: true } - - Wallabag\CoreBundle\Operator\PHP\PatternMatches: - class: Wallabag\CoreBundle\Operator\PHP\PatternMatches - tags: - - { name: rulerz.operator, target: native, operator: "~" } - - Wallabag\CoreBundle\Helper\Redirect: - class: Wallabag\CoreBundle\Helper\Redirect - arguments: - - "@router" - - "@security.token_storage" - - Wallabag\CoreBundle\Helper\PreparePagerForEntries: - class: Wallabag\CoreBundle\Helper\PreparePagerForEntries - arguments: - - "@security.token_storage" - - "@router" - - Predis\Client: - class: Predis\Client - arguments: - - - scheme: '%redis_scheme%' - host: '%redis_host%' - port: '%redis_port%' - path: '%redis_path%' - password: '%redis_password%' - - Wallabag\CoreBundle\Controller\ExceptionController: - class: Wallabag\CoreBundle\Controller\ExceptionController - public: true - arguments: - - '@twig' - - '%kernel.debug%' - - Wallabag\CoreBundle\Event\Subscriber\SQLiteCascadeDeleteSubscriber: - class: Wallabag\CoreBundle\Event\Subscriber\SQLiteCascadeDeleteSubscriber - arguments: - - "@doctrine" - tags: - - { name: doctrine.event_subscriber } - - Wallabag\CoreBundle\Event\Subscriber\DownloadImagesSubscriber: - class: Wallabag\CoreBundle\Event\Subscriber\DownloadImagesSubscriber - arguments: - - "@doctrine.orm.default_entity_manager" - - '@Wallabag\CoreBundle\Helper\DownloadImages' - - '@=service(''craue_config'').get(''download_images_enabled'')' - - "@logger" - tags: - - { name: kernel.event_subscriber } - - Wallabag\CoreBundle\Helper\DownloadImages: - class: Wallabag\CoreBundle\Helper\DownloadImages - arguments: - - "@wallabag_core.entry.download_images.client" - - "%kernel.project_dir%/web/assets/images" - - '%domain_name%' - - "@logger" - - wallabag_core.entry.download_images.client: - alias: 'httplug.client.wallabag_core.entry.download_images' - - Wallabag\CoreBundle\Helper\CryptoProxy: - class: Wallabag\CoreBundle\Helper\CryptoProxy - arguments: - - "%wallabag_core.site_credentials.encryption_key_path%" - - "@logger" - - Wallabag\CoreBundle\Command\: - resource: ../../Command/* - autoconfigure: true diff --git a/src/Wallabag/ImportBundle/DependencyInjection/WallabagImportExtension.php b/src/Wallabag/ImportBundle/DependencyInjection/WallabagImportExtension.php index cab70297b..2aa7d26fa 100644 --- a/src/Wallabag/ImportBundle/DependencyInjection/WallabagImportExtension.php +++ b/src/Wallabag/ImportBundle/DependencyInjection/WallabagImportExtension.php @@ -2,9 +2,7 @@ namespace Wallabag\ImportBundle\DependencyInjection; -use Symfony\Component\Config\FileLocator; use Symfony\Component\DependencyInjection\ContainerBuilder; -use Symfony\Component\DependencyInjection\Loader; use Symfony\Component\HttpKernel\DependencyInjection\Extension; class WallabagImportExtension extends Extension @@ -15,9 +13,6 @@ class WallabagImportExtension extends Extension $config = $this->processConfiguration($configuration, $configs); $container->setParameter('wallabag_import.allow_mimetypes', $config['allow_mimetypes']); $container->setParameter('wallabag_import.resource_dir', $config['resource_dir']); - - $loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config')); - $loader->load('services.yml'); } public function getAlias() diff --git a/src/Wallabag/ImportBundle/Resources/config/services.yml b/src/Wallabag/ImportBundle/Resources/config/services.yml deleted file mode 100644 index 352d7ee6d..000000000 --- a/src/Wallabag/ImportBundle/Resources/config/services.yml +++ /dev/null @@ -1,137 +0,0 @@ -imports: - - { resource: rabbit.yml } - - { resource: redis.yml } - -services: - Wallabag\ImportBundle\Import\ImportChain: - class: Wallabag\ImportBundle\Import\ImportChain - - wallabag_import.pocket.client: - alias: 'httplug.client.wallabag_import.pocket.client' - - Wallabag\ImportBundle\Import\PocketImport: - class: Wallabag\ImportBundle\Import\PocketImport - arguments: - - "@doctrine.orm.entity_manager" - - '@Wallabag\CoreBundle\Helper\ContentProxy' - - '@Wallabag\CoreBundle\Helper\TagsAssigner' - - "@event_dispatcher" - calls: - - [ setClient, [ "@wallabag_import.pocket.client" ] ] - - [ setLogger, [ "@logger" ]] - tags: - - { name: wallabag_import.import, alias: pocket } - - Wallabag\ImportBundle\Import\WallabagV1Import: - class: Wallabag\ImportBundle\Import\WallabagV1Import - arguments: - - "@doctrine.orm.entity_manager" - - '@Wallabag\CoreBundle\Helper\ContentProxy' - - '@Wallabag\CoreBundle\Helper\TagsAssigner' - - "@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\ImportBundle\Import\WallabagV2Import: - class: Wallabag\ImportBundle\Import\WallabagV2Import - arguments: - - "@doctrine.orm.entity_manager" - - '@Wallabag\CoreBundle\Helper\ContentProxy' - - '@Wallabag\CoreBundle\Helper\TagsAssigner' - - "@event_dispatcher" - calls: - - [ setLogger, [ "@logger" ]] - tags: - - { name: wallabag_import.import, alias: wallabag_v2 } - - Wallabag\ImportBundle\Import\ElcuratorImport: - class: Wallabag\ImportBundle\Import\ElcuratorImport - arguments: - - "@doctrine.orm.entity_manager" - - '@Wallabag\CoreBundle\Helper\ContentProxy' - - '@Wallabag\CoreBundle\Helper\TagsAssigner' - - "@event_dispatcher" - calls: - - [ setLogger, [ "@logger" ]] - tags: - - { name: wallabag_import.import, alias: elcurator } - - Wallabag\ImportBundle\Import\ReadabilityImport: - class: Wallabag\ImportBundle\Import\ReadabilityImport - arguments: - - "@doctrine.orm.entity_manager" - - '@Wallabag\CoreBundle\Helper\ContentProxy' - - '@Wallabag\CoreBundle\Helper\TagsAssigner' - - "@event_dispatcher" - calls: - - [ setLogger, [ "@logger" ]] - tags: - - { name: wallabag_import.import, alias: readability } - - Wallabag\ImportBundle\Import\InstapaperImport: - class: Wallabag\ImportBundle\Import\InstapaperImport - arguments: - - "@doctrine.orm.entity_manager" - - '@Wallabag\CoreBundle\Helper\ContentProxy' - - '@Wallabag\CoreBundle\Helper\TagsAssigner' - - "@event_dispatcher" - calls: - - [ setLogger, [ "@logger" ]] - tags: - - { name: wallabag_import.import, alias: instapaper } - - Wallabag\ImportBundle\Import\PinboardImport: - class: Wallabag\ImportBundle\Import\PinboardImport - arguments: - - "@doctrine.orm.entity_manager" - - '@Wallabag\CoreBundle\Helper\ContentProxy' - - '@Wallabag\CoreBundle\Helper\TagsAssigner' - - "@event_dispatcher" - calls: - - [ setLogger, [ "@logger" ]] - tags: - - { name: wallabag_import.import, alias: pinboard } - - Wallabag\ImportBundle\Import\DeliciousImport: - class: Wallabag\ImportBundle\Import\DeliciousImport - arguments: - - "@doctrine.orm.entity_manager" - - '@Wallabag\CoreBundle\Helper\ContentProxy' - - '@Wallabag\CoreBundle\Helper\TagsAssigner' - - "@event_dispatcher" - calls: - - [ setLogger, [ "@logger" ]] - tags: - - { name: wallabag_import.import, alias: delicious } - - Wallabag\ImportBundle\Import\FirefoxImport: - class: Wallabag\ImportBundle\Import\FirefoxImport - arguments: - - "@doctrine.orm.entity_manager" - - '@Wallabag\CoreBundle\Helper\ContentProxy' - - '@Wallabag\CoreBundle\Helper\TagsAssigner' - - "@event_dispatcher" - calls: - - [ setLogger, [ "@logger" ]] - tags: - - { name: wallabag_import.import, alias: firefox } - - Wallabag\ImportBundle\Import\ChromeImport: - class: Wallabag\ImportBundle\Import\ChromeImport - arguments: - - "@doctrine.orm.entity_manager" - - '@Wallabag\CoreBundle\Helper\ContentProxy' - - '@Wallabag\CoreBundle\Helper\TagsAssigner' - - "@event_dispatcher" - calls: - - [ setLogger, [ "@logger" ]] - tags: - - { name: wallabag_import.import, alias: chrome } - - Wallabag\ImportBundle\Command\: - resource: ../../Command/* - autoconfigure: true diff --git a/src/Wallabag/UserBundle/DependencyInjection/WallabagUserExtension.php b/src/Wallabag/UserBundle/DependencyInjection/WallabagUserExtension.php index eb2870127..569ad6012 100644 --- a/src/Wallabag/UserBundle/DependencyInjection/WallabagUserExtension.php +++ b/src/Wallabag/UserBundle/DependencyInjection/WallabagUserExtension.php @@ -2,9 +2,7 @@ namespace Wallabag\UserBundle\DependencyInjection; -use Symfony\Component\Config\FileLocator; use Symfony\Component\DependencyInjection\ContainerBuilder; -use Symfony\Component\DependencyInjection\Loader; use Symfony\Component\HttpKernel\DependencyInjection\Extension; class WallabagUserExtension extends Extension @@ -13,9 +11,6 @@ class WallabagUserExtension extends Extension { $configuration = new Configuration(); $config = $this->processConfiguration($configuration, $configs); - - $loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config')); - $loader->load('services.yml'); } public function getAlias() diff --git a/src/Wallabag/UserBundle/Resources/config/services.yml b/src/Wallabag/UserBundle/Resources/config/services.yml deleted file mode 100644 index 5ec400a85..000000000 --- a/src/Wallabag/UserBundle/Resources/config/services.yml +++ /dev/null @@ -1,53 +0,0 @@ -services: - Wallabag\UserBundle\Mailer\AuthCodeMailer: - class: Wallabag\UserBundle\Mailer\AuthCodeMailer - arguments: - - "@mailer" - - "@twig" - - "%scheb_two_factor.email.sender_email%" - - "%scheb_two_factor.email.sender_name%" - - '@=service(''craue_config'').get(''wallabag_support_url'')' - - '%domain_name%' - - Wallabag\UserBundle\EventListener\RegistrationListener: - arguments: - - '%fosuser_registration%' - - '@router' - tags: - - { name: kernel.event_subscriber } - - Wallabag\UserBundle\EventListener\PasswordResettingListener: - class: Wallabag\UserBundle\EventListener\PasswordResettingListener - arguments: - - "@router" - tags: - - { name: kernel.event_subscriber } - - Wallabag\UserBundle\Repository\UserRepository: - class: Wallabag\UserBundle\Repository\UserRepository - factory: [ "@doctrine.orm.default_entity_manager", getRepository ] - arguments: - - 'Wallabag\UserBundle\Entity\User' - - Wallabag\UserBundle\EventListener\CreateConfigListener: - class: Wallabag\UserBundle\EventListener\CreateConfigListener - arguments: - - "@doctrine.orm.entity_manager" - - "%wallabag_core.theme%" - - "%wallabag_core.items_on_page%" - - "%wallabag_core.feed_limit%" - - "%wallabag_core.language%" - - "%wallabag_core.reading_speed%" - - "%wallabag_core.action_mark_as_read%" - - "%wallabag_core.list_mode%" - - "@session" - tags: - - { name: kernel.event_subscriber } - - Wallabag\UserBundle\EventListener\AuthenticationFailureListener: - class: Wallabag\UserBundle\EventListener\AuthenticationFailureListener - arguments: - - "@request_stack" - - "@logger" - tags: - - { name: kernel.event_listener, event: security.authentication.failure, method: onAuthenticationFailure } From 76a51335455e112fee9ad312b2a7c954eb64c3ac Mon Sep 17 00:00:00 2001 From: Yassine Guedidi Date: Sat, 27 Aug 2022 19:26:16 +0200 Subject: [PATCH 2/9] Enable autowire and autoconfigure --- app/config/services.yml | 62 ++++------------------------------ app/config/services_rabbit.yml | 5 +++ app/config/services_redis.yml | 5 +++ 3 files changed, 16 insertions(+), 56 deletions(-) diff --git a/app/config/services.yml b/app/config/services.yml index e4550582e..d112a3b65 100644 --- a/app/config/services.yml +++ b/app/config/services.yml @@ -7,13 +7,17 @@ parameters: lexik_form_filter.get_filter.doctrine_orm.class: Wallabag\CoreBundle\Event\Subscriber\CustomDoctrineORMSubscriber services: + _defaults: + autowire: true + autoconfigure: true + public: true + Twig_Extensions_Extension_Text: class: Twig_Extensions_Extension_Text tags: - { name: twig.extension } Wallabag\CoreBundle\Twig\WallabagExtension: - class: Wallabag\CoreBundle\Twig\WallabagExtension public: false arguments: - '@Wallabag\CoreBundle\Repository\EntryRepository' @@ -26,19 +30,16 @@ services: - { name: twig.extension } MatomoTwigExtension\MatomoTwigExtension: - class: MatomoTwigExtension\MatomoTwigExtension public: false tags: - { name: twig.extension } Wallabag\CoreBundle\Event\Listener\LocaleListener: - class: Wallabag\CoreBundle\Event\Listener\LocaleListener arguments: ["%kernel.default_locale%"] tags: - { name: kernel.event_subscriber } Wallabag\CoreBundle\Event\Listener\UserLocaleListener: - class: Wallabag\CoreBundle\Event\Listener\UserLocaleListener arguments: ["@session"] tags: - { name: kernel.event_listener, event: security.interactive_login, method: onInteractiveLogin } @@ -52,14 +53,12 @@ services: - '%kernel.cache_dir%' Wallabag\CoreBundle\Helper\DetectActiveTheme: - class: Wallabag\CoreBundle\Helper\DetectActiveTheme arguments: - "@security.token_storage" - "%wallabag_core.theme%" # custom form type Wallabag\CoreBundle\Form\Type\ConfigType: - class: Wallabag\CoreBundle\Form\Type\ConfigType arguments: - "%liip_theme.themes%" - "%wallabag_core.languages%" @@ -67,7 +66,6 @@ services: - { name: form.type } Wallabag\CoreBundle\Form\Type\EntryFilterType: - class: Wallabag\CoreBundle\Form\Type\EntryFilterType arguments: - '@Wallabag\CoreBundle\Repository\EntryRepository' - "@security.token_storage" @@ -75,21 +73,18 @@ services: - { name: form.type } Wallabag\CoreBundle\ParamConverter\UsernameFeedTokenConverter: - class: Wallabag\CoreBundle\ParamConverter\UsernameFeedTokenConverter tags: - { name: request.param_converter, converter: username_feed_token_converter } arguments: - "@doctrine" Wallabag\CoreBundle\Event\Subscriber\TablePrefixSubscriber: - class: Wallabag\CoreBundle\Event\Subscriber\TablePrefixSubscriber arguments: - "%database_table_prefix%" tags: - { name: doctrine.event_subscriber } Graby\Graby: - class: Graby\Graby arguments: - error_message: '%wallabag_core.fetching_error_message%' @@ -102,7 +97,6 @@ services: - { name: monolog.logger, channel: graby } Graby\SiteConfig\ConfigBuilder: - class: Graby\SiteConfig\ConfigBuilder arguments: - {} - "@logger" @@ -111,7 +105,6 @@ services: alias: 'httplug.client.wallabag_core' Wallabag\CoreBundle\GuzzleSiteAuthenticator\GrabySiteConfigBuilder: - class: Wallabag\CoreBundle\GuzzleSiteAuthenticator\GrabySiteConfigBuilder arguments: - '@Graby\SiteConfig\ConfigBuilder' - "@security.token_storage" @@ -125,7 +118,6 @@ services: alias: Wallabag\CoreBundle\GuzzleSiteAuthenticator\GrabySiteConfigBuilder Wallabag\CoreBundle\Helper\HttpClientFactory: - class: Wallabag\CoreBundle\Helper\HttpClientFactory arguments: - '@Wallabag\CoreBundle\Helper\FileCookieJar' - '@=service(''craue_config'').get(''restricted_access'')' @@ -134,13 +126,11 @@ services: - ["addSubscriber", ["@bd_guzzle_site_authenticator.authenticator_subscriber"]] Wallabag\CoreBundle\Helper\FileCookieJar: - class: Wallabag\CoreBundle\Helper\FileCookieJar arguments: - "@logger" - "%kernel.cache_dir%/cookiejar.json" Wallabag\CoreBundle\Helper\ContentProxy: - class: Wallabag\CoreBundle\Helper\ContentProxy arguments: - '@Graby\Graby' - '@Wallabag\CoreBundle\Helper\RuleBasedTagger' @@ -151,12 +141,10 @@ services: - '@=service(''craue_config'').get(''store_article_headers'')' Wallabag\CoreBundle\Helper\TagsAssigner: - class: Wallabag\CoreBundle\Helper\TagsAssigner arguments: - '@Wallabag\CoreBundle\Repository\TagRepository' Wallabag\CoreBundle\Helper\RuleBasedTagger: - class: Wallabag\CoreBundle\Helper\RuleBasedTagger arguments: - "@rulerz" - '@Wallabag\CoreBundle\Repository\TagRepository' @@ -164,7 +152,6 @@ services: - "@logger" Wallabag\CoreBundle\Helper\RuleBasedIgnoreOriginProcessor: - class: Wallabag\CoreBundle\Helper\RuleBasedIgnoreOriginProcessor arguments: - "@rulerz" - "@logger" @@ -172,19 +159,16 @@ services: # repository as a service Wallabag\CoreBundle\Repository\EntryRepository: - class: Wallabag\CoreBundle\Repository\EntryRepository factory: [ "@doctrine.orm.default_entity_manager", getRepository ] arguments: - 'Wallabag\CoreBundle\Entity\Entry' Wallabag\CoreBundle\Repository\TagRepository: - class: Wallabag\CoreBundle\Repository\TagRepository factory: [ "@doctrine.orm.default_entity_manager", getRepository ] arguments: - 'Wallabag\CoreBundle\Entity\Tag' Wallabag\CoreBundle\Repository\SiteCredentialRepository: - class: Wallabag\CoreBundle\Repository\SiteCredentialRepository factory: [ "@doctrine.orm.default_entity_manager", getRepository ] arguments: - 'Wallabag\CoreBundle\Entity\SiteCredential' @@ -192,13 +176,11 @@ services: - [ setCrypto, [ '@Wallabag\CoreBundle\Helper\CryptoProxy' ] ] Wallabag\CoreBundle\Repository\IgnoreOriginInstanceRuleRepository: - class: Wallabag\CoreBundle\Repository\IgnoreOriginInstanceRuleRepository factory: [ "@doctrine.orm.default_entity_manager", getRepository ] arguments: - 'Wallabag\CoreBundle\Entity\IgnoreOriginInstanceRule' Wallabag\CoreBundle\Helper\EntriesExport: - class: Wallabag\CoreBundle\Helper\EntriesExport arguments: - "@translator" - '%domain_name%' @@ -206,44 +188,36 @@ services: - "@security.token_storage" Wallabag\CoreBundle\Operator\PHP\Matches: - class: Wallabag\CoreBundle\Operator\PHP\Matches tags: - { name: rulerz.operator, target: native, operator: matches } Wallabag\CoreBundle\Operator\Doctrine\Matches: - class: Wallabag\CoreBundle\Operator\Doctrine\Matches tags: - { name: rulerz.operator, target: doctrine, operator: matches, inline: true } Wallabag\CoreBundle\Operator\PHP\NotMatches: - class: Wallabag\CoreBundle\Operator\PHP\NotMatches tags: - { name: rulerz.operator, target: native, operator: notmatches } Wallabag\CoreBundle\Operator\Doctrine\NotMatches: - class: Wallabag\CoreBundle\Operator\Doctrine\NotMatches tags: - { name: rulerz.operator, target: doctrine, operator: notmatches, inline: true } Wallabag\CoreBundle\Operator\PHP\PatternMatches: - class: Wallabag\CoreBundle\Operator\PHP\PatternMatches tags: - { name: rulerz.operator, target: native, operator: "~" } Wallabag\CoreBundle\Helper\Redirect: - class: Wallabag\CoreBundle\Helper\Redirect arguments: - "@router" - "@security.token_storage" Wallabag\CoreBundle\Helper\PreparePagerForEntries: - class: Wallabag\CoreBundle\Helper\PreparePagerForEntries arguments: - "@security.token_storage" - "@router" Predis\Client: - class: Predis\Client arguments: - scheme: '%redis_scheme%' @@ -253,21 +227,17 @@ services: password: '%redis_password%' Wallabag\CoreBundle\Controller\ExceptionController: - class: Wallabag\CoreBundle\Controller\ExceptionController - public: true arguments: - '@twig' - '%kernel.debug%' Wallabag\CoreBundle\Event\Subscriber\SQLiteCascadeDeleteSubscriber: - class: Wallabag\CoreBundle\Event\Subscriber\SQLiteCascadeDeleteSubscriber arguments: - "@doctrine" tags: - { name: doctrine.event_subscriber } Wallabag\CoreBundle\Event\Subscriber\DownloadImagesSubscriber: - class: Wallabag\CoreBundle\Event\Subscriber\DownloadImagesSubscriber arguments: - "@doctrine.orm.default_entity_manager" - '@Wallabag\CoreBundle\Helper\DownloadImages' @@ -277,7 +247,6 @@ services: - { name: kernel.event_subscriber } Wallabag\CoreBundle\Helper\DownloadImages: - class: Wallabag\CoreBundle\Helper\DownloadImages arguments: - "@wallabag_core.entry.download_images.client" - "%kernel.project_dir%/web/assets/images" @@ -288,17 +257,14 @@ services: alias: 'httplug.client.wallabag_core.entry.download_images' Wallabag\CoreBundle\Helper\CryptoProxy: - class: Wallabag\CoreBundle\Helper\CryptoProxy arguments: - "%wallabag_core.site_credentials.encryption_key_path%" - "@logger" Wallabag\CoreBundle\Command\: resource: ../../src/Wallabag/CoreBundle/Command/* - autoconfigure: true Wallabag\UserBundle\Mailer\AuthCodeMailer: - class: Wallabag\UserBundle\Mailer\AuthCodeMailer arguments: - "@mailer" - "@twig" @@ -315,20 +281,17 @@ services: - { name: kernel.event_subscriber } Wallabag\UserBundle\EventListener\PasswordResettingListener: - class: Wallabag\UserBundle\EventListener\PasswordResettingListener arguments: - "@router" tags: - { name: kernel.event_subscriber } Wallabag\UserBundle\Repository\UserRepository: - class: Wallabag\UserBundle\Repository\UserRepository factory: [ "@doctrine.orm.default_entity_manager", getRepository ] arguments: - 'Wallabag\UserBundle\Entity\User' Wallabag\UserBundle\EventListener\CreateConfigListener: - class: Wallabag\UserBundle\EventListener\CreateConfigListener arguments: - "@doctrine.orm.entity_manager" - "%wallabag_core.theme%" @@ -343,21 +306,18 @@ services: - { name: kernel.event_subscriber } Wallabag\UserBundle\EventListener\AuthenticationFailureListener: - class: Wallabag\UserBundle\EventListener\AuthenticationFailureListener arguments: - "@request_stack" - "@logger" tags: - { name: kernel.event_listener, event: security.authentication.failure, method: onAuthenticationFailure } - Wallabag\ImportBundle\Import\ImportChain: - class: Wallabag\ImportBundle\Import\ImportChain + Wallabag\ImportBundle\Import\ImportChain: ~ wallabag_import.pocket.client: alias: 'httplug.client.wallabag_import.pocket.client' Wallabag\ImportBundle\Import\PocketImport: - class: Wallabag\ImportBundle\Import\PocketImport arguments: - "@doctrine.orm.entity_manager" - '@Wallabag\CoreBundle\Helper\ContentProxy' @@ -370,7 +330,6 @@ services: - { name: wallabag_import.import, alias: pocket } Wallabag\ImportBundle\Import\WallabagV1Import: - class: Wallabag\ImportBundle\Import\WallabagV1Import arguments: - "@doctrine.orm.entity_manager" - '@Wallabag\CoreBundle\Helper\ContentProxy' @@ -384,7 +343,6 @@ services: - { name: wallabag_import.import, alias: wallabag_v1 } Wallabag\ImportBundle\Import\WallabagV2Import: - class: Wallabag\ImportBundle\Import\WallabagV2Import arguments: - "@doctrine.orm.entity_manager" - '@Wallabag\CoreBundle\Helper\ContentProxy' @@ -396,7 +354,6 @@ services: - { name: wallabag_import.import, alias: wallabag_v2 } Wallabag\ImportBundle\Import\ElcuratorImport: - class: Wallabag\ImportBundle\Import\ElcuratorImport arguments: - "@doctrine.orm.entity_manager" - '@Wallabag\CoreBundle\Helper\ContentProxy' @@ -408,7 +365,6 @@ services: - { name: wallabag_import.import, alias: elcurator } Wallabag\ImportBundle\Import\ReadabilityImport: - class: Wallabag\ImportBundle\Import\ReadabilityImport arguments: - "@doctrine.orm.entity_manager" - '@Wallabag\CoreBundle\Helper\ContentProxy' @@ -420,7 +376,6 @@ services: - { name: wallabag_import.import, alias: readability } Wallabag\ImportBundle\Import\InstapaperImport: - class: Wallabag\ImportBundle\Import\InstapaperImport arguments: - "@doctrine.orm.entity_manager" - '@Wallabag\CoreBundle\Helper\ContentProxy' @@ -432,7 +387,6 @@ services: - { name: wallabag_import.import, alias: instapaper } Wallabag\ImportBundle\Import\PinboardImport: - class: Wallabag\ImportBundle\Import\PinboardImport arguments: - "@doctrine.orm.entity_manager" - '@Wallabag\CoreBundle\Helper\ContentProxy' @@ -444,7 +398,6 @@ services: - { name: wallabag_import.import, alias: pinboard } Wallabag\ImportBundle\Import\DeliciousImport: - class: Wallabag\ImportBundle\Import\DeliciousImport arguments: - "@doctrine.orm.entity_manager" - '@Wallabag\CoreBundle\Helper\ContentProxy' @@ -456,7 +409,6 @@ services: - { name: wallabag_import.import, alias: delicious } Wallabag\ImportBundle\Import\FirefoxImport: - class: Wallabag\ImportBundle\Import\FirefoxImport arguments: - "@doctrine.orm.entity_manager" - '@Wallabag\CoreBundle\Helper\ContentProxy' @@ -468,7 +420,6 @@ services: - { name: wallabag_import.import, alias: firefox } Wallabag\ImportBundle\Import\ChromeImport: - class: Wallabag\ImportBundle\Import\ChromeImport arguments: - "@doctrine.orm.entity_manager" - '@Wallabag\CoreBundle\Helper\ContentProxy' @@ -481,4 +432,3 @@ services: Wallabag\ImportBundle\Command\: resource: ../../src/Wallabag/ImportBundle/Command/* - autoconfigure: true diff --git a/app/config/services_rabbit.yml b/app/config/services_rabbit.yml index 70e08f825..0cd336ef3 100644 --- a/app/config/services_rabbit.yml +++ b/app/config/services_rabbit.yml @@ -1,5 +1,10 @@ # RabbitMQ stuff services: + _defaults: + autowire: true + autoconfigure: true + public: true + wallabag_import.consumer.amqp.pocket: class: Wallabag\ImportBundle\Consumer\AMQPEntryConsumer arguments: diff --git a/app/config/services_redis.yml b/app/config/services_redis.yml index 4673da6e4..fc83f418c 100644 --- a/app/config/services_redis.yml +++ b/app/config/services_redis.yml @@ -1,5 +1,10 @@ # Redis stuff services: + _defaults: + autowire: true + autoconfigure: true + public: true + # readability wallabag_import.queue.redis.readability: class: Simpleue\Queue\RedisQueue From dad088b57522908db6cc928222601af90571e401 Mon Sep 17 00:00:00 2001 From: Yassine Guedidi Date: Sat, 27 Aug 2022 20:22:48 +0200 Subject: [PATCH 3/9] Autowire service arguments --- app/config/services.yml | 201 ++++-------------- .../Subscriber/DownloadImagesSubscriber.php | 4 +- .../CoreBundle/Form/Type/EntryFilterType.php | 4 +- .../ImportBundle/Import/AbstractImport.php | 4 +- .../ImportBundle/Import/WallabagV1Import.php | 7 +- .../EventListener/CreateConfigListener.php | 4 +- 6 files changed, 58 insertions(+), 166 deletions(-) diff --git a/app/config/services.yml b/app/config/services.yml index d112a3b65..3bcc9726e 100644 --- a/app/config/services.yml +++ b/app/config/services.yml @@ -20,12 +20,8 @@ services: Wallabag\CoreBundle\Twig\WallabagExtension: public: false arguments: - - '@Wallabag\CoreBundle\Repository\EntryRepository' - - '@Wallabag\CoreBundle\Repository\TagRepository' - - "@security.token_storage" - - "%wallabag_core.cache_lifetime%" - - "@translator" - - "%kernel.root_dir%" + $lifeTime: "%wallabag_core.cache_lifetime%" + $rootDir: "%kernel.root_dir%" tags: - { name: twig.extension } @@ -35,12 +31,12 @@ services: - { name: twig.extension } Wallabag\CoreBundle\Event\Listener\LocaleListener: - arguments: ["%kernel.default_locale%"] + arguments: + $defaultLocale: "%kernel.default_locale%" tags: - { name: kernel.event_subscriber } Wallabag\CoreBundle\Event\Listener\UserLocaleListener: - arguments: ["@session"] tags: - { name: kernel.event_listener, event: security.interactive_login, method: onInteractiveLogin } @@ -48,49 +44,41 @@ services: class: Symfony\Component\Cache\Adapter\FilesystemAdapter public: false arguments: - - 'craue_config' - - 0 - - '%kernel.cache_dir%' + $namespace: 'craue_config' + $defaultLifetime: 0 + $directory: '%kernel.cache_dir%' Wallabag\CoreBundle\Helper\DetectActiveTheme: arguments: - - "@security.token_storage" - - "%wallabag_core.theme%" + $defaultTheme: "%wallabag_core.theme%" # custom form type Wallabag\CoreBundle\Form\Type\ConfigType: arguments: - - "%liip_theme.themes%" - - "%wallabag_core.languages%" + $themes: "%liip_theme.themes%" + $languages: "%wallabag_core.languages%" tags: - { name: form.type } Wallabag\CoreBundle\Form\Type\EntryFilterType: - arguments: - - '@Wallabag\CoreBundle\Repository\EntryRepository' - - "@security.token_storage" tags: - { name: form.type } Wallabag\CoreBundle\ParamConverter\UsernameFeedTokenConverter: tags: - { name: request.param_converter, converter: username_feed_token_converter } - arguments: - - "@doctrine" Wallabag\CoreBundle\Event\Subscriber\TablePrefixSubscriber: arguments: - - "%database_table_prefix%" + $prefix: "%database_table_prefix%" tags: - { name: doctrine.event_subscriber } Graby\Graby: arguments: - - + $config: error_message: '%wallabag_core.fetching_error_message%' error_message_title: '%wallabag_core.fetching_error_message_title%' - - "@wallabag_core.http_client" - - '@Graby\SiteConfig\ConfigBuilder' calls: - [ setLogger, [ "@logger" ] ] tags: @@ -98,18 +86,12 @@ services: Graby\SiteConfig\ConfigBuilder: arguments: - - {} - - "@logger" + $config: {} wallabag_core.http_client: alias: 'httplug.client.wallabag_core' Wallabag\CoreBundle\GuzzleSiteAuthenticator\GrabySiteConfigBuilder: - arguments: - - '@Graby\SiteConfig\ConfigBuilder' - - "@security.token_storage" - - '@Wallabag\CoreBundle\Repository\SiteCredentialRepository' - - '@logger' tags: - { name: monolog.logger, channel: graby } @@ -119,43 +101,24 @@ services: Wallabag\CoreBundle\Helper\HttpClientFactory: arguments: - - '@Wallabag\CoreBundle\Helper\FileCookieJar' - - '@=service(''craue_config'').get(''restricted_access'')' - - '@logger' + $restrictedAccess: '@=service(''craue_config'').get(''restricted_access'')' calls: - ["addSubscriber", ["@bd_guzzle_site_authenticator.authenticator_subscriber"]] Wallabag\CoreBundle\Helper\FileCookieJar: arguments: - - "@logger" - - "%kernel.cache_dir%/cookiejar.json" + $cookieFile: "%kernel.cache_dir%/cookiejar.json" Wallabag\CoreBundle\Helper\ContentProxy: arguments: - - '@Graby\Graby' - - '@Wallabag\CoreBundle\Helper\RuleBasedTagger' - - '@Wallabag\CoreBundle\Helper\RuleBasedIgnoreOriginProcessor' - - "@validator" - - "@logger" - - '%wallabag_core.fetching_error_message%' - - '@=service(''craue_config'').get(''store_article_headers'')' + $fetchingErrorMessage: '%wallabag_core.fetching_error_message%' + $storeArticleHeaders: '@=service(''craue_config'').get(''store_article_headers'')' - Wallabag\CoreBundle\Helper\TagsAssigner: - arguments: - - '@Wallabag\CoreBundle\Repository\TagRepository' + Wallabag\CoreBundle\Helper\TagsAssigner: ~ - Wallabag\CoreBundle\Helper\RuleBasedTagger: - arguments: - - "@rulerz" - - '@Wallabag\CoreBundle\Repository\TagRepository' - - '@Wallabag\CoreBundle\Repository\EntryRepository' - - "@logger" + Wallabag\CoreBundle\Helper\RuleBasedTagger: ~ - Wallabag\CoreBundle\Helper\RuleBasedIgnoreOriginProcessor: - arguments: - - "@rulerz" - - "@logger" - - '@Wallabag\CoreBundle\Repository\IgnoreOriginInstanceRuleRepository' + Wallabag\CoreBundle\Helper\RuleBasedIgnoreOriginProcessor: ~ # repository as a service Wallabag\CoreBundle\Repository\EntryRepository: @@ -182,10 +145,8 @@ services: Wallabag\CoreBundle\Helper\EntriesExport: arguments: - - "@translator" - - '%domain_name%' - - web/img/appicon/apple-touch-icon-152.png - - "@security.token_storage" + $wallabagUrl: '%domain_name%' + $logoPath: web/img/appicon/apple-touch-icon-152.png Wallabag\CoreBundle\Operator\PHP\Matches: tags: @@ -207,19 +168,13 @@ services: tags: - { name: rulerz.operator, target: native, operator: "~" } - Wallabag\CoreBundle\Helper\Redirect: - arguments: - - "@router" - - "@security.token_storage" + Wallabag\CoreBundle\Helper\Redirect: ~ - Wallabag\CoreBundle\Helper\PreparePagerForEntries: - arguments: - - "@security.token_storage" - - "@router" + Wallabag\CoreBundle\Helper\PreparePagerForEntries: ~ Predis\Client: arguments: - - + $parameters: scheme: '%redis_scheme%' host: '%redis_host%' port: '%redis_port%' @@ -228,61 +183,47 @@ services: Wallabag\CoreBundle\Controller\ExceptionController: arguments: - - '@twig' - - '%kernel.debug%' + $debug: '%kernel.debug%' Wallabag\CoreBundle\Event\Subscriber\SQLiteCascadeDeleteSubscriber: - arguments: - - "@doctrine" tags: - { name: doctrine.event_subscriber } Wallabag\CoreBundle\Event\Subscriber\DownloadImagesSubscriber: arguments: - - "@doctrine.orm.default_entity_manager" - - '@Wallabag\CoreBundle\Helper\DownloadImages' - - '@=service(''craue_config'').get(''download_images_enabled'')' - - "@logger" + $enabled: '@=service(''craue_config'').get(''download_images_enabled'')' tags: - { name: kernel.event_subscriber } Wallabag\CoreBundle\Helper\DownloadImages: arguments: - - "@wallabag_core.entry.download_images.client" - - "%kernel.project_dir%/web/assets/images" - - '%domain_name%' - - "@logger" + $baseFolder: "%kernel.project_dir%/web/assets/images" + $wallabagUrl: '%domain_name%' wallabag_core.entry.download_images.client: alias: 'httplug.client.wallabag_core.entry.download_images' Wallabag\CoreBundle\Helper\CryptoProxy: arguments: - - "%wallabag_core.site_credentials.encryption_key_path%" - - "@logger" + $encryptionKeyPath: "%wallabag_core.site_credentials.encryption_key_path%" Wallabag\CoreBundle\Command\: resource: ../../src/Wallabag/CoreBundle/Command/* Wallabag\UserBundle\Mailer\AuthCodeMailer: arguments: - - "@mailer" - - "@twig" - - "%scheb_two_factor.email.sender_email%" - - "%scheb_two_factor.email.sender_name%" - - '@=service(''craue_config'').get(''wallabag_support_url'')' - - '%domain_name%' + $senderEmail: "%scheb_two_factor.email.sender_email%" + $senderName: "%scheb_two_factor.email.sender_name%" + $supportUrl: '@=service(''craue_config'').get(''wallabag_support_url'')' + $wallabagUrl: '%domain_name%' Wallabag\UserBundle\EventListener\RegistrationListener: arguments: - - '%fosuser_registration%' - - '@router' + $registrationEnabled: '%fosuser_registration%' tags: - { name: kernel.event_subscriber } Wallabag\UserBundle\EventListener\PasswordResettingListener: - arguments: - - "@router" tags: - { name: kernel.event_subscriber } @@ -293,22 +234,17 @@ services: Wallabag\UserBundle\EventListener\CreateConfigListener: arguments: - - "@doctrine.orm.entity_manager" - - "%wallabag_core.theme%" - - "%wallabag_core.items_on_page%" - - "%wallabag_core.feed_limit%" - - "%wallabag_core.language%" - - "%wallabag_core.reading_speed%" - - "%wallabag_core.action_mark_as_read%" - - "%wallabag_core.list_mode%" - - "@session" + $theme: "%wallabag_core.theme%" + $itemsOnPage: "%wallabag_core.items_on_page%" + $feedLimit: "%wallabag_core.feed_limit%" + $language: "%wallabag_core.language%" + $readingSpeed: "%wallabag_core.reading_speed%" + $actionMarkAsRead: "%wallabag_core.action_mark_as_read%" + $listMode: "%wallabag_core.list_mode%" tags: - { name: kernel.event_subscriber } Wallabag\UserBundle\EventListener\AuthenticationFailureListener: - arguments: - - "@request_stack" - - "@logger" tags: - { name: kernel.event_listener, event: security.authentication.failure, method: onAuthenticationFailure } @@ -318,11 +254,6 @@ services: alias: 'httplug.client.wallabag_import.pocket.client' Wallabag\ImportBundle\Import\PocketImport: - arguments: - - "@doctrine.orm.entity_manager" - - '@Wallabag\CoreBundle\Helper\ContentProxy' - - '@Wallabag\CoreBundle\Helper\TagsAssigner' - - "@event_dispatcher" calls: - [ setClient, [ "@wallabag_import.pocket.client" ] ] - [ setLogger, [ "@logger" ]] @@ -331,100 +262,56 @@ services: Wallabag\ImportBundle\Import\WallabagV1Import: arguments: - - "@doctrine.orm.entity_manager" - - '@Wallabag\CoreBundle\Helper\ContentProxy' - - '@Wallabag\CoreBundle\Helper\TagsAssigner' - - "@event_dispatcher" - - "%wallabag_core.fetching_error_message_title%" - - "%wallabag_core.fetching_error_message%" + $fetchingErrorMessageTitle: "%wallabag_core.fetching_error_message_title%" + $fetchingErrorMessage: "%wallabag_core.fetching_error_message%" calls: - [ setLogger, [ "@logger" ]] tags: - { name: wallabag_import.import, alias: wallabag_v1 } Wallabag\ImportBundle\Import\WallabagV2Import: - arguments: - - "@doctrine.orm.entity_manager" - - '@Wallabag\CoreBundle\Helper\ContentProxy' - - '@Wallabag\CoreBundle\Helper\TagsAssigner' - - "@event_dispatcher" calls: - [ setLogger, [ "@logger" ]] tags: - { name: wallabag_import.import, alias: wallabag_v2 } Wallabag\ImportBundle\Import\ElcuratorImport: - arguments: - - "@doctrine.orm.entity_manager" - - '@Wallabag\CoreBundle\Helper\ContentProxy' - - '@Wallabag\CoreBundle\Helper\TagsAssigner' - - "@event_dispatcher" calls: - [ setLogger, [ "@logger" ]] tags: - { name: wallabag_import.import, alias: elcurator } Wallabag\ImportBundle\Import\ReadabilityImport: - arguments: - - "@doctrine.orm.entity_manager" - - '@Wallabag\CoreBundle\Helper\ContentProxy' - - '@Wallabag\CoreBundle\Helper\TagsAssigner' - - "@event_dispatcher" calls: - [ setLogger, [ "@logger" ]] tags: - { name: wallabag_import.import, alias: readability } Wallabag\ImportBundle\Import\InstapaperImport: - arguments: - - "@doctrine.orm.entity_manager" - - '@Wallabag\CoreBundle\Helper\ContentProxy' - - '@Wallabag\CoreBundle\Helper\TagsAssigner' - - "@event_dispatcher" calls: - [ setLogger, [ "@logger" ]] tags: - { name: wallabag_import.import, alias: instapaper } Wallabag\ImportBundle\Import\PinboardImport: - arguments: - - "@doctrine.orm.entity_manager" - - '@Wallabag\CoreBundle\Helper\ContentProxy' - - '@Wallabag\CoreBundle\Helper\TagsAssigner' - - "@event_dispatcher" calls: - [ setLogger, [ "@logger" ]] tags: - { name: wallabag_import.import, alias: pinboard } Wallabag\ImportBundle\Import\DeliciousImport: - arguments: - - "@doctrine.orm.entity_manager" - - '@Wallabag\CoreBundle\Helper\ContentProxy' - - '@Wallabag\CoreBundle\Helper\TagsAssigner' - - "@event_dispatcher" calls: - [ setLogger, [ "@logger" ]] tags: - { name: wallabag_import.import, alias: delicious } Wallabag\ImportBundle\Import\FirefoxImport: - arguments: - - "@doctrine.orm.entity_manager" - - '@Wallabag\CoreBundle\Helper\ContentProxy' - - '@Wallabag\CoreBundle\Helper\TagsAssigner' - - "@event_dispatcher" calls: - [ setLogger, [ "@logger" ]] tags: - { name: wallabag_import.import, alias: firefox } Wallabag\ImportBundle\Import\ChromeImport: - arguments: - - "@doctrine.orm.entity_manager" - - '@Wallabag\CoreBundle\Helper\ContentProxy' - - '@Wallabag\CoreBundle\Helper\TagsAssigner' - - "@event_dispatcher" calls: - [ setLogger, [ "@logger" ]] tags: diff --git a/src/Wallabag/CoreBundle/Event/Subscriber/DownloadImagesSubscriber.php b/src/Wallabag/CoreBundle/Event/Subscriber/DownloadImagesSubscriber.php index ef8d7d3bc..125a6f124 100644 --- a/src/Wallabag/CoreBundle/Event/Subscriber/DownloadImagesSubscriber.php +++ b/src/Wallabag/CoreBundle/Event/Subscriber/DownloadImagesSubscriber.php @@ -2,7 +2,7 @@ namespace Wallabag\CoreBundle\Event\Subscriber; -use Doctrine\ORM\EntityManager; +use Doctrine\ORM\EntityManagerInterface; use Psr\Log\LoggerInterface; use Symfony\Component\EventDispatcher\EventSubscriberInterface; use Wallabag\CoreBundle\Entity\Entry; @@ -17,7 +17,7 @@ class DownloadImagesSubscriber implements EventSubscriberInterface private $enabled; private $logger; - public function __construct(EntityManager $em, DownloadImages $downloadImages, $enabled, LoggerInterface $logger) + public function __construct(EntityManagerInterface $em, DownloadImages $downloadImages, $enabled, LoggerInterface $logger) { $this->em = $em; $this->downloadImages = $downloadImages; diff --git a/src/Wallabag/CoreBundle/Form/Type/EntryFilterType.php b/src/Wallabag/CoreBundle/Form/Type/EntryFilterType.php index ba2f53662..44448bfb7 100644 --- a/src/Wallabag/CoreBundle/Form/Type/EntryFilterType.php +++ b/src/Wallabag/CoreBundle/Form/Type/EntryFilterType.php @@ -2,7 +2,6 @@ namespace Wallabag\CoreBundle\Form\Type; -use Doctrine\ORM\EntityRepository; use Lexik\Bundle\FormFilterBundle\Filter\FilterOperands; use Lexik\Bundle\FormFilterBundle\Filter\Form\Type\CheckboxFilterType; use Lexik\Bundle\FormFilterBundle\Filter\Form\Type\ChoiceFilterType; @@ -15,6 +14,7 @@ use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\OptionsResolver\OptionsResolver; use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface; +use Wallabag\CoreBundle\Repository\EntryRepository; class EntryFilterType extends AbstractType { @@ -24,7 +24,7 @@ class EntryFilterType extends AbstractType /** * Repository & user are used to get a list of language entries for this user. */ - public function __construct(EntityRepository $entryRepository, TokenStorageInterface $tokenStorage) + public function __construct(EntryRepository $entryRepository, TokenStorageInterface $tokenStorage) { $this->repository = $entryRepository; diff --git a/src/Wallabag/ImportBundle/Import/AbstractImport.php b/src/Wallabag/ImportBundle/Import/AbstractImport.php index 1b073e99a..bbd6f3b7e 100644 --- a/src/Wallabag/ImportBundle/Import/AbstractImport.php +++ b/src/Wallabag/ImportBundle/Import/AbstractImport.php @@ -2,7 +2,7 @@ namespace Wallabag\ImportBundle\Import; -use Doctrine\ORM\EntityManager; +use Doctrine\ORM\EntityManagerInterface; use OldSound\RabbitMqBundle\RabbitMq\ProducerInterface; use Psr\Log\LoggerInterface; use Psr\Log\NullLogger; @@ -29,7 +29,7 @@ abstract class AbstractImport implements ImportInterface protected $importedEntries = 0; protected $queuedEntries = 0; - public function __construct(EntityManager $em, ContentProxy $contentProxy, TagsAssigner $tagsAssigner, EventDispatcherInterface $eventDispatcher) + public function __construct(EntityManagerInterface $em, ContentProxy $contentProxy, TagsAssigner $tagsAssigner, EventDispatcherInterface $eventDispatcher) { $this->em = $em; $this->logger = new NullLogger(); diff --git a/src/Wallabag/ImportBundle/Import/WallabagV1Import.php b/src/Wallabag/ImportBundle/Import/WallabagV1Import.php index e05626117..a22b17751 100644 --- a/src/Wallabag/ImportBundle/Import/WallabagV1Import.php +++ b/src/Wallabag/ImportBundle/Import/WallabagV1Import.php @@ -2,12 +2,17 @@ namespace Wallabag\ImportBundle\Import; +use Doctrine\ORM\EntityManagerInterface; +use Symfony\Component\EventDispatcher\EventDispatcherInterface; +use Wallabag\CoreBundle\Helper\ContentProxy; +use Wallabag\CoreBundle\Helper\TagsAssigner; + class WallabagV1Import extends WallabagImport { protected $fetchingErrorMessage; protected $fetchingErrorMessageTitle; - public function __construct($em, $contentProxy, $tagsAssigner, $eventDispatcher, $fetchingErrorMessageTitle, $fetchingErrorMessage) + public function __construct(EntityManagerInterface $em, ContentProxy $contentProxy, TagsAssigner $tagsAssigner, EventDispatcherInterface $eventDispatcher, $fetchingErrorMessageTitle, $fetchingErrorMessage) { $this->fetchingErrorMessageTitle = $fetchingErrorMessageTitle; $this->fetchingErrorMessage = $fetchingErrorMessage; diff --git a/src/Wallabag/UserBundle/EventListener/CreateConfigListener.php b/src/Wallabag/UserBundle/EventListener/CreateConfigListener.php index 81954213f..f208c9efc 100644 --- a/src/Wallabag/UserBundle/EventListener/CreateConfigListener.php +++ b/src/Wallabag/UserBundle/EventListener/CreateConfigListener.php @@ -2,7 +2,7 @@ namespace Wallabag\UserBundle\EventListener; -use Doctrine\ORM\EntityManager; +use Doctrine\ORM\EntityManagerInterface; use FOS\UserBundle\Event\UserEvent; use FOS\UserBundle\FOSUserEvents; use Symfony\Component\EventDispatcher\EventSubscriberInterface; @@ -25,7 +25,7 @@ class CreateConfigListener implements EventSubscriberInterface private $listMode; private $session; - public function __construct(EntityManager $em, $theme, $itemsOnPage, $feedLimit, $language, $readingSpeed, $actionMarkAsRead, $listMode, Session $session) + public function __construct(EntityManagerInterface $em, $theme, $itemsOnPage, $feedLimit, $language, $readingSpeed, $actionMarkAsRead, $listMode, Session $session) { $this->em = $em; $this->theme = $theme; From 96c8cc25afb7c66fecefbd101b5120c628bc59b0 Mon Sep 17 00:00:00 2001 From: Yassine Guedidi Date: Sat, 27 Aug 2022 20:47:19 +0200 Subject: [PATCH 4/9] Remove autoconfigured tags --- app/config/services.yml | 24 ++---------------------- 1 file changed, 2 insertions(+), 22 deletions(-) diff --git a/app/config/services.yml b/app/config/services.yml index 3bcc9726e..211996f1c 100644 --- a/app/config/services.yml +++ b/app/config/services.yml @@ -14,27 +14,19 @@ services: Twig_Extensions_Extension_Text: class: Twig_Extensions_Extension_Text - tags: - - { name: twig.extension } Wallabag\CoreBundle\Twig\WallabagExtension: public: false arguments: $lifeTime: "%wallabag_core.cache_lifetime%" $rootDir: "%kernel.root_dir%" - tags: - - { name: twig.extension } MatomoTwigExtension\MatomoTwigExtension: public: false - tags: - - { name: twig.extension } Wallabag\CoreBundle\Event\Listener\LocaleListener: arguments: $defaultLocale: "%kernel.default_locale%" - tags: - - { name: kernel.event_subscriber } Wallabag\CoreBundle\Event\Listener\UserLocaleListener: tags: @@ -57,12 +49,8 @@ services: arguments: $themes: "%liip_theme.themes%" $languages: "%wallabag_core.languages%" - tags: - - { name: form.type } - Wallabag\CoreBundle\Form\Type\EntryFilterType: - tags: - - { name: form.type } + Wallabag\CoreBundle\Form\Type\EntryFilterType: ~ Wallabag\CoreBundle\ParamConverter\UsernameFeedTokenConverter: tags: @@ -192,8 +180,6 @@ services: Wallabag\CoreBundle\Event\Subscriber\DownloadImagesSubscriber: arguments: $enabled: '@=service(''craue_config'').get(''download_images_enabled'')' - tags: - - { name: kernel.event_subscriber } Wallabag\CoreBundle\Helper\DownloadImages: arguments: @@ -220,12 +206,8 @@ services: Wallabag\UserBundle\EventListener\RegistrationListener: arguments: $registrationEnabled: '%fosuser_registration%' - tags: - - { name: kernel.event_subscriber } - Wallabag\UserBundle\EventListener\PasswordResettingListener: - tags: - - { name: kernel.event_subscriber } + Wallabag\UserBundle\EventListener\PasswordResettingListener: ~ Wallabag\UserBundle\Repository\UserRepository: factory: [ "@doctrine.orm.default_entity_manager", getRepository ] @@ -241,8 +223,6 @@ services: $readingSpeed: "%wallabag_core.reading_speed%" $actionMarkAsRead: "%wallabag_core.action_mark_as_read%" $listMode: "%wallabag_core.list_mode%" - tags: - - { name: kernel.event_subscriber } Wallabag\UserBundle\EventListener\AuthenticationFailureListener: tags: From 51884911f56b0279a34c77b75f092e123eed7ffb Mon Sep 17 00:00:00 2001 From: Yassine Guedidi Date: Sat, 27 Aug 2022 20:57:18 +0200 Subject: [PATCH 5/9] Pass logger in constructor for importers --- app/config/services.yml | 19 ------------------- .../ImportBundle/Import/AbstractImport.php | 5 ++--- .../ImportBundle/Import/WallabagV1Import.php | 5 +++-- .../ImportBundle/Import/ChromeImportTest.php | 5 ++--- .../ImportBundle/Import/FirefoxImportTest.php | 5 ++--- .../Import/InstapaperImportTest.php | 5 ++--- .../ImportBundle/Import/PocketImportTest.php | 7 +++---- .../Import/ReadabilityImportTest.php | 5 ++--- .../Import/WallabagV1ImportTest.php | 8 ++++---- .../Import/WallabagV2ImportTest.php | 5 ++--- 10 files changed, 22 insertions(+), 47 deletions(-) diff --git a/app/config/services.yml b/app/config/services.yml index 211996f1c..4992f3d58 100644 --- a/app/config/services.yml +++ b/app/config/services.yml @@ -236,7 +236,6 @@ services: Wallabag\ImportBundle\Import\PocketImport: calls: - [ setClient, [ "@wallabag_import.pocket.client" ] ] - - [ setLogger, [ "@logger" ]] tags: - { name: wallabag_import.import, alias: pocket } @@ -244,56 +243,38 @@ services: arguments: $fetchingErrorMessageTitle: "%wallabag_core.fetching_error_message_title%" $fetchingErrorMessage: "%wallabag_core.fetching_error_message%" - calls: - - [ setLogger, [ "@logger" ]] tags: - { name: wallabag_import.import, alias: wallabag_v1 } Wallabag\ImportBundle\Import\WallabagV2Import: - calls: - - [ setLogger, [ "@logger" ]] tags: - { name: wallabag_import.import, alias: wallabag_v2 } Wallabag\ImportBundle\Import\ElcuratorImport: - calls: - - [ setLogger, [ "@logger" ]] tags: - { name: wallabag_import.import, alias: elcurator } Wallabag\ImportBundle\Import\ReadabilityImport: - calls: - - [ setLogger, [ "@logger" ]] tags: - { name: wallabag_import.import, alias: readability } Wallabag\ImportBundle\Import\InstapaperImport: - calls: - - [ setLogger, [ "@logger" ]] tags: - { name: wallabag_import.import, alias: instapaper } Wallabag\ImportBundle\Import\PinboardImport: - calls: - - [ setLogger, [ "@logger" ]] tags: - { name: wallabag_import.import, alias: pinboard } Wallabag\ImportBundle\Import\DeliciousImport: - calls: - - [ setLogger, [ "@logger" ]] tags: - { name: wallabag_import.import, alias: delicious } Wallabag\ImportBundle\Import\FirefoxImport: - calls: - - [ setLogger, [ "@logger" ]] tags: - { name: wallabag_import.import, alias: firefox } Wallabag\ImportBundle\Import\ChromeImport: - calls: - - [ setLogger, [ "@logger" ]] tags: - { name: wallabag_import.import, alias: chrome } diff --git a/src/Wallabag/ImportBundle/Import/AbstractImport.php b/src/Wallabag/ImportBundle/Import/AbstractImport.php index bbd6f3b7e..c8be93ed5 100644 --- a/src/Wallabag/ImportBundle/Import/AbstractImport.php +++ b/src/Wallabag/ImportBundle/Import/AbstractImport.php @@ -5,7 +5,6 @@ namespace Wallabag\ImportBundle\Import; use Doctrine\ORM\EntityManagerInterface; use OldSound\RabbitMqBundle\RabbitMq\ProducerInterface; use Psr\Log\LoggerInterface; -use Psr\Log\NullLogger; use Symfony\Component\EventDispatcher\EventDispatcherInterface; use Wallabag\CoreBundle\Entity\Entry; use Wallabag\CoreBundle\Entity\Tag; @@ -29,10 +28,10 @@ abstract class AbstractImport implements ImportInterface protected $importedEntries = 0; protected $queuedEntries = 0; - public function __construct(EntityManagerInterface $em, ContentProxy $contentProxy, TagsAssigner $tagsAssigner, EventDispatcherInterface $eventDispatcher) + public function __construct(EntityManagerInterface $em, ContentProxy $contentProxy, TagsAssigner $tagsAssigner, EventDispatcherInterface $eventDispatcher, LoggerInterface $logger) { $this->em = $em; - $this->logger = new NullLogger(); + $this->logger = $logger; $this->contentProxy = $contentProxy; $this->tagsAssigner = $tagsAssigner; $this->eventDispatcher = $eventDispatcher; diff --git a/src/Wallabag/ImportBundle/Import/WallabagV1Import.php b/src/Wallabag/ImportBundle/Import/WallabagV1Import.php index a22b17751..895fba11c 100644 --- a/src/Wallabag/ImportBundle/Import/WallabagV1Import.php +++ b/src/Wallabag/ImportBundle/Import/WallabagV1Import.php @@ -3,6 +3,7 @@ namespace Wallabag\ImportBundle\Import; use Doctrine\ORM\EntityManagerInterface; +use Psr\Log\LoggerInterface; use Symfony\Component\EventDispatcher\EventDispatcherInterface; use Wallabag\CoreBundle\Helper\ContentProxy; use Wallabag\CoreBundle\Helper\TagsAssigner; @@ -12,12 +13,12 @@ class WallabagV1Import extends WallabagImport protected $fetchingErrorMessage; protected $fetchingErrorMessageTitle; - public function __construct(EntityManagerInterface $em, ContentProxy $contentProxy, TagsAssigner $tagsAssigner, EventDispatcherInterface $eventDispatcher, $fetchingErrorMessageTitle, $fetchingErrorMessage) + public function __construct(EntityManagerInterface $em, ContentProxy $contentProxy, TagsAssigner $tagsAssigner, EventDispatcherInterface $eventDispatcher, LoggerInterface $logger, $fetchingErrorMessageTitle, $fetchingErrorMessage) { $this->fetchingErrorMessageTitle = $fetchingErrorMessageTitle; $this->fetchingErrorMessage = $fetchingErrorMessage; - parent::__construct($em, $contentProxy, $tagsAssigner, $eventDispatcher); + parent::__construct($em, $contentProxy, $tagsAssigner, $eventDispatcher, $logger); } /** diff --git a/tests/Wallabag/ImportBundle/Import/ChromeImportTest.php b/tests/Wallabag/ImportBundle/Import/ChromeImportTest.php index 3b4adbb53..66e72a8d8 100644 --- a/tests/Wallabag/ImportBundle/Import/ChromeImportTest.php +++ b/tests/Wallabag/ImportBundle/Import/ChromeImportTest.php @@ -232,11 +232,10 @@ class ChromeImportTest extends TestCase ->expects($this->exactly($dispatched)) ->method('dispatch'); - $wallabag = new ChromeImport($this->em, $this->contentProxy, $this->tagsAssigner, $dispatcher); - $this->logHandler = new TestHandler(); $logger = new Logger('test', [$this->logHandler]); - $wallabag->setLogger($logger); + + $wallabag = new ChromeImport($this->em, $this->contentProxy, $this->tagsAssigner, $dispatcher, $logger); if (false === $unsetUser) { $wallabag->setUser($this->user); diff --git a/tests/Wallabag/ImportBundle/Import/FirefoxImportTest.php b/tests/Wallabag/ImportBundle/Import/FirefoxImportTest.php index 69d7d4fb5..d3b3ee1ae 100644 --- a/tests/Wallabag/ImportBundle/Import/FirefoxImportTest.php +++ b/tests/Wallabag/ImportBundle/Import/FirefoxImportTest.php @@ -232,11 +232,10 @@ class FirefoxImportTest extends TestCase ->expects($this->exactly($dispatched)) ->method('dispatch'); - $wallabag = new FirefoxImport($this->em, $this->contentProxy, $this->tagsAssigner, $dispatcher); - $this->logHandler = new TestHandler(); $logger = new Logger('test', [$this->logHandler]); - $wallabag->setLogger($logger); + + $wallabag = new FirefoxImport($this->em, $this->contentProxy, $this->tagsAssigner, $dispatcher, $logger); if (false === $unsetUser) { $wallabag->setUser($this->user); diff --git a/tests/Wallabag/ImportBundle/Import/InstapaperImportTest.php b/tests/Wallabag/ImportBundle/Import/InstapaperImportTest.php index 8ef9a4684..051c7c68a 100644 --- a/tests/Wallabag/ImportBundle/Import/InstapaperImportTest.php +++ b/tests/Wallabag/ImportBundle/Import/InstapaperImportTest.php @@ -247,11 +247,10 @@ class InstapaperImportTest extends TestCase ->expects($this->exactly($dispatched)) ->method('dispatch'); - $import = new InstapaperImport($this->em, $this->contentProxy, $this->tagsAssigner, $dispatcher); - $this->logHandler = new TestHandler(); $logger = new Logger('test', [$this->logHandler]); - $import->setLogger($logger); + + $import = new InstapaperImport($this->em, $this->contentProxy, $this->tagsAssigner, $dispatcher, $logger); if (false === $unsetUser) { $import->setUser($this->user); diff --git a/tests/Wallabag/ImportBundle/Import/PocketImportTest.php b/tests/Wallabag/ImportBundle/Import/PocketImportTest.php index 259280e4f..84eb80ec7 100644 --- a/tests/Wallabag/ImportBundle/Import/PocketImportTest.php +++ b/tests/Wallabag/ImportBundle/Import/PocketImportTest.php @@ -589,12 +589,11 @@ JSON ->expects($this->exactly($dispatched)) ->method('dispatch'); - $pocket = new PocketImport($this->em, $this->contentProxy, $this->tagsAssigner, $dispatcher); - $pocket->setUser($this->user); - $this->logHandler = new TestHandler(); $logger = new Logger('test', [$this->logHandler]); - $pocket->setLogger($logger); + + $pocket = new PocketImport($this->em, $this->contentProxy, $this->tagsAssigner, $dispatcher, $logger); + $pocket->setUser($this->user); return $pocket; } diff --git a/tests/Wallabag/ImportBundle/Import/ReadabilityImportTest.php b/tests/Wallabag/ImportBundle/Import/ReadabilityImportTest.php index 96097f782..c9baabd69 100644 --- a/tests/Wallabag/ImportBundle/Import/ReadabilityImportTest.php +++ b/tests/Wallabag/ImportBundle/Import/ReadabilityImportTest.php @@ -232,11 +232,10 @@ class ReadabilityImportTest extends TestCase ->expects($this->exactly($dispatched)) ->method('dispatch'); - $wallabag = new ReadabilityImport($this->em, $this->contentProxy, $this->tagsAssigner, $dispatcher); - $this->logHandler = new TestHandler(); $logger = new Logger('test', [$this->logHandler]); - $wallabag->setLogger($logger); + + $wallabag = new ReadabilityImport($this->em, $this->contentProxy, $this->tagsAssigner, $dispatcher, $logger); if (false === $unsetUser) { $wallabag->setUser($this->user); diff --git a/tests/Wallabag/ImportBundle/Import/WallabagV1ImportTest.php b/tests/Wallabag/ImportBundle/Import/WallabagV1ImportTest.php index 1b385c114..165fe1466 100644 --- a/tests/Wallabag/ImportBundle/Import/WallabagV1ImportTest.php +++ b/tests/Wallabag/ImportBundle/Import/WallabagV1ImportTest.php @@ -249,19 +249,19 @@ class WallabagV1ImportTest extends TestCase ->expects($this->exactly($dispatched)) ->method('dispatch'); + $this->logHandler = new TestHandler(); + $logger = new Logger('test', [$this->logHandler]); + $wallabag = new WallabagV1Import( $this->em, $this->contentProxy, $this->tagsAssigner, $dispatcher, + $logger, $this->fetchingErrorMessageTitle, $this->fetchingErrorMessage ); - $this->logHandler = new TestHandler(); - $logger = new Logger('test', [$this->logHandler]); - $wallabag->setLogger($logger); - if (false === $unsetUser) { $wallabag->setUser($this->user); } diff --git a/tests/Wallabag/ImportBundle/Import/WallabagV2ImportTest.php b/tests/Wallabag/ImportBundle/Import/WallabagV2ImportTest.php index bc6ba66d4..4c52fa1c8 100644 --- a/tests/Wallabag/ImportBundle/Import/WallabagV2ImportTest.php +++ b/tests/Wallabag/ImportBundle/Import/WallabagV2ImportTest.php @@ -275,11 +275,10 @@ class WallabagV2ImportTest extends TestCase ->expects($this->exactly($dispatched)) ->method('dispatch'); - $wallabag = new WallabagV2Import($this->em, $this->contentProxy, $this->tagsAssigner, $dispatcher); - $this->logHandler = new TestHandler(); $logger = new Logger('test', [$this->logHandler]); - $wallabag->setLogger($logger); + + $wallabag = new WallabagV2Import($this->em, $this->contentProxy, $this->tagsAssigner, $dispatcher, $logger); if (false === $unsetUser) { $wallabag->setUser($this->user); From 1bee0eeb2965d930f92c7eae6debf7f6b83ff051 Mon Sep 17 00:00:00 2001 From: Yassine Guedidi Date: Sat, 27 Aug 2022 23:01:09 +0200 Subject: [PATCH 6/9] Make repositories use ServiceEntityRepository --- app/config/services.yml | 37 ++++++++----------- .../Repository/AnnotationRepository.php | 10 ++++- .../ApiBundle/Repository/ClientRepository.php | 11 +++++- .../Repository/ConfigRepository.php | 10 ++++- .../CoreBundle/Repository/EntryRepository.php | 10 ++++- .../IgnoreOriginInstanceRuleRepository.php | 10 ++++- .../IgnoreOriginUserRuleRepository.php | 10 ++++- .../Repository/SiteCredentialRepository.php | 9 ++++- .../CoreBundle/Repository/TagRepository.php | 10 ++++- .../Repository/TaggingRuleRepository.php | 10 ++++- .../UserBundle/Repository/UserRepository.php | 10 ++++- 11 files changed, 95 insertions(+), 42 deletions(-) diff --git a/app/config/services.yml b/app/config/services.yml index 4992f3d58..f578511a0 100644 --- a/app/config/services.yml +++ b/app/config/services.yml @@ -109,27 +109,23 @@ services: Wallabag\CoreBundle\Helper\RuleBasedIgnoreOriginProcessor: ~ # repository as a service - Wallabag\CoreBundle\Repository\EntryRepository: - factory: [ "@doctrine.orm.default_entity_manager", getRepository ] - arguments: - - 'Wallabag\CoreBundle\Entity\Entry' + Wallabag\AnnotationBundle\Repository\AnnotationRepository: ~ - Wallabag\CoreBundle\Repository\TagRepository: - factory: [ "@doctrine.orm.default_entity_manager", getRepository ] - arguments: - - 'Wallabag\CoreBundle\Entity\Tag' + Wallabag\ApiBundle\Repository\ClientRepository: ~ - Wallabag\CoreBundle\Repository\SiteCredentialRepository: - factory: [ "@doctrine.orm.default_entity_manager", getRepository ] - arguments: - - 'Wallabag\CoreBundle\Entity\SiteCredential' - calls: - - [ setCrypto, [ '@Wallabag\CoreBundle\Helper\CryptoProxy' ] ] + Wallabag\CoreBundle\Repository\ConfigRepository: ~ - Wallabag\CoreBundle\Repository\IgnoreOriginInstanceRuleRepository: - factory: [ "@doctrine.orm.default_entity_manager", getRepository ] - arguments: - - 'Wallabag\CoreBundle\Entity\IgnoreOriginInstanceRule' + Wallabag\CoreBundle\Repository\EntryRepository: ~ + + Wallabag\CoreBundle\Repository\TagRepository: ~ + + Wallabag\CoreBundle\Repository\TaggingRuleRepository: ~ + + Wallabag\CoreBundle\Repository\SiteCredentialRepository: ~ + + Wallabag\CoreBundle\Repository\IgnoreOriginInstanceRuleRepository: ~ + + Wallabag\CoreBundle\Repository\IgnoreOriginUserRuleRepository: ~ Wallabag\CoreBundle\Helper\EntriesExport: arguments: @@ -209,10 +205,7 @@ services: Wallabag\UserBundle\EventListener\PasswordResettingListener: ~ - Wallabag\UserBundle\Repository\UserRepository: - factory: [ "@doctrine.orm.default_entity_manager", getRepository ] - arguments: - - 'Wallabag\UserBundle\Entity\User' + Wallabag\UserBundle\Repository\UserRepository: ~ Wallabag\UserBundle\EventListener\CreateConfigListener: arguments: diff --git a/src/Wallabag/AnnotationBundle/Repository/AnnotationRepository.php b/src/Wallabag/AnnotationBundle/Repository/AnnotationRepository.php index 0de5c934e..59c17e447 100644 --- a/src/Wallabag/AnnotationBundle/Repository/AnnotationRepository.php +++ b/src/Wallabag/AnnotationBundle/Repository/AnnotationRepository.php @@ -2,15 +2,21 @@ namespace Wallabag\AnnotationBundle\Repository; -use Doctrine\ORM\EntityRepository; +use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; use Doctrine\ORM\QueryBuilder; +use Doctrine\Persistence\ManagerRegistry; use Wallabag\AnnotationBundle\Entity\Annotation; /** * AnnotationRepository. */ -class AnnotationRepository extends EntityRepository +class AnnotationRepository extends ServiceEntityRepository { + public function __construct(ManagerRegistry $registry) + { + parent::__construct($registry, Annotation::class); + } + /** * Retrieves all annotations for a user. * diff --git a/src/Wallabag/ApiBundle/Repository/ClientRepository.php b/src/Wallabag/ApiBundle/Repository/ClientRepository.php index fc14262e2..1c00e1645 100644 --- a/src/Wallabag/ApiBundle/Repository/ClientRepository.php +++ b/src/Wallabag/ApiBundle/Repository/ClientRepository.php @@ -2,10 +2,17 @@ namespace Wallabag\ApiBundle\Repository; -use Doctrine\ORM\EntityRepository; +use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; +use Doctrine\Persistence\ManagerRegistry; +use Wallabag\ApiBundle\Entity\Client; -class ClientRepository extends EntityRepository +class ClientRepository extends ServiceEntityRepository { + public function __construct(ManagerRegistry $registry) + { + parent::__construct($registry, Client::class); + } + public function findOneBy(array $criteria, array $orderBy = null) { if (!empty($criteria['id'])) { diff --git a/src/Wallabag/CoreBundle/Repository/ConfigRepository.php b/src/Wallabag/CoreBundle/Repository/ConfigRepository.php index b2b1f627a..c09aabd19 100644 --- a/src/Wallabag/CoreBundle/Repository/ConfigRepository.php +++ b/src/Wallabag/CoreBundle/Repository/ConfigRepository.php @@ -2,8 +2,14 @@ namespace Wallabag\CoreBundle\Repository; -use Doctrine\ORM\EntityRepository; +use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; +use Doctrine\Persistence\ManagerRegistry; +use Wallabag\CoreBundle\Entity\Config; -class ConfigRepository extends EntityRepository +class ConfigRepository extends ServiceEntityRepository { + public function __construct(ManagerRegistry $registry) + { + parent::__construct($registry, Config::class); + } } diff --git a/src/Wallabag/CoreBundle/Repository/EntryRepository.php b/src/Wallabag/CoreBundle/Repository/EntryRepository.php index 7d400b7dc..4874f2790 100644 --- a/src/Wallabag/CoreBundle/Repository/EntryRepository.php +++ b/src/Wallabag/CoreBundle/Repository/EntryRepository.php @@ -2,17 +2,23 @@ namespace Wallabag\CoreBundle\Repository; -use Doctrine\ORM\EntityRepository; +use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; use Doctrine\ORM\NoResultException; use Doctrine\ORM\QueryBuilder; +use Doctrine\Persistence\ManagerRegistry; use Pagerfanta\Doctrine\ORM\QueryAdapter as DoctrineORMAdapter; use Pagerfanta\Pagerfanta; use Wallabag\CoreBundle\Entity\Entry; use Wallabag\CoreBundle\Entity\Tag; use Wallabag\CoreBundle\Helper\UrlHasher; -class EntryRepository extends EntityRepository +class EntryRepository extends ServiceEntityRepository { + public function __construct(ManagerRegistry $registry) + { + parent::__construct($registry, Entry::class); + } + /** * Retrieves all entries for a user. * diff --git a/src/Wallabag/CoreBundle/Repository/IgnoreOriginInstanceRuleRepository.php b/src/Wallabag/CoreBundle/Repository/IgnoreOriginInstanceRuleRepository.php index 708a0edee..ccf321174 100644 --- a/src/Wallabag/CoreBundle/Repository/IgnoreOriginInstanceRuleRepository.php +++ b/src/Wallabag/CoreBundle/Repository/IgnoreOriginInstanceRuleRepository.php @@ -2,8 +2,14 @@ namespace Wallabag\CoreBundle\Repository; -use Doctrine\ORM\EntityRepository; +use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; +use Doctrine\Persistence\ManagerRegistry; +use Wallabag\CoreBundle\Entity\IgnoreOriginInstanceRule; -class IgnoreOriginInstanceRuleRepository extends EntityRepository +class IgnoreOriginInstanceRuleRepository extends ServiceEntityRepository { + public function __construct(ManagerRegistry $registry) + { + parent::__construct($registry, IgnoreOriginInstanceRule::class); + } } diff --git a/src/Wallabag/CoreBundle/Repository/IgnoreOriginUserRuleRepository.php b/src/Wallabag/CoreBundle/Repository/IgnoreOriginUserRuleRepository.php index 8aa4c2652..f41c5b7b4 100644 --- a/src/Wallabag/CoreBundle/Repository/IgnoreOriginUserRuleRepository.php +++ b/src/Wallabag/CoreBundle/Repository/IgnoreOriginUserRuleRepository.php @@ -2,8 +2,14 @@ namespace Wallabag\CoreBundle\Repository; -use Doctrine\ORM\EntityRepository; +use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; +use Doctrine\Persistence\ManagerRegistry; +use Wallabag\CoreBundle\Entity\IgnoreOriginUserRule; -class IgnoreOriginUserRuleRepository extends EntityRepository +class IgnoreOriginUserRuleRepository extends ServiceEntityRepository { + public function __construct(ManagerRegistry $registry) + { + parent::__construct($registry, IgnoreOriginUserRule::class); + } } diff --git a/src/Wallabag/CoreBundle/Repository/SiteCredentialRepository.php b/src/Wallabag/CoreBundle/Repository/SiteCredentialRepository.php index aeadd7704..0c2ad6fb5 100644 --- a/src/Wallabag/CoreBundle/Repository/SiteCredentialRepository.php +++ b/src/Wallabag/CoreBundle/Repository/SiteCredentialRepository.php @@ -2,17 +2,22 @@ namespace Wallabag\CoreBundle\Repository; +use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; +use Doctrine\Persistence\ManagerRegistry; +use Wallabag\CoreBundle\Entity\SiteCredential; use Wallabag\CoreBundle\Helper\CryptoProxy; /** * SiteCredentialRepository. */ -class SiteCredentialRepository extends \Doctrine\ORM\EntityRepository +class SiteCredentialRepository extends ServiceEntityRepository { private $cryptoProxy; - public function setCrypto(CryptoProxy $cryptoProxy) + public function __construct(ManagerRegistry $registry, CryptoProxy $cryptoProxy) { + parent::__construct($registry, SiteCredential::class); + $this->cryptoProxy = $cryptoProxy; } diff --git a/src/Wallabag/CoreBundle/Repository/TagRepository.php b/src/Wallabag/CoreBundle/Repository/TagRepository.php index 3e64f8b26..ffa2c0b36 100644 --- a/src/Wallabag/CoreBundle/Repository/TagRepository.php +++ b/src/Wallabag/CoreBundle/Repository/TagRepository.php @@ -2,12 +2,18 @@ namespace Wallabag\CoreBundle\Repository; -use Doctrine\ORM\EntityRepository; +use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; use Doctrine\ORM\QueryBuilder; +use Doctrine\Persistence\ManagerRegistry; use Wallabag\CoreBundle\Entity\Tag; -class TagRepository extends EntityRepository +class TagRepository extends ServiceEntityRepository { + public function __construct(ManagerRegistry $registry) + { + parent::__construct($registry, Tag::class); + } + /** * Count all tags per user. * diff --git a/src/Wallabag/CoreBundle/Repository/TaggingRuleRepository.php b/src/Wallabag/CoreBundle/Repository/TaggingRuleRepository.php index de3807388..3f38dc85d 100644 --- a/src/Wallabag/CoreBundle/Repository/TaggingRuleRepository.php +++ b/src/Wallabag/CoreBundle/Repository/TaggingRuleRepository.php @@ -2,8 +2,14 @@ namespace Wallabag\CoreBundle\Repository; -use Doctrine\ORM\EntityRepository; +use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; +use Doctrine\Persistence\ManagerRegistry; +use Wallabag\CoreBundle\Entity\TaggingRule; -class TaggingRuleRepository extends EntityRepository +class TaggingRuleRepository extends ServiceEntityRepository { + public function __construct(ManagerRegistry $registry) + { + parent::__construct($registry, TaggingRule::class); + } } diff --git a/src/Wallabag/UserBundle/Repository/UserRepository.php b/src/Wallabag/UserBundle/Repository/UserRepository.php index 4abd55f15..b4333b993 100644 --- a/src/Wallabag/UserBundle/Repository/UserRepository.php +++ b/src/Wallabag/UserBundle/Repository/UserRepository.php @@ -2,12 +2,18 @@ namespace Wallabag\UserBundle\Repository; -use Doctrine\ORM\EntityRepository; +use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; use Doctrine\ORM\QueryBuilder; +use Doctrine\Persistence\ManagerRegistry; use Wallabag\UserBundle\Entity\User; -class UserRepository extends EntityRepository +class UserRepository extends ServiceEntityRepository { + public function __construct(ManagerRegistry $registry) + { + parent::__construct($registry, User::class); + } + /** * Find a user by its username and Feed token. * From d520e55c84439a7f6b063d08b0d07784337fe13f Mon Sep 17 00:00:00 2001 From: Yassine Guedidi Date: Sat, 27 Aug 2022 23:45:27 +0200 Subject: [PATCH 7/9] Bind most constructor parameters to simplify service definition --- app/config/services.yml | 78 ++++++++----------- .../Subscriber/TablePrefixSubscriber.php | 10 +-- 2 files changed, 36 insertions(+), 52 deletions(-) diff --git a/app/config/services.yml b/app/config/services.yml index f578511a0..70f66c10e 100644 --- a/app/config/services.yml +++ b/app/config/services.yml @@ -11,22 +11,38 @@ services: autowire: true autoconfigure: true public: true + bind: + $rootDir: '%kernel.root_dir%' + $debug: '%kernel.debug%' + $defaultLocale: '%kernel.default_locale%' + $wallabagUrl: '%domain_name%' + $tablePrefix: "%database_table_prefix%" + $defaultTheme: '%wallabag_core.theme%' + $encryptionKeyPath: "%wallabag_core.site_credentials.encryption_key_path%" + $fetchingErrorMessageTitle: "%wallabag_core.fetching_error_message_title%" + $fetchingErrorMessage: '%wallabag_core.fetching_error_message%' + $languages: '%wallabag_core.languages%' + $lifeTime: '%wallabag_core.cache_lifetime%' + $cookieFile: "%kernel.cache_dir%/cookiejar.json" + $logoPath: 'web/img/appicon/apple-touch-icon-152.png' + $registrationEnabled: '%fosuser_registration%' + $restrictedAccess: '@=service(''craue_config'').get(''restricted_access'')' + $senderEmail: "%scheb_two_factor.email.sender_email%" + $senderName: "%scheb_two_factor.email.sender_name%" + $storeArticleHeaders: '@=service(''craue_config'').get(''store_article_headers'')' + $supportUrl: '@=service(''craue_config'').get(''wallabag_support_url'')' + $themes: '%liip_theme.themes%' Twig_Extensions_Extension_Text: class: Twig_Extensions_Extension_Text Wallabag\CoreBundle\Twig\WallabagExtension: public: false - arguments: - $lifeTime: "%wallabag_core.cache_lifetime%" - $rootDir: "%kernel.root_dir%" MatomoTwigExtension\MatomoTwigExtension: public: false - Wallabag\CoreBundle\Event\Listener\LocaleListener: - arguments: - $defaultLocale: "%kernel.default_locale%" + Wallabag\CoreBundle\Event\Listener\LocaleListener: ~ Wallabag\CoreBundle\Event\Listener\UserLocaleListener: tags: @@ -40,15 +56,10 @@ services: $defaultLifetime: 0 $directory: '%kernel.cache_dir%' - Wallabag\CoreBundle\Helper\DetectActiveTheme: - arguments: - $defaultTheme: "%wallabag_core.theme%" + Wallabag\CoreBundle\Helper\DetectActiveTheme: ~ # custom form type - Wallabag\CoreBundle\Form\Type\ConfigType: - arguments: - $themes: "%liip_theme.themes%" - $languages: "%wallabag_core.languages%" + Wallabag\CoreBundle\Form\Type\ConfigType: ~ Wallabag\CoreBundle\Form\Type\EntryFilterType: ~ @@ -57,8 +68,6 @@ services: - { name: request.param_converter, converter: username_feed_token_converter } Wallabag\CoreBundle\Event\Subscriber\TablePrefixSubscriber: - arguments: - $prefix: "%database_table_prefix%" tags: - { name: doctrine.event_subscriber } @@ -88,19 +97,12 @@ services: alias: Wallabag\CoreBundle\GuzzleSiteAuthenticator\GrabySiteConfigBuilder Wallabag\CoreBundle\Helper\HttpClientFactory: - arguments: - $restrictedAccess: '@=service(''craue_config'').get(''restricted_access'')' calls: - ["addSubscriber", ["@bd_guzzle_site_authenticator.authenticator_subscriber"]] - Wallabag\CoreBundle\Helper\FileCookieJar: - arguments: - $cookieFile: "%kernel.cache_dir%/cookiejar.json" + Wallabag\CoreBundle\Helper\FileCookieJar: ~ - Wallabag\CoreBundle\Helper\ContentProxy: - arguments: - $fetchingErrorMessage: '%wallabag_core.fetching_error_message%' - $storeArticleHeaders: '@=service(''craue_config'').get(''store_article_headers'')' + Wallabag\CoreBundle\Helper\ContentProxy: ~ Wallabag\CoreBundle\Helper\TagsAssigner: ~ @@ -127,10 +129,7 @@ services: Wallabag\CoreBundle\Repository\IgnoreOriginUserRuleRepository: ~ - Wallabag\CoreBundle\Helper\EntriesExport: - arguments: - $wallabagUrl: '%domain_name%' - $logoPath: web/img/appicon/apple-touch-icon-152.png + Wallabag\CoreBundle\Helper\EntriesExport: ~ Wallabag\CoreBundle\Operator\PHP\Matches: tags: @@ -165,9 +164,7 @@ services: path: '%redis_path%' password: '%redis_password%' - Wallabag\CoreBundle\Controller\ExceptionController: - arguments: - $debug: '%kernel.debug%' + Wallabag\CoreBundle\Controller\ExceptionController: ~ Wallabag\CoreBundle\Event\Subscriber\SQLiteCascadeDeleteSubscriber: tags: @@ -180,28 +177,18 @@ services: Wallabag\CoreBundle\Helper\DownloadImages: arguments: $baseFolder: "%kernel.project_dir%/web/assets/images" - $wallabagUrl: '%domain_name%' wallabag_core.entry.download_images.client: alias: 'httplug.client.wallabag_core.entry.download_images' - Wallabag\CoreBundle\Helper\CryptoProxy: - arguments: - $encryptionKeyPath: "%wallabag_core.site_credentials.encryption_key_path%" + Wallabag\CoreBundle\Helper\CryptoProxy: ~ Wallabag\CoreBundle\Command\: resource: ../../src/Wallabag/CoreBundle/Command/* - Wallabag\UserBundle\Mailer\AuthCodeMailer: - arguments: - $senderEmail: "%scheb_two_factor.email.sender_email%" - $senderName: "%scheb_two_factor.email.sender_name%" - $supportUrl: '@=service(''craue_config'').get(''wallabag_support_url'')' - $wallabagUrl: '%domain_name%' + Wallabag\UserBundle\Mailer\AuthCodeMailer: ~ - Wallabag\UserBundle\EventListener\RegistrationListener: - arguments: - $registrationEnabled: '%fosuser_registration%' + Wallabag\UserBundle\EventListener\RegistrationListener: ~ Wallabag\UserBundle\EventListener\PasswordResettingListener: ~ @@ -233,9 +220,6 @@ services: - { name: wallabag_import.import, alias: pocket } Wallabag\ImportBundle\Import\WallabagV1Import: - arguments: - $fetchingErrorMessageTitle: "%wallabag_core.fetching_error_message_title%" - $fetchingErrorMessage: "%wallabag_core.fetching_error_message%" tags: - { name: wallabag_import.import, alias: wallabag_v1 } diff --git a/src/Wallabag/CoreBundle/Event/Subscriber/TablePrefixSubscriber.php b/src/Wallabag/CoreBundle/Event/Subscriber/TablePrefixSubscriber.php index fb8f225fc..939db34d0 100644 --- a/src/Wallabag/CoreBundle/Event/Subscriber/TablePrefixSubscriber.php +++ b/src/Wallabag/CoreBundle/Event/Subscriber/TablePrefixSubscriber.php @@ -18,11 +18,11 @@ use Doctrine\ORM\Mapping\ClassMetadataInfo; */ class TablePrefixSubscriber implements EventSubscriber { - protected $prefix = ''; + protected $tablePrefix = ''; - public function __construct($prefix) + public function __construct($tablePrefix) { - $this->prefix = (string) $prefix; + $this->tablePrefix = (string) $tablePrefix; } public function getSubscribedEvents() @@ -39,12 +39,12 @@ class TablePrefixSubscriber implements EventSubscriber return; } - $classMetadata->setPrimaryTable(['name' => $this->prefix . $classMetadata->getTableName()]); + $classMetadata->setPrimaryTable(['name' => $this->tablePrefix . $classMetadata->getTableName()]); foreach ($classMetadata->getAssociationMappings() as $fieldName => $mapping) { if (ClassMetadataInfo::MANY_TO_MANY === $mapping['type'] && isset($classMetadata->associationMappings[$fieldName]['joinTable']['name'])) { $mappedTableName = $classMetadata->associationMappings[$fieldName]['joinTable']['name']; - $classMetadata->associationMappings[$fieldName]['joinTable']['name'] = $this->prefix . $mappedTableName; + $classMetadata->associationMappings[$fieldName]['joinTable']['name'] = $this->tablePrefix . $mappedTableName; } } } From e856c06d39a28986d2229f1f797f563bda4e6e77 Mon Sep 17 00:00:00 2001 From: Yassine Guedidi Date: Sun, 28 Aug 2022 01:07:59 +0200 Subject: [PATCH 8/9] Simplify service definitions --- app/config/services.yml | 85 ++++++++++------------------------------- 1 file changed, 20 insertions(+), 65 deletions(-) diff --git a/app/config/services.yml b/app/config/services.yml index 70f66c10e..2a58cd8d4 100644 --- a/app/config/services.yml +++ b/app/config/services.yml @@ -33,17 +33,32 @@ services: $supportUrl: '@=service(''craue_config'').get(''wallabag_support_url'')' $themes: '%liip_theme.themes%' + Wallabag\AnnotationBundle\: + resource: '../../src/Wallabag/AnnotationBundle/*' + exclude: '../../src/Wallabag/AnnotationBundle/{Controller,Entity}' + + Wallabag\ApiBundle\: + resource: '../../src/Wallabag/ApiBundle/*' + exclude: '../../src/Wallabag/ApiBundle/{Controller,Entity}' + + Wallabag\CoreBundle\: + resource: '../../src/Wallabag/CoreBundle/*' + exclude: '../../src/Wallabag/CoreBundle/{Controller,Entity}' + + Wallabag\ImportBundle\: + resource: '../../src/Wallabag/ImportBundle/*' + exclude: '../../src/Wallabag/ImportBundle/{Consumer,Controller,Redis}' + + Wallabag\UserBundle\: + resource: '../../src/Wallabag/UserBundle/*' + exclude: '../../src/Wallabag/UserBundle/{Controller,Entity}' + Twig_Extensions_Extension_Text: class: Twig_Extensions_Extension_Text - Wallabag\CoreBundle\Twig\WallabagExtension: - public: false - MatomoTwigExtension\MatomoTwigExtension: public: false - Wallabag\CoreBundle\Event\Listener\LocaleListener: ~ - Wallabag\CoreBundle\Event\Listener\UserLocaleListener: tags: - { name: kernel.event_listener, event: security.interactive_login, method: onInteractiveLogin } @@ -56,13 +71,6 @@ services: $defaultLifetime: 0 $directory: '%kernel.cache_dir%' - Wallabag\CoreBundle\Helper\DetectActiveTheme: ~ - - # custom form type - Wallabag\CoreBundle\Form\Type\ConfigType: ~ - - Wallabag\CoreBundle\Form\Type\EntryFilterType: ~ - Wallabag\CoreBundle\ParamConverter\UsernameFeedTokenConverter: tags: - { name: request.param_converter, converter: username_feed_token_converter } @@ -100,37 +108,6 @@ services: calls: - ["addSubscriber", ["@bd_guzzle_site_authenticator.authenticator_subscriber"]] - Wallabag\CoreBundle\Helper\FileCookieJar: ~ - - Wallabag\CoreBundle\Helper\ContentProxy: ~ - - Wallabag\CoreBundle\Helper\TagsAssigner: ~ - - Wallabag\CoreBundle\Helper\RuleBasedTagger: ~ - - Wallabag\CoreBundle\Helper\RuleBasedIgnoreOriginProcessor: ~ - - # repository as a service - Wallabag\AnnotationBundle\Repository\AnnotationRepository: ~ - - Wallabag\ApiBundle\Repository\ClientRepository: ~ - - Wallabag\CoreBundle\Repository\ConfigRepository: ~ - - Wallabag\CoreBundle\Repository\EntryRepository: ~ - - Wallabag\CoreBundle\Repository\TagRepository: ~ - - Wallabag\CoreBundle\Repository\TaggingRuleRepository: ~ - - Wallabag\CoreBundle\Repository\SiteCredentialRepository: ~ - - Wallabag\CoreBundle\Repository\IgnoreOriginInstanceRuleRepository: ~ - - Wallabag\CoreBundle\Repository\IgnoreOriginUserRuleRepository: ~ - - Wallabag\CoreBundle\Helper\EntriesExport: ~ - Wallabag\CoreBundle\Operator\PHP\Matches: tags: - { name: rulerz.operator, target: native, operator: matches } @@ -151,10 +128,6 @@ services: tags: - { name: rulerz.operator, target: native, operator: "~" } - Wallabag\CoreBundle\Helper\Redirect: ~ - - Wallabag\CoreBundle\Helper\PreparePagerForEntries: ~ - Predis\Client: arguments: $parameters: @@ -181,19 +154,6 @@ services: wallabag_core.entry.download_images.client: alias: 'httplug.client.wallabag_core.entry.download_images' - Wallabag\CoreBundle\Helper\CryptoProxy: ~ - - Wallabag\CoreBundle\Command\: - resource: ../../src/Wallabag/CoreBundle/Command/* - - Wallabag\UserBundle\Mailer\AuthCodeMailer: ~ - - Wallabag\UserBundle\EventListener\RegistrationListener: ~ - - Wallabag\UserBundle\EventListener\PasswordResettingListener: ~ - - Wallabag\UserBundle\Repository\UserRepository: ~ - Wallabag\UserBundle\EventListener\CreateConfigListener: arguments: $theme: "%wallabag_core.theme%" @@ -208,8 +168,6 @@ services: tags: - { name: kernel.event_listener, event: security.authentication.failure, method: onAuthenticationFailure } - Wallabag\ImportBundle\Import\ImportChain: ~ - wallabag_import.pocket.client: alias: 'httplug.client.wallabag_import.pocket.client' @@ -254,6 +212,3 @@ services: Wallabag\ImportBundle\Import\ChromeImport: tags: - { name: wallabag_import.import, alias: chrome } - - Wallabag\ImportBundle\Command\: - resource: ../../src/Wallabag/ImportBundle/Command/* From 1c479d6b97e29bf408efd7a0397525247596a9fd Mon Sep 17 00:00:00 2001 From: Yassine Guedidi Date: Sat, 30 Apr 2022 20:12:47 +0200 Subject: [PATCH 9/9] Autowire Redis and RabbitMQ services --- app/config/services_rabbit.yml | 69 ++++---------- app/config/services_redis.yml | 90 +++++-------------- .../Consumer/AbstractConsumer.php | 4 +- 3 files changed, 41 insertions(+), 122 deletions(-) diff --git a/app/config/services_rabbit.yml b/app/config/services_rabbit.yml index 0cd336ef3..e407745d2 100644 --- a/app/config/services_rabbit.yml +++ b/app/config/services_rabbit.yml @@ -8,80 +8,49 @@ services: wallabag_import.consumer.amqp.pocket: class: Wallabag\ImportBundle\Consumer\AMQPEntryConsumer arguments: - - "@doctrine.orm.entity_manager" - - '@Wallabag\UserBundle\Repository\UserRepository' - - '@Wallabag\ImportBundle\Import\PocketImport' - - "@event_dispatcher" - - "@logger" + $import: '@Wallabag\ImportBundle\Import\PocketImport' + wallabag_import.consumer.amqp.readability: class: Wallabag\ImportBundle\Consumer\AMQPEntryConsumer arguments: - - "@doctrine.orm.entity_manager" - - '@Wallabag\UserBundle\Repository\UserRepository' - - '@Wallabag\ImportBundle\Import\ReadabilityImport' - - "@event_dispatcher" - - "@logger" + $import: '@Wallabag\ImportBundle\Import\ReadabilityImport' + wallabag_import.consumer.amqp.instapaper: class: Wallabag\ImportBundle\Consumer\AMQPEntryConsumer arguments: - - "@doctrine.orm.entity_manager" - - '@Wallabag\UserBundle\Repository\UserRepository' - - '@Wallabag\ImportBundle\Import\InstapaperImport' - - "@event_dispatcher" - - "@logger" + $import: '@Wallabag\ImportBundle\Import\InstapaperImport' + wallabag_import.consumer.amqp.pinboard: class: Wallabag\ImportBundle\Consumer\AMQPEntryConsumer arguments: - - "@doctrine.orm.entity_manager" - - '@Wallabag\UserBundle\Repository\UserRepository' - - '@Wallabag\ImportBundle\Import\PinboardImport' - - "@event_dispatcher" - - "@logger" + $import: '@Wallabag\ImportBundle\Import\PinboardImport' + wallabag_import.consumer.amqp.delicious: class: Wallabag\ImportBundle\Consumer\AMQPEntryConsumer arguments: - - "@doctrine.orm.entity_manager" - - '@Wallabag\UserBundle\Repository\UserRepository' - - '@Wallabag\ImportBundle\Import\DeliciousImport' - - "@event_dispatcher" - - "@logger" + $import: '@Wallabag\ImportBundle\Import\DeliciousImport' + wallabag_import.consumer.amqp.wallabag_v1: class: Wallabag\ImportBundle\Consumer\AMQPEntryConsumer arguments: - - "@doctrine.orm.entity_manager" - - '@Wallabag\UserBundle\Repository\UserRepository' - - '@Wallabag\ImportBundle\Import\WallabagV1Import' - - "@event_dispatcher" - - "@logger" + $import: '@Wallabag\ImportBundle\Import\WallabagV1Import' + wallabag_import.consumer.amqp.wallabag_v2: class: Wallabag\ImportBundle\Consumer\AMQPEntryConsumer arguments: - - "@doctrine.orm.entity_manager" - - '@Wallabag\UserBundle\Repository\UserRepository' - - '@Wallabag\ImportBundle\Import\WallabagV2Import' - - "@event_dispatcher" - - "@logger" + $import: '@Wallabag\ImportBundle\Import\WallabagV2Import' + wallabag_import.consumer.amqp.elcurator: class: Wallabag\ImportBundle\Consumer\AMQPEntryConsumer arguments: - - "@doctrine.orm.entity_manager" - - '@Wallabag\UserBundle\Repository\UserRepository' - - '@Wallabag\ImportBundle\Import\ElcuratorImport' - - "@event_dispatcher" - - "@logger" + $import: '@Wallabag\ImportBundle\Import\ElcuratorImport' + wallabag_import.consumer.amqp.firefox: class: Wallabag\ImportBundle\Consumer\AMQPEntryConsumer arguments: - - "@doctrine.orm.entity_manager" - - '@Wallabag\UserBundle\Repository\UserRepository' - - '@Wallabag\ImportBundle\Import\FirefoxImport' - - "@event_dispatcher" - - "@logger" + $import: '@Wallabag\ImportBundle\Import\FirefoxImport' + wallabag_import.consumer.amqp.chrome: class: Wallabag\ImportBundle\Consumer\AMQPEntryConsumer arguments: - - "@doctrine.orm.entity_manager" - - '@Wallabag\UserBundle\Repository\UserRepository' - - '@Wallabag\ImportBundle\Import\ChromeImport' - - "@event_dispatcher" - - "@logger" + $import: '@Wallabag\ImportBundle\Import\ChromeImport' diff --git a/app/config/services_redis.yml b/app/config/services_redis.yml index fc83f418c..02c7eba95 100644 --- a/app/config/services_redis.yml +++ b/app/config/services_redis.yml @@ -9,8 +9,7 @@ services: wallabag_import.queue.redis.readability: class: Simpleue\Queue\RedisQueue arguments: - - '@Predis\Client' - - "wallabag.import.readability" + $queueName: "wallabag.import.readability" wallabag_import.producer.redis.readability: class: Wallabag\ImportBundle\Redis\Producer @@ -20,18 +19,13 @@ services: wallabag_import.consumer.redis.readability: class: Wallabag\ImportBundle\Consumer\RedisEntryConsumer arguments: - - "@doctrine.orm.entity_manager" - - '@Wallabag\UserBundle\Repository\UserRepository' - - '@Wallabag\ImportBundle\Import\ReadabilityImport' - - "@event_dispatcher" - - "@logger" + $import: '@Wallabag\ImportBundle\Import\ReadabilityImport' # instapaper wallabag_import.queue.redis.instapaper: class: Simpleue\Queue\RedisQueue arguments: - - '@Predis\Client' - - "wallabag.import.instapaper" + $queueName: "wallabag.import.instapaper" wallabag_import.producer.redis.instapaper: class: Wallabag\ImportBundle\Redis\Producer @@ -41,18 +35,13 @@ services: wallabag_import.consumer.redis.instapaper: class: Wallabag\ImportBundle\Consumer\RedisEntryConsumer arguments: - - "@doctrine.orm.entity_manager" - - '@Wallabag\UserBundle\Repository\UserRepository' - - '@Wallabag\ImportBundle\Import\InstapaperImport' - - "@event_dispatcher" - - "@logger" + $import: '@Wallabag\ImportBundle\Import\InstapaperImport' # pinboard wallabag_import.queue.redis.pinboard: class: Simpleue\Queue\RedisQueue arguments: - - '@Predis\Client' - - "wallabag.import.pinboard" + $queueName: "wallabag.import.pinboard" wallabag_import.producer.redis.pinboard: class: Wallabag\ImportBundle\Redis\Producer @@ -62,18 +51,13 @@ services: wallabag_import.consumer.redis.pinboard: class: Wallabag\ImportBundle\Consumer\RedisEntryConsumer arguments: - - "@doctrine.orm.entity_manager" - - '@Wallabag\UserBundle\Repository\UserRepository' - - '@Wallabag\ImportBundle\Import\PinboardImport' - - "@event_dispatcher" - - "@logger" + $import: '@Wallabag\ImportBundle\Import\PinboardImport' # delicious wallabag_import.queue.redis.delicious: class: Simpleue\Queue\RedisQueue arguments: - - '@Predis\Client' - - "wallabag.import.delicious" + $queueName: "wallabag.import.delicious" wallabag_import.producer.redis.delicious: class: Wallabag\ImportBundle\Redis\Producer @@ -83,18 +67,13 @@ services: wallabag_import.consumer.redis.delicious: class: Wallabag\ImportBundle\Consumer\RedisEntryConsumer arguments: - - "@doctrine.orm.entity_manager" - - '@Wallabag\UserBundle\Repository\UserRepository' - - '@Wallabag\ImportBundle\Import\DeliciousImport' - - "@event_dispatcher" - - "@logger" + $import: '@Wallabag\ImportBundle\Import\DeliciousImport' # pocket wallabag_import.queue.redis.pocket: class: Simpleue\Queue\RedisQueue arguments: - - '@Predis\Client' - - "wallabag.import.pocket" + $queueName: "wallabag.import.pocket" wallabag_import.producer.redis.pocket: class: Wallabag\ImportBundle\Redis\Producer @@ -104,18 +83,13 @@ services: wallabag_import.consumer.redis.pocket: class: Wallabag\ImportBundle\Consumer\RedisEntryConsumer arguments: - - "@doctrine.orm.entity_manager" - - '@Wallabag\UserBundle\Repository\UserRepository' - - '@Wallabag\ImportBundle\Import\PocketImport' - - "@event_dispatcher" - - "@logger" + $import: '@Wallabag\ImportBundle\Import\PocketImport' # wallabag v1 wallabag_import.queue.redis.wallabag_v1: class: Simpleue\Queue\RedisQueue arguments: - - '@Predis\Client' - - "wallabag.import.wallabag_v1" + $queueName: "wallabag.import.wallabag_v1" wallabag_import.producer.redis.wallabag_v1: class: Wallabag\ImportBundle\Redis\Producer @@ -125,18 +99,13 @@ services: wallabag_import.consumer.redis.wallabag_v1: class: Wallabag\ImportBundle\Consumer\RedisEntryConsumer arguments: - - "@doctrine.orm.entity_manager" - - '@Wallabag\UserBundle\Repository\UserRepository' - - '@Wallabag\ImportBundle\Import\WallabagV1Import' - - "@event_dispatcher" - - "@logger" + $import: '@Wallabag\ImportBundle\Import\WallabagV1Import' # wallabag v2 wallabag_import.queue.redis.wallabag_v2: class: Simpleue\Queue\RedisQueue arguments: - - '@Predis\Client' - - "wallabag.import.wallabag_v2" + $queueName: "wallabag.import.wallabag_v2" wallabag_import.producer.redis.wallabag_v2: class: Wallabag\ImportBundle\Redis\Producer @@ -146,18 +115,13 @@ services: wallabag_import.consumer.redis.wallabag_v2: class: Wallabag\ImportBundle\Consumer\RedisEntryConsumer arguments: - - "@doctrine.orm.entity_manager" - - '@Wallabag\UserBundle\Repository\UserRepository' - - '@Wallabag\ImportBundle\Import\WallabagV2Import' - - "@event_dispatcher" - - "@logger" + $import: '@Wallabag\ImportBundle\Import\WallabagV2Import' # elcurator wallabag_import.queue.redis.elcurator: class: Simpleue\Queue\RedisQueue arguments: - - '@Predis\Client' - - "wallabag.import.elcurator" + $queueName: "wallabag.import.elcurator" wallabag_import.producer.redis.elcurator: class: Wallabag\ImportBundle\Redis\Producer @@ -167,18 +131,13 @@ services: wallabag_import.consumer.redis.elcurator: class: Wallabag\ImportBundle\Consumer\RedisEntryConsumer arguments: - - "@doctrine.orm.entity_manager" - - '@Wallabag\UserBundle\Repository\UserRepository' - - '@Wallabag\ImportBundle\Import\ElcuratorImport' - - "@event_dispatcher" - - "@logger" + $import: '@Wallabag\ImportBundle\Import\ElcuratorImport' # firefox wallabag_import.queue.redis.firefox: class: Simpleue\Queue\RedisQueue arguments: - - '@Predis\Client' - - "wallabag.import.firefox" + $queueName: "wallabag.import.firefox" wallabag_import.producer.redis.firefox: class: Wallabag\ImportBundle\Redis\Producer @@ -188,18 +147,13 @@ services: wallabag_import.consumer.redis.firefox: class: Wallabag\ImportBundle\Consumer\RedisEntryConsumer arguments: - - "@doctrine.orm.entity_manager" - - '@Wallabag\UserBundle\Repository\UserRepository' - - '@Wallabag\ImportBundle\Import\FirefoxImport' - - "@event_dispatcher" - - "@logger" + $import: '@Wallabag\ImportBundle\Import\FirefoxImport' # chrome wallabag_import.queue.redis.chrome: class: Simpleue\Queue\RedisQueue arguments: - - '@Predis\Client' - - "wallabag.import.chrome" + $queueName: "wallabag.import.chrome" wallabag_import.producer.redis.chrome: class: Wallabag\ImportBundle\Redis\Producer @@ -209,8 +163,4 @@ services: wallabag_import.consumer.redis.chrome: class: Wallabag\ImportBundle\Consumer\RedisEntryConsumer arguments: - - "@doctrine.orm.entity_manager" - - '@Wallabag\UserBundle\Repository\UserRepository' - - '@Wallabag\ImportBundle\Import\ChromeImport' - - "@event_dispatcher" - - "@logger" + $import: '@Wallabag\ImportBundle\Import\ChromeImport' diff --git a/src/Wallabag/ImportBundle/Consumer/AbstractConsumer.php b/src/Wallabag/ImportBundle/Consumer/AbstractConsumer.php index e4bfbdf03..17c8561a6 100644 --- a/src/Wallabag/ImportBundle/Consumer/AbstractConsumer.php +++ b/src/Wallabag/ImportBundle/Consumer/AbstractConsumer.php @@ -2,7 +2,7 @@ namespace Wallabag\ImportBundle\Consumer; -use Doctrine\ORM\EntityManager; +use Doctrine\ORM\EntityManagerInterface; use Psr\Log\LoggerInterface; use Psr\Log\NullLogger; use Symfony\Component\EventDispatcher\EventDispatcherInterface; @@ -20,7 +20,7 @@ abstract class AbstractConsumer protected $eventDispatcher; protected $logger; - public function __construct(EntityManager $em, UserRepository $userRepository, AbstractImport $import, EventDispatcherInterface $eventDispatcher, LoggerInterface $logger = null) + public function __construct(EntityManagerInterface $em, UserRepository $userRepository, AbstractImport $import, EventDispatcherInterface $eventDispatcher, LoggerInterface $logger = null) { $this->em = $em; $this->userRepository = $userRepository;