Automattic\WooCommerce\Internal\PushNotifications\Controllers

PushTokenRestController::deletepublicWC 10.6.0

Deletes a push token record.

Method of the class: PushTokenRestController{}

No Hooks.

Returns

WP_REST_Response|WP_Error.

Usage

$PushTokenRestController = new PushTokenRestController();
$PushTokenRestController->delete( $request );
$request(WP_REST_Request) (required)
The request object.

Changelog

Since 10.6.0 Introduced.

PushTokenRestController::delete() code WC 10.8.1

public function delete( WP_REST_Request $request ) {
	try {
		$id         = (int) $request->get_param( 'id' );
		$data_store = wc_get_container()->get( PushTokensDataStore::class );
		$push_token = $data_store->read( $id );

		if ( $push_token->get_user_id() !== get_current_user_id() ) {
			throw new PushTokenNotFoundException();
		}

		$deleted = $data_store->delete( $id );

		if ( ! $deleted ) {
			throw new WC_Data_Exception(
				'woocommerce_push_token_not_deleted',
				'The push token could not be deleted.',
				WP_Http::INTERNAL_SERVER_ERROR
			);
		}
	} catch ( Exception $e ) {
		return $this->convert_exception_to_wp_error( $e );
	}

	return new WP_REST_Response( null, WP_Http::NO_CONTENT );
}