Code Duplication    Length = 63-63 lines in 2 locations

includes/connect/class-wc-stripe-connect-rest-oauth-connect-controller.php 1 location

@@ 7-69 (lines=63) @@
4
	exit;
5
}
6
7
if ( ! class_exists( 'WC_Stripe_Connect_REST_Oauth_Connect_Controller' ) ) {
8
	/**
9
	 * Stripe Connect Oauth Connect controller class.
10
	 */
11
	class WC_Stripe_Connect_REST_Oauth_Connect_Controller extends WC_Stripe_Connect_REST_Controller {
12
13
		/**
14
		 * REST base.
15
		 *
16
		 * @var string
17
		 */
18
		protected $rest_base = 'connect/stripe/oauth/connect';
19
20
		/**
21
		 * Stripe Connect.
22
		 *
23
		 * @var WC_Stripe_Connect
24
		 */
25
		protected $connect;
26
27
		/**
28
		 * Constructor.
29
		 *
30
		 * @param WC_Stripe_Connect     $connect stripe connect.
31
		 * @param WC_Stripe_Connect_API $api     stripe connect api.
32
		 */
33
		public function __construct( WC_Stripe_Connect $connect, WC_Stripe_Connect_API $api ) {
34
35
			parent::__construct( $api );
36
37
			$this->connect = $connect;
38
		}
39
40
		/**
41
		 * OAuth Connection flow.
42
		 *
43
		 * @param array $request POST request.
44
		 *
45
		 * @return array|WP_Error
46
		 */
47
		public function post( $request ) {
48
49
			$data     = $request->get_json_params();
50
			$response = $this->connect->connect_oauth( $data['state'], $data['code'] );
51
52
			if ( is_wp_error( $response ) ) {
53
54
				WC_Stripe_Logger::log( $response, __CLASS__ );
55
56
				return new WP_Error(
57
					$response->get_error_code(),
58
					$response->get_error_message(),
59
					array( 'status' => 400 )
60
				);
61
			}
62
63
			return array(
64
				'success'    => true,
65
				'account_id' => $response->accountId, // phpcs:ignore WordPress.NamingConventions.ValidVariableName.UsedPropertyNotSnakeCase
66
			);
67
		}
68
	}
69
}
70

includes/connect/class-wc-stripe-connect-rest-oauth-init-controller.php 1 location

@@ 7-69 (lines=63) @@
4
	exit;
5
}
6
7
if ( ! class_exists( 'WC_Stripe_Connect_REST_Oauth_Init_Controller' ) ) {
8
	/**
9
	 * Stripe Connect Oauth Init controller class.
10
	 */
11
	class WC_Stripe_Connect_REST_Oauth_Init_Controller extends WC_Stripe_Connect_REST_Controller {
12
13
		/**
14
		 * REST base.
15
		 *
16
		 * @var string
17
		 */
18
		protected $rest_base = 'connect/stripe/oauth/init';
19
20
		/**
21
		 * Stripe Connect.
22
		 *
23
		 * @var WC_Stripe_Connect
24
		 */
25
		protected $connect;
26
27
		/**
28
		 * Constructor.
29
		 *
30
		 * @param WC_Stripe_Connect     $connect stripe connect.
31
		 * @param WC_Stripe_Connect_API $api     stripe connect api.
32
		 */
33
		public function __construct( WC_Stripe_Connect $connect, WC_Stripe_Connect_API $api ) {
34
35
			parent::__construct( $api );
36
37
			$this->connect = $connect;
38
		}
39
40
		/**
41
		 * Initiate OAuth flow.
42
		 *
43
		 * @param array $request POST request.
44
		 *
45
		 * @return array|WP_Error
46
		 */
47
		public function post( $request ) {
48
49
			$data     = $request->get_json_params();
50
			$response = $this->connect->get_oauth_url( isset( $data['returnUrl'] ) ? $data['returnUrl'] : '' );
51
52
			if ( is_wp_error( $response ) ) {
53
54
				WC_Stripe_Logger::log( $response, __CLASS__ );
55
56
				return new WP_Error(
57
					$response->get_error_code(),
58
					$response->get_error_message(),
59
					array( 'status' => 400 )
60
				);
61
			}
62
63
			return array(
64
				'success'  => true,
65
				'oauthUrl' => $response,
66
			);
67
		}
68
	}
69
}
70