imports:
    - { resource: modules.yml }

parameters:
    board3.portal.config.table: '%core.table_prefix%portal_config'
    board3.portal.modules.table: '%core.table_prefix%portal_modules'
services:
    board3.portal.main:
        class: board3\portal\controller\main
        arguments:
            - '@board3.portal.columns'
            - '@config'
            - '@board3.portal.controller_helper'
            - '@template'
            - '@user'
            - '@path_helper'
            - '%core.root_path%'
            - '.%core.php_ext%'
            - '%board3.portal.config.table%'
            - '%board3.portal.modules.table%'

    board3.portal.controller_helper:
        class: board3\portal\controller\helper
        arguments:
            - '@auth'
            - '@board3.portal.columns'
            - '@config'
            - '@language'
            - '@template'
            - '@user'
            - '@path_helper'
            - '@board3.portal.helper'
            - '%core.root_path%'
            - '.%core.php_ext%'

    board3.portal.module_collection:
        class: phpbb\di\service_collection
        arguments:
            - '@service_container'
        tags:
            - { name: service_collection, tag: board3.portal.module }

    board3.portal.helper:
        class: board3\portal\includes\helper
        arguments:
            - '@board3.portal.module_collection'

    board3.portal.modules_helper:
        class: board3\portal\includes\modules_helper
        arguments:
            - '@auth'
            - '@config'
            - '@controller.helper'
            - '@dbal.conn'
            - '@request'
            - '%tables.styles%'

    board3.portal.columns:
        class: board3\portal\portal\columns

    board3.portal.fetch_posts:
        class: board3\portal\portal\fetch_posts
        arguments:
            - '@auth'
            - '@cache'
            - '@config'
            - '@dbal.conn'
            - '@board3.portal.modules_helper'
            - '@user'

    board3.portal.listener:
        class: board3\portal\event\listener
        arguments:
            - '@board3.portal.main'
            - '@auth'
            - '@config'
            - '@controller.helper'
            - '@path_helper'
            - '@template'
            - '@user'
            - '%core.php_ext%'
        tags:
            - { name: event.listener }

    board3.portal.modules.manager:
        class: board3\portal\portal\modules\manager
        arguments:
            - '@cache'
            - '@dbal.conn'
            - '@board3.portal.controller_helper'
            - '@board3.portal.columns'
            - '@board3.portal.helper'
            - '@board3.portal.modules.constraints_handler'
            - '@board3.portal.modules.database_handler'
            - '@request'
            - '@user'

    board3.portal.modules.database_handler:
        class: board3\portal\portal\modules\database_handler
        arguments:
            - '@dbal.conn'

    board3.portal.modules.constraints_handler:
        class: board3\portal\portal\modules\constraints_handler
        arguments:
            - '@board3.portal.columns'
            - '@user'
