<?xml version="1.0" ?>
<container
    xmlns="http://symfony.com/schema/dic/services"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd"
>
    <parameters>
        <parameter key="swag_extension_store.endpoints" type="collection">
            <parameter key="list_extensions">/swplatform/extensionstore/extensions</parameter>
            <parameter key="extension_detail">/swplatform/extensionstore/extensions/%d</parameter>
            <parameter key="filter">/swplatform/extensionstore/extensions/filter</parameter>
            <parameter key="reviews">/swplatform/extensionstore/extensions/%d/reviews</parameter>
            <parameter key="create_basket">/swplatform/extensionstore/baskets</parameter>
            <parameter key="order_basket">/swplatform/extensionstore/orders</parameter>
            <parameter key="payment_means">/swplatform/extensionstore/paymentmeans</parameter>
            <parameter key="iap_details">/swplatform/store/extensions/%%d/inappfeatures/%%s</parameter>
            <parameter key="iap_create_basket">/swplatform/inappfeatures/baskets</parameter>
            <parameter key="iap_order_basket">/swplatform/inappfeatures/orders</parameter>
            <parameter key="iap_list">/swplatform/extensionstore/extensions/%s/inappfeatures</parameter>
        </parameter>
    </parameters>
    <services>
        <!-- Controller -->
        <service id="SwagExtensionStore\Controller\LicenseController" public="true">
            <argument type="service" id="SwagExtensionStore\Services\LicenseService"/>
        </service>

        <service id="SwagExtensionStore\Controller\DataController" public="true">
            <argument type="service" id="SwagExtensionStore\Services\StoreDataProvider"/>
        </service>

        <service id="SwagExtensionStore\Controller\InAppPurchasesController" public="true">
            <argument type="service" id="SwagExtensionStore\Services\InAppPurchasesService"/>
            <argument type="service" id="Shopware\Core\Framework\Store\InAppPurchase\Services\InAppPurchaseUpdater"/>
            <argument type="service" id="Shopware\Core\Framework\Store\Services\AbstractExtensionDataProvider"/>
            <argument type="service" id="Shopware\Core\Framework\App\InAppPurchases\Gateway\InAppPurchasesGateway"/>
            <argument type="service" id="app.repository"/>
        </service>

        <!-- Services -->
        <service id="SwagExtensionStore\Services\LicenseService">
            <argument type="service" id="SwagExtensionStore\Services\StoreClient"/>
        </service>

        <service id="SwagExtensionStore\Services\StoreClient">
            <argument>%swag_extension_store.endpoints%</argument>
            <argument type="service" id="Shopware\Core\Framework\Store\Authentication\StoreRequestOptionsProvider"/>
            <argument type="service" id="shopware.store_client"/>
        </service>

        <service id="SwagExtensionStore\Services\StoreDataProvider">
            <argument type="service" id="SwagExtensionStore\Services\StoreClient"/>
            <argument type="service" id="Shopware\Core\Framework\Store\Services\ExtensionLoader"/>
        </service>

        <service id="SwagExtensionStore\Services\InAppPurchasesService">
            <argument type="service" id="SwagExtensionStore\Services\StoreClient"/>
        </service>
    </services>
</container>
