Stop searching for prefix in custom IDs

we are not creating such IDs for 2 years already
This commit is contained in:
Alex P 2023-06-08 16:00:21 +03:00
parent eb4418931a
commit 8979c9e605
No known key found for this signature in database
GPG key ID: 54487A734A204D71
14 changed files with 26 additions and 104 deletions

View file

@ -20,7 +20,7 @@ use WooCommerce\PayPalCommerce\WcGateway\Gateway\PayUponInvoice\PayUponInvoiceGa
*/
class CheckoutOrderApproved implements RequestHandler {
use PrefixTrait;
use RequestHandlerTrait;
/**
* The logger.
@ -40,12 +40,10 @@ class CheckoutOrderApproved implements RequestHandler {
* CheckoutOrderApproved constructor.
*
* @param LoggerInterface $logger The logger.
* @param string $prefix The prefix.
* @param OrderEndpoint $order_endpoint The order endpoint.
*/
public function __construct( LoggerInterface $logger, string $prefix, OrderEndpoint $order_endpoint ) {
public function __construct( LoggerInterface $logger, OrderEndpoint $order_endpoint ) {
$this->logger = $logger;
$this->prefix = $prefix;
$this->order_endpoint = $order_endpoint;
}
@ -160,13 +158,7 @@ class CheckoutOrderApproved implements RequestHandler {
return rest_ensure_response( $response );
}
$wc_order_ids = array_map(
array(
$this,
'sanitize_custom_id',
),
$custom_ids
);
$wc_order_ids = $custom_ids;
$args = array(
'post__in' => $wc_order_ids,
'limit' => -1,

View file

@ -19,7 +19,7 @@ use WP_REST_Response;
*/
class CheckoutOrderCompleted implements RequestHandler {
use PrefixTrait, RequestHandlerTrait;
use RequestHandlerTrait;
/**
* The logger.
@ -32,11 +32,9 @@ class CheckoutOrderCompleted implements RequestHandler {
* CheckoutOrderCompleted constructor.
*
* @param LoggerInterface $logger The logger.
* @param string $prefix The prefix.
*/
public function __construct( LoggerInterface $logger, string $prefix ) {
public function __construct( LoggerInterface $logger ) {
$this->logger = $logger;
$this->prefix = $prefix;
}
/**

View file

@ -18,7 +18,7 @@ use WP_REST_Response;
*/
class CheckoutPaymentApprovalReversed implements RequestHandler {
use RequestHandlerTrait, PrefixTrait;
use RequestHandlerTrait;
/**
* The logger.

View file

@ -22,7 +22,7 @@ use WP_REST_Response;
*/
class PaymentCaptureCompleted implements RequestHandler {
use PrefixTrait, TransactionIdHandlingTrait;
use TransactionIdHandlingTrait;
/**
* The logger.
@ -42,16 +42,13 @@ class PaymentCaptureCompleted implements RequestHandler {
* PaymentCaptureCompleted constructor.
*
* @param LoggerInterface $logger The logger.
* @param string $prefix The prefix.
* @param OrderEndpoint $order_endpoint The order endpoint.
*/
public function __construct(
LoggerInterface $logger,
string $prefix,
OrderEndpoint $order_endpoint
) {
$this->logger = $logger;
$this->prefix = $prefix;
$this->order_endpoint = $order_endpoint;
}
@ -95,8 +92,7 @@ class PaymentCaptureCompleted implements RequestHandler {
return new WP_REST_Response( $response );
}
$wc_order_id = isset( $resource['custom_id'] ) ?
$this->sanitize_custom_id( (string) $resource['custom_id'] ) : 0;
$wc_order_id = isset( $resource['custom_id'] ) ? (string) $resource['custom_id'] : 0;
if ( ! $wc_order_id ) {
$message = sprintf( 'No order for webhook event %s was found.', $webhook_id );
$this->logger->warning( $message, array( 'request' => $request ) );

View file

@ -18,7 +18,7 @@ use WP_REST_Response;
*/
class PaymentCapturePending implements RequestHandler {
use PrefixTrait;
use RequestHandlerTrait;
/**
* The logger.
@ -68,7 +68,7 @@ class PaymentCapturePending implements RequestHandler {
public function handle_request( WP_REST_Request $request ): WP_REST_Response {
$response = array( 'success' => false );
$order_id = $request['resource'] !== null && isset( $request['resource']['custom_id'] )
? $this->sanitize_custom_id( $request['resource']['custom_id'] )
? $request['resource']['custom_id']
: 0;
if ( ! $order_id ) {
$message = sprintf(

View file

@ -20,7 +20,7 @@ use WP_REST_Response;
*/
class PaymentCaptureRefunded implements RequestHandler {
use PrefixTrait, TransactionIdHandlingTrait, RefundMetaTrait;
use TransactionIdHandlingTrait, RefundMetaTrait;
/**
* The logger.
@ -33,11 +33,9 @@ class PaymentCaptureRefunded implements RequestHandler {
* PaymentCaptureRefunded constructor.
*
* @param LoggerInterface $logger The logger.
* @param string $prefix The prefix.
*/
public function __construct( LoggerInterface $logger, string $prefix ) {
public function __construct( LoggerInterface $logger ) {
$this->logger = $logger;
$this->prefix = $prefix;
}
/**
@ -70,7 +68,7 @@ class PaymentCaptureRefunded implements RequestHandler {
public function handle_request( WP_REST_Request $request ): WP_REST_Response {
$response = array( 'success' => false );
$order_id = isset( $request['resource']['custom_id'] ) ?
$this->sanitize_custom_id( $request['resource']['custom_id'] ) : 0;
$request['resource']['custom_id'] : 0;
$refund_id = (string) ( $request['resource']['id'] ?? '' );
if ( ! $order_id ) {
$message = sprintf(

View file

@ -19,7 +19,7 @@ use Psr\Log\LoggerInterface;
*/
class PaymentCaptureReversed implements RequestHandler {
use PrefixTrait;
use RequestHandlerTrait;
/**
* The logger.
@ -32,11 +32,9 @@ class PaymentCaptureReversed implements RequestHandler {
* PaymentCaptureReversed constructor.
*
* @param LoggerInterface $logger The logger.
* @param string $prefix The prefix.
*/
public function __construct( LoggerInterface $logger, string $prefix ) {
public function __construct( LoggerInterface $logger ) {
$this->logger = $logger;
$this->prefix = $prefix;
}
/**
@ -73,7 +71,7 @@ class PaymentCaptureReversed implements RequestHandler {
public function handle_request( \WP_REST_Request $request ): \WP_REST_Response {
$response = array( 'success' => false );
$order_id = isset( $request['resource']['custom_id'] ) ?
$this->sanitize_custom_id( $request['resource']['custom_id'] ) : 0;
$request['resource']['custom_id'] : 0;
if ( ! $order_id ) {
$message = sprintf(
// translators: %s is the PayPal webhook Id.

View file

@ -1,40 +0,0 @@
<?php
/**
* Trait which helps to remove the prefix of IDs.
*
* @package WooCommerce\PayPalCommerce\Webhooks\Handler
*/
declare(strict_types=1);
namespace WooCommerce\PayPalCommerce\Webhooks\Handler;
/**
* Trait PrefixTrait
*/
trait PrefixTrait {
/**
* The prefix.
*
* @var string
*/
private $prefix = '';
/**
* Removes the prefix from a given Id.
*
* @param string $custom_id The custom id.
*
* @return int
*/
private function sanitize_custom_id( string $custom_id ): int {
$id = $custom_id;
if ( strlen( $this->prefix ) > 0 && 0 === strpos( $id, $this->prefix ) ) {
$id = substr( $id, strlen( $this->prefix ) );
}
return (int) $id;
}
}

View file

@ -45,13 +45,7 @@ trait RequestHandlerTrait {
* @return WC_Order[]
*/
protected function get_wc_orders_from_custom_ids( array $custom_ids ): array {
$order_ids = array_map(
array(
$this,
'sanitize_custom_id',
),
$custom_ids
);
$order_ids = $custom_ids;
$args = array(
'post__in' => $order_ids,
'limit' => -1,