Вход Регистрация
Файл: sngine-v2.8/Script/includes/libs/Stripe/lib/ApiOperations/NestedResource.php
Строк: 171
<?php

namespace StripeApiOperations;

/**
 * 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 null|array $params
     * @param null|array|string $options
     *
     * @return StripeStripeObject
     */
    
protected static function _nestedResourceOperation($method$url$params null$options null)
    {
        
self::_validateParams($params);

        list(
$response$opts) = static::_staticRequest($method$url$params$options);
        
$obj StripeUtilUtil::convertToStripeObject($response->json$opts);
        
$obj->setLastResponse($response);

        return 
$obj;
    }

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

        return 
$url;
    }

    
/**
     * @param string $id
     * @param string $nestedPath
     * @param null|array $params
     * @param null|array|string $options
     *
     * @throws StripeExceptionApiErrorException if the request fails
     *
     * @return StripeStripeObject
     */
    
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 null|string $nestedId
     * @param null|array $params
     * @param null|array|string $options
     *
     * @throws StripeExceptionApiErrorException if the request fails
     *
     * @return StripeStripeObject
     */
    
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 null|string $nestedId
     * @param null|array $params
     * @param null|array|string $options
     *
     * @throws StripeExceptionApiErrorException if the request fails
     *
     * @return StripeStripeObject
     */
    
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 null|string $nestedId
     * @param null|array $params
     * @param null|array|string $options
     *
     * @throws StripeExceptionApiErrorException if the request fails
     *
     * @return StripeStripeObject
     */
    
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 null|array $params
     * @param null|array|string $options
     *
     * @throws StripeExceptionApiErrorException if the request fails
     *
     * @return StripeStripeObject
     */
    
protected static function _allNestedResources($id$nestedPath$params null$options null)
    {
        
$url = static::_nestedResourceUrl($id$nestedPath);

        return 
self::_nestedResourceOperation('get'$url$params$options);
    }
}
Онлайн: 0
Реклама