12
12
use Magento \Framework \App \DeploymentConfig ;
13
13
use Magento \Framework \Config \Data \ConfigData ;
14
14
use Magento \Framework \Config \File \ConfigFilePool ;
15
+ use Magento \Framework \Setup \Option \TextConfigOption ;
15
16
16
17
/**
17
18
* Deployment configuration consumers options needed for Setup application
@@ -22,16 +23,19 @@ class ConfigOptionsList implements ConfigOptionsListInterface
22
23
* Input key for the option
23
24
*/
24
25
const INPUT_KEY_QUEUE_CONSUMERS_WAIT_FOR_MESSAGES ='consumers-wait-for-messages ' ;
26
+ const INPUT_KEY_QUEUE_DEFAULT_CONNECTION ='default-connection ' ;
25
27
26
28
/**
27
- * Path to the value in the deployment config
29
+ * Path to the values in the deployment config
28
30
*/
29
31
const CONFIG_PATH_QUEUE_CONSUMERS_WAIT_FOR_MESSAGES = 'queue/consumers_wait_for_messages ' ;
32
+ const CONFIG_PATH_QUEUE_DEFAULT_CONNECTION = 'queue/default_connection ' ;
30
33
31
34
/**
32
35
* Default value
33
36
*/
34
37
const DEFAULT_CONSUMERS_WAIT_FOR_MESSAGES = 1 ;
38
+ const DEFAULT_QUEUE_CONNECTION = 'db ' ;
35
39
36
40
/**
37
41
* The available configuration values
@@ -54,6 +58,13 @@ public function getOptions()
54
58
'Should consumers wait for a message from the queue? 1 - Yes, 0 - No ' ,
55
59
self ::DEFAULT_CONSUMERS_WAIT_FOR_MESSAGES
56
60
),
61
+ new TextConfigOption (
62
+ self ::INPUT_KEY_QUEUE_DEFAULT_CONNECTION ,
63
+ TextConfigOption::FRONTEND_WIZARD_TEXT ,
64
+ self ::CONFIG_PATH_QUEUE_DEFAULT_CONNECTION ,
65
+ 'Default queue connection. Can be db, amqp or a custom one. ' ,
66
+ self ::DEFAULT_QUEUE_CONNECTION
67
+ ),
57
68
];
58
69
}
59
70
@@ -72,6 +83,13 @@ public function createConfig(array $data, DeploymentConfig $deploymentConfig)
72
83
);
73
84
}
74
85
86
+ if (!$ this ->isDataEmpty ($ data , self ::INPUT_KEY_QUEUE_DEFAULT_CONNECTION )) {
87
+ $ configData ->set (
88
+ self ::CONFIG_PATH_QUEUE_DEFAULT_CONNECTION ,
89
+ $ data [self ::INPUT_KEY_QUEUE_DEFAULT_CONNECTION ]
90
+ );
91
+ }
92
+
75
93
return [$ configData ];
76
94
}
77
95
0 commit comments