services:
  _defaults:
    autowire: true
    autoconfigure: true
    public: true
    bind:
      $maskExtensionConfiguration: '@extensionconfiguration.mask'

  Mediatesystems\UmjSitepackage\:
    resource: '../Classes/*'

  Mediatesystems\UmjSitepackage\Command\CrawlSitemapCommand:
    tags:
      - name: 'console.command'
        command: 'mscrawler:crawlsite'
        description: 'Crawl stiemap Cron'
        # not required, defaults to false
        hidden: false
        schedulable: true

  Mediatesystems\UmjSitepackage\Command\JahresticketAppCheckboxCommand:
    tags:
      - name: 'console.command'
        command: 'msjahresticket:docheckbox'
        description: 'Set the Checkbox in „Veranstaltung in App anzeigen (Jahresticket).'
        # not required, defaults to false
        hidden: false
        schedulable: true

  Mediatesystems\UmjSitepackage\Command\RemoveFormularUploadsCommand:
    tags:
      - name: 'console.command'
        command: 'mscleanup:removeformularuploads'
        description: 'Remove formular uploads Cron'
        # not required, defaults to false
        hidden: false
        schedulable: true

  Mediatesystems\UmjSitepackage\Command\RemoveFeusersCommand:
    tags:
      - name: 'console.command'
        command: 'mscleanup:removefeusers'
        description: 'Remove deleted feusers Cron'
        # not required, defaults to false
        hidden: false
        schedulable: true

  Mediatesystems\UmjSitepackage\Command\CustomFileStorageExtractionCommand:
    tags:
      - name: 'console.command'
        command: 'msfilestorage:fixfilemetadata'
        description: 'Adds Metadata as Height and Width to Database - if Crops not working'
        # not required, defaults to false
        hidden: false
        schedulable: true

  Mediatesystems\UmjSitepackage\Command\ExportShopwareProducts:
    tags:
      - name: 'console.command'
        command: 'msshopware:getproducts'
        description: 'Gets ans mapps the Products from Shopware'
        # not required, defaults to false
        hidden: false
        schedulable: true

  Mediatesystems\UmjSitepackage\Controller\HeroModuleController:
    public: true

  Mediatesystems\UmjSitepackage\Controller\GlobalFooterController:
    public: true

  Mediatesystems\UmjSitepackage\Controller\NextPrevPageController:
    public: true

  Mediatesystems\UmjSitepackage\Controller\TicketButtonController:
    public: true

  Mediatesystems\UmjSitepackage\CodeGenerator\TyposcriptCodeGenerator:
    public: true
    #arguments:

  Mediatesystems\UmjSitepackage\Utility\DoubleOptIn:
    public: true
    arguments:
      $tableName: 'tx_umjsitepackage_domain_model_duobleoptin'


  Mediatesystems\UmjSitepackage\Utility\BodyTagHelper:
    public: true

  Mediatesystems\UmjSitepackage\Preview\PagelistingPreview:
    public: true
    arguments:
      - '@Mediatesystems\UmjSitepackage\Domain\Repository\PageListingRepository'

  Mediatesystems\UmjSitepackage\Error\ErrorHandler:
    arguments:
      $statusCode: 403
      $configuration: []

  League\Flysystem\FilesystemOperator:
    class: League\Flysystem\Local\LocalFilesystemAdapter
    arguments:
      $location: '/ms_tiles/uploads'

  Intervention\Image\ImageManager:
    class: Intervention\Image\ImageManager
    arguments:
      $config: []

  Mediatesystems\UmjSitepackage\Utility\Deepzoom:
    arguments:
      $tileFormat: 'ms_tile_format'
      $pathPrefix: 'ms_path_prefix'
  #https://docs.typo3.org/m/typo3/reference-coreapi/10.4/en-us/ApiOverview/DependencyInjection/Index.html
  #MASK\Mask\CodeGenerator\TyposcriptCodeGenerator: '@Mediatesystems\UmjSitepackage\CodeGenerator\TyposcriptCodeGenerator'