Skip to content

Commit 81c44e1

Browse files
authored
Merge pull request #15 from BitBagCommerce/feature/UC-17-add-retry-and-asynchronous-handling
[UC-17] add retry and asynchronous handling and minor front adjustments
2 parents cf00d9d + 523c8d7 commit 81c44e1

42 files changed

Lines changed: 694 additions & 168 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

composer.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@
1212
"symfony/messenger": "^5.4 || ^6.4",
1313
"symfony/webpack-encore-bundle": "^1.15",
1414
"ext-openssl": "*",
15-
"bitbag/sylius-feed-plugin": "~0.2"
15+
"bitbag/sylius-feed-plugin": "~0.2",
16+
"symfony/amqp-messenger": "^5.4 || ^6.4 || ^7.0"
1617
},
1718
"require-dev": {
1819
"behat/behat": "^3.6.1",

config/events.yaml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,3 @@ sylius_ui:
55
user_com_configuration:
66
template: '@BitBagSyliusUserComPlugin/UserApiResource/_userComCredentials.html.twig'
77
priority: 25
8-
sylius.shop.layout.stylesheets:
9-
blocks:
10-
user_com:
11-
template: '@BitBagSyliusUserComPlugin/_userComScripts.html.twig'
12-
priority: 25

config/monolog.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ monolog:
99
type: stream
1010
path: "%kernel.logs_dir%/%kernel.environment%.user_com.log"
1111
level: debug
12-
channels: ["user_com"]
12+
channels: ["user_com", "messenger"]
1313
firephp:
1414
type: firephp
1515
level: info

config/packages/messenger.yaml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
framework:
2+
messenger:
3+
transports:
4+
user_com_asynchronous:
5+
dsn: "%env(MESSENGER_USER_COM_ASYNCHRONOUS)%"
6+
retry_strategy:
7+
max_retries: 5
8+
#1000 * 60 * 10
9+
delay: 600000
10+
multiplier: 2
11+
routing:
12+
BitBag\SyliusUserComPlugin\Message\OrderSynchronization: user_com_asynchronous
13+
BitBag\SyliusUserComPlugin\Message\UserSynchronization: user_com_asynchronous

config/services/dispatcher.xml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<?xml version="1.0" encoding="UTF-8" ?>
2+
3+
<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">
4+
<services>
5+
<defaults autowire="false" autoconfigure="false"/>
6+
<service
7+
id="bit_bag.sylius_user_com_plugin.dispatcher.order_message_dispatcher"
8+
class="BitBag\SyliusUserComPlugin\Dispatcher\OrderMessageDispatcher"
9+
public="true"
10+
>
11+
<argument type="service" id="messenger.default_bus"/>
12+
<argument type="service" id="monolog.logger.user_com"/>
13+
</service>
14+
15+
<service
16+
id="bit_bag.sylius_user_com_plugin.dispatcher.customer_message_dispatcher"
17+
class="BitBag\SyliusUserComPlugin\Dispatcher\CustomerMessageDispatcher"
18+
>
19+
<argument type="service" id="messenger.default_bus"/>
20+
</service>
21+
</services>
22+
</container>

config/services/event_subscriber.xml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,14 @@
66
<service
77
id="bit_bag.sylius_user_com_plugin.event_subscriber.customer_profile_updated_subscriber"
88
class="BitBag\SyliusUserComPlugin\EventSubscriber\CustomerProfileUpdatedSubscriber"
9+
public="true"
910
>
10-
<argument type="service" id="bit_bag.sylius_user_com_plugin.manager.customer_update_manager"/>
11+
<argument type="service" id="bit_bag.sylius_user_com_plugin.dispatcher.customer_message_dispatcher"/>
12+
<argument type="service" id="bit_bag.sylius_user_com_plugin.provider.user_com_api_aware_resource_provider"/>
13+
<argument type="service" id="bit_bag.sylius_user_com_plugin.manager.cookie_manager"/>
14+
<argument type="service" id="request_stack"/>
15+
<argument type="service" id="monolog.logger.user_com"/>
16+
<tag name="kernel.event_subscriber"/>
1117
</service>
1218
</services>
1319
</container>

config/services/form.xml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
<services>
66
<defaults public="true"/>
77
<service id="bit_bag.sylius_user_com_plugin.form.extension.user_com_customer_information_type_extension" class="BitBag\SyliusUserComPlugin\Form\Extension\UserComCustomerInformationTypeExtension">
8-
<argument type="service" id="bit_bag.sylius_user_com_plugin.event_subscriber.customer_profile_updated_subscriber"/>
98
<argument type="service" id="sylius.context.customer"/>
109
<tag name="form.type_extension" />
1110
</service>

config/services/handler.xml

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,25 @@
44
<services>
55
<defaults autowire="false" autoconfigure="false"/>
66
<service
7-
id="bit_bag.sylius_user_com_plugin.handler.order_state_update_handler"
8-
class="BitBag\SyliusUserComPlugin\Handler\OrderStateUpdateHandler"
7+
id="bit_bag.sylius_user_com_plugin.handler.order_synchronization_handler"
8+
class="BitBag\SyliusUserComPlugin\Handler\OrderSynchronizationHandler"
99
public="true"
1010
>
11-
<argument type="service" id="bit_bag.sylius_user_com_plugin.builder.payload.order_payload_builder"/>
12-
<argument type="service" id="bit_bag.sylius_user_com_plugin.builder.payload.product_event_payload_builder"/>
13-
<argument type="service" id="bit_bag.sylius_user_com_plugin.api.deal_api"/>
14-
<argument type="service" id="bit_bag.sylius_user_com_plugin.api.product_api"/>
15-
<argument type="service" id="monolog.logger.user_com"/>
11+
<argument type="service" id="sylius.repository.order"/>
12+
<argument type="service" id="bit_bag.sylius_user_com_plugin.manager.order_update_manager"/>
13+
<tag name="messenger.message_handler"/>
14+
</service>
15+
16+
<service
17+
id="bit_bag.sylius_user_com_plugin.handler.user_synchronization_handler"
18+
class="BitBag\SyliusUserComPlugin\Handler\UserSynchronizationHandler"
19+
public="true"
20+
>
21+
<argument type="service" id="sylius.repository.address"/>
22+
<argument type="service" id="sylius.repository.customer"/>
1623
<argument type="service" id="bit_bag.sylius_user_com_plugin.provider.user_com_api_aware_resource_provider"/>
24+
<argument type="service" id="bit_bag.sylius_user_com_plugin.manager.customer_update_manager"/>
25+
<tag name="messenger.message_handler"/>
1726
</service>
1827
</services>
1928
</container>

config/services/manager.xml

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,28 @@
88
class="BitBag\SyliusUserComPlugin\Manager\CookieManager"
99
>
1010
<argument type="service" id="request_stack"/>
11+
<argument type="service" id="security.token_storage"/>
1112
</service>
1213

1314
<service
1415
id="bit_bag.sylius_user_com_plugin.manager.customer_update_manager"
1516
class="BitBag\SyliusUserComPlugin\Manager\CustomerUpdateManager"
1617
>
17-
<argument type="service" id="bit_bag.sylius_user_com_plugin.manager.cookie_manager"/>
1818
<argument type="service" id="bit_bag.sylius_user_com_plugin.updater.customer_with_key_updater"/>
1919
<argument type="service" id="bit_bag.sylius_user_com_plugin.updater.customer_without_key_updater"/>
20+
</service>
21+
22+
<service
23+
id="bit_bag.sylius_user_com_plugin.manager.order_update_manager"
24+
class="BitBag\SyliusUserComPlugin\Manager\OrderUpdateManager"
25+
public="true"
26+
>
27+
<argument type="service" id="bit_bag.sylius_user_com_plugin.builder.payload.order_payload_builder"/>
28+
<argument type="service" id="bit_bag.sylius_user_com_plugin.builder.payload.product_event_payload_builder"/>
29+
<argument type="service" id="bit_bag.sylius_user_com_plugin.api.deal_api"/>
30+
<argument type="service" id="bit_bag.sylius_user_com_plugin.api.product_api"/>
2031
<argument type="service" id="monolog.logger.user_com"/>
32+
<argument type="service" id="bit_bag.sylius_user_com_plugin.provider.user_com_api_aware_resource_provider"/>
2133
</service>
2234

2335
<service

config/state_machine/order.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,5 @@ winzou_state_machine:
88
after:
99
order_user_com_update:
1010
on: ['create', 'cancel', 'fulfill']
11-
do: ['@bit_bag.sylius_user_com_plugin.handler.order_state_update_handler', 'handle']
11+
do: ['@bit_bag.sylius_user_com_plugin.dispatcher.order_message_dispatcher', 'dispatch']
1212
args: ['object']

0 commit comments

Comments
 (0)