PHP 8.2.31
Preview: NestedResource.php Size: 3.51 KB
/home/nshryvcy/blissfulnepal.com/wp-content/plugins/tourmaster/include/stripe/lib/ApiOperations/NestedResource.php

<?php

namespace Stripe\ApiOperations;

/**
 * Trait for resources that have nested resources.
 *
 * This trait should only be applied to classes that derive from StripeObject.
 */
trait NestedResource
{
    /**
     * @param string $method
     * @param string $url
     * @param array|null $params
     * @param array|string|null $options
     *
     * @return \Stripe\StripeObject
     */
    protected static function _nestedResourceOperation($method, $url, $params = null, $options = null)
    {
        self::_validateParams($params);

        list($response, $opts) = static::_staticRequest($method, $url, $params, $options);
        $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts);
        $obj->setLastResponse($response);
        return $obj;
    }

    /**
     * @param string $id
     * @param string $nestedPath
     * @param string|null $nestedId
     *
     * @return string
     */
    protected static function _nestedResourceUrl($id, $nestedPath, $nestedId = null)
    {
        $url = static::resourceUrl($id) . $nestedPath;
        if ($nestedId !== null) {
            $url .= "/$nestedId";
        }
        return $url;
    }

    /**
     * @param string $id
     * @param string $nestedPath
     * @param array|null $params
     * @param array|string|null $options
     *
     * @return \Stripe\StripeObject
     */
    protected static function _createNestedResource($id, $nestedPath, $params = null, $options = null)
    {
        $url = static::_nestedResourceUrl($id, $nestedPath);
        return self::_nestedResourceOperation('post', $url, $params, $options);
    }

    /**
     * @param string $id
     * @param string $nestedPath
     * @param string|null $nestedId
     * @param array|null $params
     * @param array|string|null $options
     *
     * @return \Stripe\StripeObject
     */
    protected static function _retrieveNestedResource($id, $nestedPath, $nestedId, $params = null, $options = null)
    {
        $url = static::_nestedResourceUrl($id, $nestedPath, $nestedId);
        return self::_nestedResourceOperation('get', $url, $params, $options);
    }

    /**
     * @param string $id
     * @param string $nestedPath
     * @param string|null $nestedId
     * @param array|null $params
     * @param array|string|null $options
     *
     * @return \Stripe\StripeObject
     */
    protected static function _updateNestedResource($id, $nestedPath, $nestedId, $params = null, $options = null)
    {
        $url = static::_nestedResourceUrl($id, $nestedPath, $nestedId);
        return self::_nestedResourceOperation('post', $url, $params, $options);
    }

    /**
     * @param string $id
     * @param string $nestedPath
     * @param string|null $nestedId
     * @param array|null $params
     * @param array|string|null $options
     *
     * @return \Stripe\StripeObject
     */
    protected static function _deleteNestedResource($id, $nestedPath, $nestedId, $params = null, $options = null)
    {
        $url = static::_nestedResourceUrl($id, $nestedPath, $nestedId);
        return self::_nestedResourceOperation('delete', $url, $params, $options);
    }

    /**
     * @param string $id
     * @param string $nestedPath
     * @param array|null $params
     * @param array|string|null $options
     *
     * @return \Stripe\StripeObject
     */
    protected static function _allNestedResources($id, $nestedPath, $params = null, $options = null)
    {
        $url = static::_nestedResourceUrl($id, $nestedPath);
        return self::_nestedResourceOperation('get', $url, $params, $options);
    }
}

Directory Contents

Dirs: 0 × Files: 7

Name Size Perms Modified Actions
1019 B lrw-r--r-- 2024-05-28 15:48:43
Edit Download
757 B lrw-r--r-- 2024-05-28 15:48:43
Edit Download
655 B lrw-r--r-- 2024-05-28 15:48:43
Edit Download
3.51 KB lrw-r--r-- 2024-05-28 15:48:43
Edit Download
2.20 KB lrw-r--r-- 2024-05-28 15:48:43
Edit Download
671 B lrw-r--r-- 2024-05-28 15:48:43
Edit Download
1.26 KB lrw-r--r-- 2024-05-28 15:48:43
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).