PluginProbe
seQura / 4.3.0
seQura v4.3.0
4.3.4 4.3.3 4.3.2 4.3.1 trunk 2.0.0 2.0.10 2.0.11 2.0.12 2.0.5 2.0.6 2.0.7 2.0.8 2.0.9 3.0.0 3.0.2 3.0.5 3.0.6 3.0.7 3.1.0 3.1.1 3.2.0 3.2.1 3.2.2 4.0.0 All 30 releases
← All changes | src/Controllers/Rest/class-log-rest-controller.php +39 -33 3.0.54.3.0 View file →
@@ -7,9 +7,14 @@
7 7 */
8 8
9 9 namespace SeQura\WC\Controllers\Rest;
10 10
11 -use SeQura\WC\Services\Interface_Logger_Service;
11 +use SeQura\Core\BusinessLogic\ConfigurationWebhookAPI\Responses\AdvancedSettings\AdvancedSettingsResponse;
12 +use SeQura\Core\BusinessLogic\Domain\AdvancedSettings\Models\AdvancedSettings;
13 +use SeQura\Core\BusinessLogic\Domain\AdvancedSettings\Services\AdvancedSettingsService;
14 +use SeQura\Core\Infrastructure\Logger\Logger;
15 +use SeQura\WC\Services\Log\Interface_Logger_Service;
16 +use SeQura\Core\Infrastructure\Utility\RegexProvider;
12 17 use WP_Error;
13 18 use WP_REST_Request;
14 19 use WP_REST_Response;
15 20
@@ -17,21 +22,36 @@
17 22 * REST Log Controller
18 23 */
19 24 class Log_REST_Controller extends REST_Controller {
20 25
21 - const PARAM_IS_ENABLED = 'isEnabled';
22 - const PARAM_LOG_LEVEL = 'level';
26 + private const PARAM_IS_ENABLED = 'isEnabled';
27 + private const PARAM_LOG_LEVEL = 'level';
23 28
24 29 /**
30 + * Advanced settings service
31 + *
32 + * @var AdvancedSettingsService
33 + */
34 + private $advanced_settings_service;
35 +
36 + /**
25 37 * Constructor.
26 38 *
27 39 * @param string $rest_namespace The namespace.
28 40 * @param Interface_Logger_Service $logger The logger service.
41 + * @param RegexProvider $regex The regex provider.
42 + * @param AdvancedSettingsService $advanced_settings_service The advanced settings service.
29 43 */
30 - public function __construct( $rest_namespace, Interface_Logger_Service $logger ) {
31 - parent::__construct( $logger );
32 - $this->namespace = $rest_namespace;
33 - $this->rest_base = '/log';
44 + public function __construct(
45 + $rest_namespace,
46 + Interface_Logger_Service $logger,
47 + RegexProvider $regex,
48 + AdvancedSettingsService $advanced_settings_service
49 + ) {
50 + parent::__construct( $logger, $regex );
51 + $this->namespace = $rest_namespace;
52 + $this->rest_base = '/log';
53 + $this->advanced_settings_service = $advanced_settings_service;
34 54 }
35 55
36 56 /**
37 57 * Register the API endpoints.
@@ -38,9 +58,9 @@
38 58 *
39 59 * @return void
40 60 */
41 61 public function register_routes() {
42 - $this->logger->log_info( 'Hook executed', __FUNCTION__, __CLASS__ );
62 + $this->logger->log_debug( 'Hook executed', __FUNCTION__, __CLASS__ );
43 63 $store_id_args = array( self::PARAM_STORE_ID => $this->get_arg_string() );
44 64 $conf_args = array_merge(
45 65 $store_id_args,
46 66 array(
@@ -72,9 +92,9 @@
72 92 );
73 93 } catch ( \Throwable $e ) {
74 94 $response = new WP_Error( 'error', $e->getMessage() );
75 95 }
76 - return rest_ensure_response( $response );
96 + return \rest_ensure_response( $response );
77 97 }
78 98
79 99 /**
80 100 * DELETE logs.
@@ -92,9 +112,9 @@
92 112 $response = array();
93 113 } catch ( \Throwable $e ) {
94 114 $response = new WP_Error( 'error', $e->getMessage() );
95 115 }
96 - return rest_ensure_response( $response );
116 + return \rest_ensure_response( $response );
97 117 }
98 118
99 119 /**
100 120 * GET logs configuration.
@@ -101,15 +121,10 @@
101 121 *
102 122 * @return WP_REST_Response|WP_Error
103 123 */
104 124 public function get_configuration() {
105 - $response = null;
106 - try {
107 - $response = $this->get_config_response();
108 - } catch ( \Throwable $e ) {
109 - $response = new WP_Error( 'error', $e->getMessage() );
110 - }
111 - return rest_ensure_response( $response );
125 + $advanced_settings = $this->advanced_settings_service->getAdvancedSettings() ?? new AdvancedSettings( false, Logger::DEBUG );
126 + return $this->build_response( new AdvancedSettingsResponse( $advanced_settings ) );
112 127 }
113 128
114 129 /**
115 130 * POST logs configuration.
@@ -120,25 +135,16 @@
120 135 */
121 136 public function save_configuration( WP_REST_Request $request ) {
122 137 $response = null;
123 138 try {
124 - $this->logger->enable( $request->get_param( self::PARAM_IS_ENABLED ) );
125 - $this->logger->set_min_log_level( $request->get_param( self::PARAM_LOG_LEVEL ) );
126 - $response = $this->get_config_response();
139 + $advanced_settings = new AdvancedSettings(
140 + (bool) $request->get_param( self::PARAM_IS_ENABLED ),
141 + (int) $request->get_param( self::PARAM_LOG_LEVEL )
142 + );
143 + $this->advanced_settings_service->setAdvancedSettings( $advanced_settings );
144 + $response = new AdvancedSettingsResponse( $advanced_settings );
127 145 } catch ( \Throwable $e ) {
128 146 $response = new WP_Error( 'error', $e->getMessage() );
129 147 }
130 - return rest_ensure_response( $response );
131 - }
132 -
133 - /**
134 - * Make the logger configuration response.
135 - *
136 - * @return array<string, mixed>
137 - */
138 - private function get_config_response(): array {
139 - return array(
140 - self::PARAM_IS_ENABLED => $this->logger->is_enabled(),
141 - self::PARAM_LOG_LEVEL => $this->logger->get_min_log_level(),
142 - );
148 + return \rest_ensure_response( $response );
143 149 }
144 150 }