]> git.immae.eu Git - github/wallabag/wallabag.git/blobdiff - src/Wallabag/CoreBundle/Resources/config/services.yml
Crypt site credential password
[github/wallabag/wallabag.git] / src / Wallabag / CoreBundle / Resources / config / services.yml
index d8bd8d5295daa2dbd345676d65694ec47d452971..e09b0f1859ceb972a6e3561c9e79de5a96c3d81a 100644 (file)
 services:
-    wallabag_core.twig.extension:
-        class: Wallabag\CoreBundle\Twig\Extension\WallabagExtension
-        tags:
-            - { name: twig.extension }
-
     wallabag_core.helper.detect_active_theme:
         class: Wallabag\CoreBundle\Helper\DetectActiveTheme
         arguments:
-            - @security.context
-            - %theme% # default theme from parameters.yml
+            - "@security.token_storage"
+            - "%wallabag_core.theme%"
 
     # custom form type
     wallabag_core.form.type.config:
         class: Wallabag\CoreBundle\Form\Type\ConfigType
         arguments:
-            - %liip_theme.themes%
+            - "%liip_theme.themes%"
+            - "%wallabag_core.languages%"
         tags:
-            - { name: form.type, alias: config }
+            - { name: form.type }
 
-    wallabag_core.form.type.forgot_password:
-        class: Wallabag\CoreBundle\Form\Type\ForgotPasswordType
+    wallabag_core.filter.type.entry:
+        class: Wallabag\CoreBundle\Form\Type\EntryFilterType
         arguments:
-            - @doctrine
+            - "@wallabag_core.entry_repository"
+            - "@security.token_storage"
         tags:
-            - { name: form.type, alias: forgot_password }
+            - { name: form.type }
 
     wallabag_core.param_converter.username_rsstoken_converter:
         class: Wallabag\CoreBundle\ParamConverter\UsernameRssTokenConverter
         tags:
             - { name: request.param_converter, converter: username_rsstoken_converter }
         arguments:
-            - @doctrine
+            - "@doctrine"
+
+    wallabag_core.subscriber.table_prefix:
+        class: Wallabag\CoreBundle\Event\Subscriber\TablePrefixSubscriber
+        arguments:
+            - "%database_table_prefix%"
+        tags:
+            - { name: doctrine.event_subscriber }
+
+    wallabag_core.graby:
+        class: Graby\Graby
+        arguments:
+            -
+                error_message: '%wallabag_core.fetching_error_message%'
+                error_message_title: '%wallabag_core.fetching_error_message_title%'
+            - "@wallabag_core.guzzle.http_client"
+            - "@wallabag_core.graby.config_builder"
+        calls:
+            - [ setLogger, [ "@logger" ] ]
+        tags:
+            - { name: monolog.logger, channel: graby }
+
+    wallabag_core.graby.config_builder:
+        class: Graby\SiteConfig\ConfigBuilder
+        arguments:
+            - {}
+            - "@logger"
+
+    wallabag_core.guzzle.http_client:
+        class: GuzzleHttp\ClientInterface
+        factory: ["@wallabag_core.guzzle.http_client_factory", buildHttpClient]
+
+    wallabag_core.guzzle_authenticator.config_builder:
+        class: Wallabag\CoreBundle\GuzzleSiteAuthenticator\GrabySiteConfigBuilder
+        arguments:
+            - "@wallabag_core.graby.config_builder"
+            - "@security.token_storage"
+            - "@wallabag_core.site_credential_repository"
+            - '@logger'
+        tags:
+            - { name: monolog.logger, channel: graby }
+
+    # service alias override
+    bd_guzzle_site_authenticator.site_config_builder:
+        alias: wallabag_core.guzzle_authenticator.config_builder
+
+    wallabag_core.guzzle.http_client_factory:
+        class: Wallabag\CoreBundle\Helper\HttpClientFactory
+        arguments:
+            - "@wallabag_core.guzzle.cookie_jar"
+            - '@=service(''craue_config'').get(''restricted_access'')'
+            - '@logger'
+        calls:
+            - ["addSubscriber", ["@bd_guzzle_site_authenticator.authenticator_subscriber"]]
+
+    wallabag_core.guzzle.cookie_jar:
+        class: GuzzleHttp\Cookie\FileCookieJar
+        arguments: ["%kernel.cache_dir%/cookiejar.json"]
+
+    wallabag_core.content_proxy:
+        class: Wallabag\CoreBundle\Helper\ContentProxy
+        arguments:
+            - "@wallabag_core.graby"
+            - "@wallabag_core.rule_based_tagger"
+            - "@validator"
+            - "@logger"
+            - '%wallabag_core.fetching_error_message%'
+
+    wallabag_core.tags_assigner:
+        class: Wallabag\CoreBundle\Helper\TagsAssigner
+        arguments:
+            - "@wallabag_core.tag_repository"
+
+    wallabag_core.rule_based_tagger:
+        class: Wallabag\CoreBundle\Helper\RuleBasedTagger
+        arguments:
+            - "@rulerz"
+            - "@wallabag_core.tag_repository"
+            - "@wallabag_core.entry_repository"
+            - "@logger"
+
+    # repository as a service
+    wallabag_core.entry_repository:
+        class: Wallabag\CoreBundle\Repository\EntryRepository
+        factory: [ "@doctrine.orm.default_entity_manager", getRepository ]
+        arguments:
+            - WallabagCoreBundle:Entry
+
+    wallabag_core.tag_repository:
+        class: Wallabag\CoreBundle\Repository\TagRepository
+        factory: [ "@doctrine.orm.default_entity_manager", getRepository ]
+        arguments:
+            - WallabagCoreBundle:Tag
+
+    wallabag_core.site_credential_repository:
+        class: Wallabag\CoreBundle\Repository\SiteCredentialRepository
+        factory: [ "@doctrine.orm.default_entity_manager", getRepository ]
+        arguments:
+            - WallabagCoreBundle:SiteCredential
+        calls:
+            - [ setCrypto, [ "@wallabag_core.helper.crypto_proxy" ] ]
+
+    wallabag_core.helper.entries_export:
+        class: Wallabag\CoreBundle\Helper\EntriesExport
+        arguments:
+            - '%domain_name%'
+            - src/Wallabag/CoreBundle/Resources/public/themes/_global/img/appicon/apple-touch-icon-152.png
+
+    wallabag.operator.array.matches:
+        class: Wallabag\CoreBundle\Operator\PHP\Matches
+        tags:
+            - { name: rulerz.operator, target: native, operator: matches }
+
+    wallabag.operator.doctrine.matches:
+        class: Wallabag\CoreBundle\Operator\Doctrine\Matches
+        tags:
+            - { name: rulerz.operator, target: doctrine, operator: matches, inline: true }
+
+    wallabag.operator.array.notmatches:
+        class: Wallabag\CoreBundle\Operator\PHP\NotMatches
+        tags:
+            - { name: rulerz.operator, target: native, operator: notmatches }
+
+    wallabag.operator.doctrine.notmatches:
+        class: Wallabag\CoreBundle\Operator\Doctrine\NotMatches
+        tags:
+            - { name: rulerz.operator, target: doctrine, operator: notmatches, inline: true }
+
+    wallabag_core.helper.redirect:
+        class: Wallabag\CoreBundle\Helper\Redirect
+        arguments:
+            - "@router"
+            - "@security.token_storage"
+
+    wallabag_core.helper.prepare_pager_for_entries:
+        class: Wallabag\CoreBundle\Helper\PreparePagerForEntries
+        arguments:
+            - "@security.token_storage"
+            - "@router"
 
-    wallabag_core.doctrine.prefixed_naming_strategy:
-        class: Wallabag\CoreBundle\Doctrine\Mapping\PrefixedNamingStrategy
-        arguments: [%database_table_prefix%]
+    wallabag_core.redis.client:
+        class: Predis\Client
+        arguments:
+            -
+                scheme: '%redis_scheme%'
+                host: '%redis_host%'
+                port: '%redis_port%'
+                path: '%redis_path%'
+                password: '%redis_password%'
+
+    wallabag_core.exception_controller:
+        class: Wallabag\CoreBundle\Controller\ExceptionController
+        arguments:
+            - '@twig'
+            - '%kernel.debug%'
+
+    wallabag_core.subscriber.sqlite_cascade_delete:
+        class: Wallabag\CoreBundle\Event\Subscriber\SQLiteCascadeDeleteSubscriber
+        arguments:
+            - "@doctrine"
+        tags:
+            - { name: doctrine.event_subscriber }
+
+    wallabag_core.subscriber.download_images:
+        class: Wallabag\CoreBundle\Event\Subscriber\DownloadImagesSubscriber
+        arguments:
+            - "@doctrine.orm.default_entity_manager"
+            - "@wallabag_core.entry.download_images"
+            - '@=service(''craue_config'').get(''download_images_enabled'')'
+            - "@logger"
+        tags:
+            - { name: kernel.event_subscriber }
+
+    wallabag_core.entry.download_images:
+        class: Wallabag\CoreBundle\Helper\DownloadImages
+        arguments:
+            - "@wallabag_core.entry.download_images.client"
+            - "%kernel.root_dir%/../web/assets/images"
+            - '%domain_name%'
+            - "@logger"
+
+    wallabag_core.entry.download_images.client:
+        class: GuzzleHttp\Client
+
+    wallabag_core.helper.crypto_proxy:
+        class: Wallabag\CoreBundle\Helper\CryptoProxy
+        arguments:
+            - "%wallabag_core.site_credentials.encryption_key_path%"
+            - "@logger"