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 +42 -34 3.0.24.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,28 +22,45 @@
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.
58 + *
59 + * @return void
38 60 */
39 - public function register_routes(): void {
40 - $this->logger->log_info( 'Hook executed', __FUNCTION__, __CLASS__ );
61 + public function register_routes() {
62 + $this->logger->log_debug( 'Hook executed', __FUNCTION__, __CLASS__ );
41 63 $store_id_args = array( self::PARAM_STORE_ID => $this->get_arg_string() );
42 64 $conf_args = array_merge(
43 65 $store_id_args,
44 66 array(
@@ -70,9 +92,9 @@
70 92 );
71 93 } catch ( \Throwable $e ) {
72 94 $response = new WP_Error( 'error', $e->getMessage() );
73 95 }
74 - return rest_ensure_response( $response );
96 + return \rest_ensure_response( $response );
75 97 }
76 98
77 99 /**
78 100 * DELETE logs.
@@ -90,9 +112,9 @@
90 112 $response = array();
91 113 } catch ( \Throwable $e ) {
92 114 $response = new WP_Error( 'error', $e->getMessage() );
93 115 }
94 - return rest_ensure_response( $response );
116 + return \rest_ensure_response( $response );
95 117 }
96 118
97 119 /**
98 120 * GET logs configuration.
@@ -99,15 +121,10 @@
99 121 *
100 122 * @return WP_REST_Response|WP_Error
101 123 */
102 124 public function get_configuration() {
103 - $response = null;
104 - try {
105 - $response = $this->get_config_response();
106 - } catch ( \Throwable $e ) {
107 - $response = new WP_Error( 'error', $e->getMessage() );
108 - }
109 - 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 ) );
110 127 }
111 128
112 129 /**
113 130 * POST logs configuration.
@@ -118,25 +135,16 @@
118 135 */
119 136 public function save_configuration( WP_REST_Request $request ) {
120 137 $response = null;
121 138 try {
122 - $this->logger->enable( $request->get_param( self::PARAM_IS_ENABLED ) );
123 - $this->logger->set_min_log_level( $request->get_param( self::PARAM_LOG_LEVEL ) );
124 - $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 );
125 145 } catch ( \Throwable $e ) {
126 146 $response = new WP_Error( 'error', $e->getMessage() );
127 147 }
128 - return rest_ensure_response( $response );
129 - }
130 -
131 - /**
132 - * Make the logger configuration response.
133 - *
134 - * @return array<string, mixed>
135 - */
136 - private function get_config_response(): array {
137 - return array(
138 - self::PARAM_IS_ENABLED => $this->logger->is_enabled(),
139 - self::PARAM_LOG_LEVEL => $this->logger->get_min_log_level(),
140 - );
148 + return \rest_ensure_response( $response );
141 149 }
142 150 }