<?php /** * The products of a seller status. * * @package WooCommerce\PayPalCommerce\ApiClient\Entity */ declare( strict_types=1 ); namespace WooCommerce\PayPalCommerce\ApiClient\Entity; /** * Class SellerStatusProduct */ class SellerStatusProduct { const VETTING_STATUS_APPROVED = 'APPROVED'; const VETTING_STATUS_PENDING = 'PENDING'; const VETTING_STATUS_DECLINED = 'DECLINED'; const VETTING_STATUS_SUBSCRIBED = 'SUBSCRIBED'; const VETTING_STATUS_IN_REVIEW = 'IN_REVIEW'; const VETTING_STATUS_DENIED = 'DENIED'; /** * The name of the product. * * @var string */ private $name; /** * The vetting status of the product. * * @var string */ private $vetting_status; /** * The capabilities of the product. * * @var string[] */ private $capabilities; /** * SellerStatusProduct constructor. * * @param string $name The name of the product. * @param string $vetting_status The vetting status of the product. * @param string[] $capabilities The capabilities of the product. */ public function __construct( string $name, string $vetting_status, array $capabilities ) { foreach ( $capabilities as $key => $capability ) { if ( is_string( $capability ) ) { continue; } unset( $capabilities[ $key ] ); } $this->name = $name; $this->vetting_status = $vetting_status; $this->capabilities = $capabilities; } /** * Returns the name of the product. * * @return string */ public function name() : string { return $this->name; } /** * Returns the vetting status for this product. * * @return string */ public function vetting_status() : string { return $this->vetting_status; } /** * Returns the capabilities of this product. * * @return string[] */ public function capabilities() : array { return $this->capabilities; } /** * Returns the entity as array. * * @return array */ public function to_array() : array { return array( 'name' => $this->name(), 'vetting_status' => $this->vetting_status(), 'capabilities' => $this->capabilities(), ); } }