src/Bidcoz/Bundle/CoreBundle/BidcozCoreServices.php line 535

Open in your IDE?
  1. <?php
  2. namespace Bidcoz\Bundle\CoreBundle;
  3. use Bidcoz\Bundle\AdminBundle\Service\AnalyticsManager;
  4. use Bidcoz\Bundle\CoreBundle\Services\FlightSimulatorManager;
  5. use Bidcoz\Bundle\CoreBundle\Entity\Campaign;
  6. use Bidcoz\Bundle\CoreBundle\Entity\User;
  7. use Bidcoz\Bundle\CoreBundle\Factory\TransactionFactory;
  8. use Bidcoz\Bundle\CoreBundle\Form\DataTransformer\EntityTransformerFactory;
  9. use Bidcoz\Bundle\CoreBundle\Services\ActiveCampaignManager;
  10. use Bidcoz\Bundle\CoreBundle\Services\AuctionManager;
  11. use Bidcoz\Bundle\CoreBundle\Services\AuctionPermissionManager;
  12. use Bidcoz\Bundle\CoreBundle\Services\BidManager;
  13. use Bidcoz\Bundle\CoreBundle\Services\BidNumberManager;
  14. use Bidcoz\Bundle\CoreBundle\Services\CampaignManager;
  15. use Bidcoz\Bundle\CoreBundle\Services\CampaignStatsManager;
  16. use Bidcoz\Bundle\CoreBundle\Services\CompanyImportManager;
  17. use Bidcoz\Bundle\CoreBundle\Services\CompanyManager;
  18. use Bidcoz\Bundle\CoreBundle\Services\ContactImportManager;
  19. use Bidcoz\Bundle\CoreBundle\Services\ContactManager;
  20. use Bidcoz\Bundle\CoreBundle\Services\CreditCardManager;
  21. use Bidcoz\Bundle\CoreBundle\Services\CustomMessagesManager;
  22. use Bidcoz\Bundle\CoreBundle\Services\DisplayFeedManager;
  23. use Bidcoz\Bundle\CoreBundle\Services\DonationManager;
  24. use Bidcoz\Bundle\CoreBundle\Services\EmailManager;
  25. use Bidcoz\Bundle\CoreBundle\Services\ErrorMessageManager;
  26. use Bidcoz\Bundle\CoreBundle\Services\FinancialCalculator;
  27. use Bidcoz\Bundle\CoreBundle\Services\FreshdeskManager;
  28. use Bidcoz\Bundle\CoreBundle\Services\ItemCategoryManager;
  29. use Bidcoz\Bundle\CoreBundle\Services\ItemImportManager;
  30. use Bidcoz\Bundle\CoreBundle\Services\ItemManager;
  31. use Bidcoz\Bundle\CoreBundle\Services\JobManager;
  32. use Bidcoz\Bundle\CoreBundle\Services\KindfulJobManager;
  33. use Bidcoz\Bundle\CoreBundle\Services\LinkManager;
  34. use Bidcoz\Bundle\CoreBundle\Services\LoggedInUserProvider;
  35. use Bidcoz\Bundle\CoreBundle\Services\LoginLinkManager;
  36. use Bidcoz\Bundle\CoreBundle\Services\LogManager;
  37. use Bidcoz\Bundle\CoreBundle\Services\MailchimpManager;
  38. use Bidcoz\Bundle\CoreBundle\Services\MandrillManager;
  39. use Bidcoz\Bundle\CoreBundle\Services\MediaManager;
  40. use Bidcoz\Bundle\CoreBundle\Services\MessageManager;
  41. use Bidcoz\Bundle\CoreBundle\Services\NotificationManager;
  42. use Bidcoz\Bundle\CoreBundle\Services\OrganizationManager;
  43. use Bidcoz\Bundle\CoreBundle\Services\OrganizationStatsManager;
  44. use Bidcoz\Bundle\CoreBundle\Services\PaymentGatewayManager;
  45. use Bidcoz\Bundle\CoreBundle\Services\PayPalManager;
  46. use Bidcoz\Bundle\CoreBundle\Services\PdfManager;
  47. use Bidcoz\Bundle\CoreBundle\Services\PermissionManager;
  48. use Bidcoz\Bundle\CoreBundle\Services\PurchaseManager;
  49. use Bidcoz\Bundle\CoreBundle\Services\QuestionManager;
  50. use Bidcoz\Bundle\CoreBundle\Services\RaffleManager;
  51. use Bidcoz\Bundle\CoreBundle\Services\RegistrationManager;
  52. use Bidcoz\Bundle\CoreBundle\Services\ReportManager;
  53. use Bidcoz\Bundle\CoreBundle\Services\ReservedSeatUploadManager;
  54. use Bidcoz\Bundle\CoreBundle\Services\SMSManager;
  55. use Bidcoz\Bundle\CoreBundle\Services\SponsorshipManager;
  56. use Bidcoz\Bundle\CoreBundle\Services\StripeManager;
  57. use Bidcoz\Bundle\CoreBundle\Services\TagManager;
  58. use Bidcoz\Bundle\CoreBundle\Services\TicketManager;
  59. use Bidcoz\Bundle\CoreBundle\Services\TicketPermissionManager;
  60. use Bidcoz\Bundle\CoreBundle\Services\TicketUploadManager;
  61. use Bidcoz\Bundle\CoreBundle\Services\TransactionManager;
  62. use Bidcoz\Bundle\CoreBundle\Services\UserManager as BidcozUserManager;
  63. use Bidcoz\Bundle\CoreBundle\Services\VolunteerManager;
  64. use Bidcoz\Bundle\CoreBundle\Services\WatchListManager;
  65. use Bidcoz\Bundle\CoreBundle\SMS\Conversation\ConversationFactory;
  66. use Bidcoz\Bundle\CoreBundle\SMS\SMSSenderFactory;
  67. use Bidcoz\Bundle\FrontendBundle\Twig\Extension\TicketExtension;
  68. use Bidcoz\Bundle\KindfulBundle\Service\ContactsService;
  69. use Bidcoz\Bundle\KindfulBundle\Service\KindfulService;
  70. use Bidcoz\Bundle\UserBundle\PhoneNumberAssociationManager;
  71. use Doctrine\ORM\EntityManagerInterface;
  72. use Faker\Factory;
  73. use Faker\Generator;
  74. use FOS\UserBundle\Form\Factory\FactoryInterface;
  75. use FOS\UserBundle\Model\UserManagerInterface;
  76. use GuzzleHttp\Client;
  77. use JMS\Serializer\SerializerInterface;
  78. use Knp\Component\Pager\PaginatorInterface;
  79. use KnpU\OAuth2ClientBundle\Client\ClientRegistry;
  80. use Lexik\Bundle\FormFilterBundle\Filter\FilterBuilderUpdaterInterface;
  81. use Psr\Log\LoggerInterface;
  82. use RS\DiExtraBundle\Annotation as DI;
  83. use Stripe\Stripe;
  84. use Symfony\Component\DependencyInjection\ContainerInterface;
  85. use Symfony\Component\EventDispatcher\EventDispatcherInterface;
  86. use Symfony\Component\Form\FormFactoryInterface;
  87. use Symfony\Component\HttpFoundation\RequestStack;
  88. use Symfony\Component\HttpFoundation\Session\SessionInterface;
  89. use Symfony\Component\Routing\RouterInterface;
  90. use Symfony\Component\Security\Core\Authorization\AuthorizationCheckerInterface;
  91. use Symfony\Component\Validator\Validator\ValidatorInterface;
  92. trait BidcozCoreServices
  93. {
  94.     protected ContainerInterface $locator;
  95.     /**
  96.      * @DI\InjectParams({
  97.      *     "locator" = @DI\Inject("service_container"),
  98.      * })
  99.      */
  100.     public function __construct(ContainerInterface $locator)
  101.     {
  102.         $this->locator $locator;
  103.     }
  104.     public static function getSubscribedServices(): array
  105.     {
  106.         $services = [
  107.             'active_campaign_manager' => ActiveCampaignManager::class,
  108.             'admin_analytics_manager' => AnalyticsManager::class,
  109.             'auction_manager' => AuctionManager::class,
  110.             'auction_permission_manager' => AuctionPermissionManager::class,
  111.             'bid_manager' => BidManager::class,
  112.             'bidcoz.form.entity_transformer_factory' => EntityTransformerFactory::class,
  113.             ContactsService::class => ContactsService::class,
  114.             KindfulService::class => KindfulService::class,
  115.             TicketExtension::class => TicketExtension::class,
  116.             'bidnumber_manager' => BidNumberManager::class,
  117.             'campaign_manager' => CampaignManager::class,
  118.             'campaign_stats_manager' => CampaignStatsManager::class,
  119.             'company_import_manager' => CompanyImportManager::class,
  120.             'company_manager' => CompanyManager::class,
  121.             'contact_import_manager' => ContactImportManager::class,
  122.             'contact_manager' => ContactManager::class,
  123.             'conversation_factory' => ConversationFactory::class,
  124.             'credit_card_manager' => CreditCardManager::class,
  125.             'custom_messages_manager' => CustomMessagesManager::class,
  126.             'display_feed_manager' => DisplayFeedManager::class,
  127.             'doctrine.orm.default_entity_manager' => EntityManagerInterface::class,
  128.             'donation_manager' => DonationManager::class,
  129.             'email_manager' => EmailManager::class,
  130.             'error_message_manager' => ErrorMessageManager::class,
  131.             'event_dispatcher' => EventDispatcherInterface::class,
  132.             'financial_calculator' => FinancialCalculator::class,
  133.             'flight_simulator_manager' => FlightSimulatorManager::class,
  134.             'form.factory' => FormFactoryInterface::class,
  135.             'fos_user.user_manager' => UserManagerInterface::class,
  136.             'freshdesk_manager' => FreshdeskManager::class,
  137.             'item_category_manager' => ItemCategoryManager::class,
  138.             'item_import_manager' => ItemImportManager::class,
  139.             'item_manager' => ItemManager::class,
  140.             'jms_serializer' => SerializerInterface::class,
  141.             'job_manager' => JobManager::class,
  142.             'kindful_job_manager' => KindfulJobManager::class,
  143.             'knp_paginator' => PaginatorInterface::class,
  144.             'knpu.oauth2.registry' => ClientRegistry::class,
  145.             'lexik_form_filter.query_builder_updater' => FilterBuilderUpdaterInterface::class,
  146.             'link_manager' => LinkManager::class,
  147.             'log_manager' => LogManager::class,
  148.             'logger' => LoggerInterface::class,
  149.             'login_link_manager' => LoginLinkManager::class,
  150.             'mandrill_manager' => MandrillManager::class,
  151.             'media_manager' => MediaManager::class,
  152.             'message_manager' => MessageManager::class,
  153.             'monolog.logger.paypal' => LoggerInterface::class,
  154.             'notification_manager' => NotificationManager::class,
  155.             'organization_manager' => OrganizationManager::class,
  156.             'organization_stats_manager' => OrganizationStatsManager::class,
  157.             'payment_gateway_manager' => PaymentGatewayManager::class,
  158.             'paypal_manager' => PayPalManager::class,
  159.             'pdf_manager' => PdfManager::class,
  160.             'permission_manager' => PermissionManager::class,
  161.             'phone_number_association_manager' => PhoneNumberAssociationManager::class,
  162.             'purchase_manager' => PurchaseManager::class,
  163.             'question_manager' => QuestionManager::class,
  164.             'raffle_manager' => RaffleManager::class,
  165.             'registration_manager' => RegistrationManager::class,
  166.             'report_manager' => ReportManager::class,
  167.             'request_stack' => RequestStack::class,
  168.             'reserved_seat_upload_manager' => ReservedSeatUploadManager::class,
  169.             'router' => RouterInterface::class,
  170.             'sms_manager' => SMSManager::class,
  171.             'sms_sender_factory' => SMSSenderFactory::class,
  172.             'security.authorization_checker' => AuthorizationCheckerInterface::class,
  173.             'sponsorship_manager' => SponsorshipManager::class,
  174.             'stripe_manager' => StripeManager::class,
  175.             'tag_manager' => TagManager::class,
  176.             'ticket_manager' => TicketManager::class,
  177.             'ticket_permission_manager' => TicketPermissionManager::class,
  178.             'ticket_upload_manager' => TicketUploadManager::class,
  179.             'transaction_factory' => TransactionFactory::class,
  180.             'transaction_manager' => TransactionManager::class,
  181.             'user_manager' => BidcozUserManager::class,
  182.             'user_provider' => LoggedInUserProvider::class,
  183.             'validator' => ValidatorInterface::class,
  184.             'volunteer_manager' => VolunteerManager::class,
  185.             'watchlist_manager' => WatchListManager::class,
  186.         ];
  187.         if (method_exists(parent::class, 'getSubscribedServices')) {
  188.             return array_merge(parent::getSubscribedServices(), $services);
  189.         }
  190.         return $services;
  191.     }
  192.     protected function get($service): object
  193.     {
  194.         return $this->locator->get($service);
  195.     }
  196.     protected function getEntityManager(): EntityManagerInterface
  197.     {
  198.         return $this->locator->get('doctrine.orm.default_entity_manager');
  199.     }
  200.     protected function getRepository($class$fullPath false)
  201.     {
  202.         $className $fullPath
  203.             $class
  204.             sprintf('\\Bidcoz\\Bundle\\CoreBundle\\Entity\\%s'$class);
  205.         return $this->getEntityManager()->getRepository($className);
  206.     }
  207.     protected function getEntityReference($class$id$fullPath false)
  208.     {
  209.         $className $fullPath
  210.             $class
  211.             sprintf('\\Bidcoz\\Bundle\\CoreBundle\\Entity\\%s'$class);
  212.         return $this->getEntityManager()->getReference($className$id);
  213.     }
  214.     protected function getUserManager(): UserManagerInterface
  215.     {
  216.         return $this->get('fos_user.user_manager');
  217.     }
  218.     protected function getBidcozUserManager(): BidcozUserManager
  219.     {
  220.         return $this->get('user_manager');
  221.     }
  222.     protected function getRaffleManager(): RaffleManager
  223.     {
  224.         return $this->get('raffle_manager');
  225.     }
  226.     protected function getEventDispatcher(): EventDispatcherInterface
  227.     {
  228.         return $this->get('event_dispatcher');
  229.     }
  230.     protected function getOrganizationManager(): OrganizationManager
  231.     {
  232.         return $this->get('organization_manager');
  233.     }
  234.     protected function getCampaignManager(): CampaignManager
  235.     {
  236.         return $this->get('campaign_manager');
  237.     }
  238.     protected function getCampaignStatsManager(): CampaignStatsManager
  239.     {
  240.         return $this->get('campaign_stats_manager');
  241.     }
  242.     protected function getOrganizationStatsManager(): OrganizationStatsManager
  243.     {
  244.         return $this->get('organization_stats_manager');
  245.     }
  246.     protected function getJobManager(): JobManager
  247.     {
  248.         return $this->get('job_manager');
  249.     }
  250.     protected function getTransactionManager(): TransactionManager
  251.     {
  252.         return $this->get('transaction_manager');
  253.     }
  254.     protected function getVolunteerManager(): VolunteerManager
  255.     {
  256.         return $this->get('volunteer_manager');
  257.     }
  258.     protected function getTransactionFactory(): TransactionFactory
  259.     {
  260.         return $this->get('transaction_factory');
  261.     }
  262.     protected function getTicketManager(): TicketManager
  263.     {
  264.         return $this->get('ticket_manager');
  265.     }
  266.     protected function getTicketUploadManager(): TicketUploadManager
  267.     {
  268.         return $this->get('ticket_upload_manager');
  269.     }
  270.     protected function getReservedSeatsUploadManager(Campaign $campaign): ReservedSeatUploadManager
  271.     {
  272.         $manager $this->get('reserved_seat_upload_manager');
  273.         $manager->setCampaign($campaign);
  274.         return $manager;
  275.     }
  276.     protected function getRegistrationManager(): RegistrationManager
  277.     {
  278.         return $this->get('registration_manager');
  279.     }
  280.     protected function getTagManager(): TagManager
  281.     {
  282.         return $this->get('tag_manager');
  283.     }
  284.     protected function getContactManager(): ContactManager
  285.     {
  286.         return $this->get('contact_manager');
  287.     }
  288.     protected function getContactImportManager(): ContactImportManager
  289.     {
  290.         return $this->get('contact_import_manager');
  291.     }
  292.     protected function getPurchaseManager(): PurchaseManager
  293.     {
  294.         return $this->get('purchase_manager');
  295.     }
  296.     protected function getDonationManager(): DonationManager
  297.     {
  298.         return $this->get('donation_manager');
  299.     }
  300.     protected function getCcManager(): CreditCardManager
  301.     {
  302.         return $this->get('credit_card_manager');
  303.     }
  304.     protected function getMediaManager(): MediaManager
  305.     {
  306.         return $this->get('media_manager');
  307.     }
  308.     protected function getAnalyticsManager(): AnalyticsManager
  309.     {
  310.         return $this->get('admin_analytics_manager');
  311.     }
  312.     protected function getAuctionManager(): AuctionManager
  313.     {
  314.         return $this->get('auction_manager');
  315.     }
  316.     protected function getBidManager(): BidManager
  317.     {
  318.         return $this->get('bid_manager');
  319.     }
  320.     protected function getPaymentGatewayManager(): PaymentGatewayManager
  321.     {
  322.         return $this->get('payment_gateway_manager');
  323.     }
  324.     protected function getBidNumberManager(): BidNumberManager
  325.     {
  326.         return $this->get('bidnumber_manager');
  327.     }
  328.     protected function getItemManager(): ItemManager
  329.     {
  330.         return $this->get('item_manager');
  331.     }
  332.     protected function getItemCategoryManager(): ItemCategoryManager
  333.     {
  334.         return $this->get('item_category_manager');
  335.     }
  336.     protected function getItemImportManager(): ItemImportManager
  337.     {
  338.         return $this->get('item_import_manager');
  339.     }
  340.     protected function getWatchListManager(): WatchListManager
  341.     {
  342.         return $this->get('watchlist_manager');
  343.     }
  344.     protected function getSponsorshipManager(): SponsorshipManager
  345.     {
  346.         return $this->get('sponsorship_manager');
  347.     }
  348.     protected function getPermissionManager(): PermissionManager
  349.     {
  350.         return $this->get('permission_manager');
  351.     }
  352.     protected function getAuctionPermissionManager(): AuctionPermissionManager
  353.     {
  354.         return $this->get('auction_permission_manager');
  355.     }
  356.     protected function getTicketPermissionManager(): TicketPermissionManager
  357.     {
  358.         return $this->get('ticket_permission_manager');
  359.     }
  360.     protected function getReportManager(): ReportManager
  361.     {
  362.         return $this->get('report_manager');
  363.     }
  364.     protected function getQuestionManager(): QuestionManager
  365.     {
  366.         return $this->get('question_manager');
  367.     }
  368.     protected function getPaginator(): PaginatorInterface
  369.     {
  370.         return $this->get('knp_paginator');
  371.     }
  372.     protected function getQueryBuilderFilter(): FilterBuilderUpdaterInterface
  373.     {
  374.         return $this->get('lexik_form_filter.query_builder_updater');
  375.     }
  376.     protected function getSerializer(): SerializerInterface
  377.     {
  378.         return $this->get('jms_serializer');
  379.     }
  380.     protected function getSession(): SessionInterface
  381.     {
  382.         return $this->getRequestStack()->getSession();
  383.     }
  384.     protected function getRouter(): RouterInterface
  385.     {
  386.         return $this->get('router');
  387.     }
  388.     protected function getLogger(): LoggerInterface
  389.     {
  390.         return $this->get('logger');
  391.     }
  392.     protected function getPaypalLogger(): LoggerInterface
  393.     {
  394.         return $this->get('monolog.logger.paypal');
  395.     }
  396.     protected function getValidator(): ValidatorInterface
  397.     {
  398.         return $this->get('validator');
  399.     }
  400.     protected function getPayPalManager(): PayPalManager
  401.     {
  402.         return $this->get('paypal_manager');
  403.     }
  404.     protected function getCompanyManager(): CompanyManager
  405.     {
  406.         return $this->get('company_manager');
  407.     }
  408.     protected function getCompanyImportManager(): CompanyImportManager
  409.     {
  410.         return $this->get('company_import_manager');
  411.     }
  412.     protected function getTransformerFactory(): EntityTransformerFactory
  413.     {
  414.         return $this->get('bidcoz.form.entity_transformer_factory');
  415.     }
  416.     protected function getEmailManager(): EmailManager
  417.     {
  418.         return $this->get('email_manager');
  419.     }
  420.     protected function getSMSManager(): SMSManager
  421.     {
  422.         return $this->get('sms_manager');
  423.     }
  424.     protected function getSMSSenderFactory(): SMSSenderFactory
  425.     {
  426.         return $this->get('sms_sender_factory');
  427.     }
  428.     protected function getFinancialCalculator(): FinancialCalculator
  429.     {
  430.         return $this->get('financial_calculator');
  431.     }
  432.     protected function getFormFactory(): FormFactoryInterface
  433.     {
  434.         return $this->get('form.factory');
  435.     }
  436.     protected function getLinkManager(): LinkManager
  437.     {
  438.         return $this->get('link_manager');
  439.     }
  440.     protected function getLoggedInUserProvider(): LoggedInUserProvider
  441.     {
  442.         return $this->get('user_provider');
  443.     }
  444.     protected function getLoggedInUser()
  445.     {
  446.         return $this->getLoggedInUserProvider()->getLoggedInUser();
  447.     }
  448.     protected function getUserTimezone(Campaign $campaign null)
  449.     {
  450.         $user $this->getLoggedInUser();
  451.         if ($user) {
  452.             return $user->getTimezone();
  453.         } else {
  454.             return $campaign
  455.                 $campaign->getTimezone()
  456.                 : 'America/Chicago';
  457.         }
  458.     }
  459.     protected function getEntityTransformer($class$fullPath false)
  460.     {
  461.         $className $fullPath
  462.             $class
  463.             sprintf('Bidcoz\Bundle\CoreBundle\Entity\%s'$class);
  464.         return $this->getTransformerFactory()->create($className);
  465.     }
  466.     protected function getActiveConfiguration()
  467.     {
  468.         return $this->getRepository('Config')->findActiveConfig();
  469.     }
  470.     protected function getFaker($seed null): Generator
  471.     {
  472.         $faker Factory::create();
  473.         if ($seed) {
  474.             $faker->seed($seed);
  475.         }
  476.         return $faker;
  477.     }
  478.     protected function getGuzzleClient(): Client
  479.     {
  480.         return new Client();
  481.     }
  482.     protected function getStripeManager(): StripeManager
  483.     {
  484.         return $this->get('stripe_manager');
  485.     }
  486.     protected function getFreshdeskManager(): FreshdeskManager
  487.     {
  488.         return $this->get('freshdesk_manager');
  489.     }
  490.     protected function getLoginLinkManager(): LoginLinkManager
  491.     {
  492.         return $this->get('login_link_manager');
  493.     }
  494.     protected function getMandrillManager(): MandrillManager
  495.     {
  496.         return $this->get('mandrill_manager');
  497.     }
  498.     protected function getStripeCredentials()
  499.     {
  500.         return $this->getContainerParameter('stripe');
  501.     }
  502.     protected function getContainerParameter(string $parameter)
  503.     {
  504.         return $this->locator->getParameter($parameter);
  505.     }
  506.     protected function setupStripe()
  507.     {
  508.         $apiKey $this->getStripeCredentials()['secret_key'];
  509.         Stripe::setApiKey($apiKey);
  510.     }
  511.     protected function getLogManager(): LogManager
  512.     {
  513.         return $this->get('log_manager');
  514.     }
  515.     protected function createLog(User $userCampaign $campaign$message, array $data = []): void
  516.     {
  517.         $this->getLogManager()->createLog($user$campaign$message$data);
  518.     }
  519.     protected function getNotificationManager(): NotificationManager
  520.     {
  521.         return $this->get('notification_manager');
  522.     }
  523.     protected function getKindfulManager(): KindfulService
  524.     {
  525.         return $this->get(KindfulService::class);
  526.     }
  527.     protected function getKindfulJobManager(): KindfulJobManager
  528.     {
  529.         return $this->get('kindful_job_manager');
  530.     }
  531.     protected function getMessageManager(): MessageManager
  532.     {
  533.         return $this->get('message_manager');
  534.     }
  535.     protected function getCustomMessagesManager(): CustomMessagesManager
  536.     {
  537.         return $this->get('custom_messages_manager');
  538.     }
  539.     /**
  540.      * @deprecated Using Mailchimp - refer to MailchimpManager instead
  541.      */
  542.     protected function getActiveCampaignManager(): ActiveCampaignManager
  543.     {
  544.         return $this->get('active_campaign_manager');
  545.     }
  546.     protected function getPdfManager(): PdfManager
  547.     {
  548.         return $this->get('pdf_manager');
  549.     }
  550.     protected function getDisplayFeedManager(): DisplayFeedManager
  551.     {
  552.         return $this->get('display_feed_manager');
  553.     }
  554.     protected function getErrorMessageManager(): ErrorMessageManager
  555.     {
  556.         return $this->get('error_message_manager');
  557.     }
  558.     protected function getRequestStack(): RequestStack
  559.     {
  560.         return $this->get('request_stack');
  561.     }
  562.     protected function getOauthRegistry(): ClientRegistry
  563.     {
  564.         return $this->get('knpu.oauth2.registry');
  565.     }
  566.     protected function getKindfulContacts(): ContactsService
  567.     {
  568.         return $this->get(ContactsService::class);
  569.     }
  570.     protected function getTicketExtension(): TicketExtension
  571.     {
  572.         return $this->get(TicketExtension::class);
  573.     }
  574.     protected function getAuthorizationChecker(): AuthorizationCheckerInterface
  575.     {
  576.         return $this->get('security.authorization_checker');
  577.     }
  578.     protected function getRegistrationFormFactory(): FactoryInterface
  579.     {
  580.         return $this->get('fos_user.registration.form.factory');
  581.     }
  582.     protected function getFlightSimulatorManager(): FlightSimulatorManager
  583.     {
  584.         return $this->get('flight_simulator_manager');
  585.     }
  586.     protected function getMailChimpManager(): MailChimpManager
  587.     {
  588.         return $this->get('mailchimp_manager');
  589.     }
  590. }