Skip to content

Commit

Permalink
Codegen for openapi v146 (#1294)
Browse files Browse the repository at this point in the history
  • Loading branch information
pakrym-stripe authored May 23, 2022
1 parent 3a95278 commit 843b7dd
Show file tree
Hide file tree
Showing 10 changed files with 212 additions and 0 deletions.
1 change: 1 addition & 0 deletions OPENAPI_VERSION
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
v146
3 changes: 3 additions & 0 deletions init.php
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,7 @@
require __DIR__ . '/lib/ApplePayDomain.php';
require __DIR__ . '/lib/ApplicationFee.php';
require __DIR__ . '/lib/ApplicationFeeRefund.php';
require __DIR__ . '/lib/Apps/Secret.php';
require __DIR__ . '/lib/Balance.php';
require __DIR__ . '/lib/BalanceTransaction.php';
require __DIR__ . '/lib/BankAccount.php';
Expand Down Expand Up @@ -191,6 +192,7 @@
require __DIR__ . '/lib/Service/AccountLinkService.php';
require __DIR__ . '/lib/Service/ApplePayDomainService.php';
require __DIR__ . '/lib/Service/ApplicationFeeService.php';
require __DIR__ . '/lib/Service/Apps/SecretService.php';
require __DIR__ . '/lib/Service/BalanceService.php';
require __DIR__ . '/lib/Service/BalanceTransactionService.php';
require __DIR__ . '/lib/Service/BillingPortal/ConfigurationService.php';
Expand Down Expand Up @@ -275,6 +277,7 @@
require __DIR__ . '/lib/Service/WebhookEndpointService.php';

// Service factories
require __DIR__ . '/lib/Service/Apps/AppsServiceFactory.php';
require __DIR__ . '/lib/Service/BillingPortal/BillingPortalServiceFactory.php';
require __DIR__ . '/lib/Service/Checkout/CheckoutServiceFactory.php';
require __DIR__ . '/lib/Service/CoreServiceFactory.php';
Expand Down
78 changes: 78 additions & 0 deletions lib/Apps/Secret.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
<?php

// File generated from our OpenAPI spec

namespace Stripe\Apps;

/**
* Secret Store is an API that allows Stripe Apps developers to securely persist
* secrets for use by UI Extensions and app backends.
*
* The primary resource in Secret Store is a <code>secret</code>. Other apps can't
* view secrets created by an app. Additionally, secrets are scoped to provide
* further permission control.
*
* All Dashboard users and the app backend share <code>account</code> scoped
* secrets. Use the <code>account</code> scope for secrets that don't change
* per-user, like a third-party API key.
*
* A <code>user</code> scoped secret is accessible by the app backend and one
* specific Dashboard user. Use the <code>user</code> scope for per-user secrets
* like per-user OAuth tokens, where different users might have different
* permissions.
*
* Related guide: <a
* href="https://stripe.com/docs/stripe-apps/store-auth-data-custom-objects">Store
* data between page reloads</a>.
*
* @property string $id Unique identifier for the object.
* @property string $object String representing the object's type. Objects of the same type share the same value.
* @property int $created Time at which the object was created. Measured in seconds since the Unix epoch.
* @property bool $livemode Has the value <code>true</code> if the object exists in live mode or the value <code>false</code> if the object exists in test mode.
* @property string $name A name for the secret that's unique within the scope.
* @property null|string $payload The plaintext secret value to be stored.
* @property \Stripe\StripeObject $scope
*/
class Secret extends \Stripe\ApiResource
{
const OBJECT_NAME = 'apps.secret';

use \Stripe\ApiOperations\All;
use \Stripe\ApiOperations\Create;

/**
* @param null|array $params
* @param null|array|string $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Apps\Secret the deleted secret
*/
public static function deleteWhere($params = null, $opts = null)
{
$url = static::classUrl() . '/delete';
list($response, $opts) = static::_staticRequest('post', $url, $params, $opts);
$obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts);
$obj->setLastResponse($response);

return $obj;
}

/**
* @param null|array $params
* @param null|array|string $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Apps\Secret the finded secret
*/
public static function find($params = null, $opts = null)
{
$url = static::classUrl() . '/find';
list($response, $opts) = static::_staticRequest('get', $url, $params, $opts);
$obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts);
$obj->setLastResponse($response);

return $obj;
}
}
2 changes: 2 additions & 0 deletions lib/PaymentMethod.php
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
* @property string $id Unique identifier for the object.
* @property string $object String representing the object's type. Objects of the same type share the same value.
* @property \Stripe\StripeObject $acss_debit
* @property \Stripe\StripeObject $affirm
* @property \Stripe\StripeObject $afterpay_clearpay
* @property \Stripe\StripeObject $alipay
* @property \Stripe\StripeObject $au_becs_debit
Expand All @@ -39,6 +40,7 @@
* @property \Stripe\StripeObject $interac_present
* @property \Stripe\StripeObject $klarna
* @property \Stripe\StripeObject $konbini
* @property \Stripe\StripeObject $link
* @property bool $livemode Has the value <code>true</code> if the object exists in live mode or the value <code>false</code> if the object exists in test mode.
* @property null|\Stripe\StripeObject $metadata Set of <a href="https://stripe.com/docs/api/metadata">key-value pairs</a> that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
* @property \Stripe\StripeObject $oxxo
Expand Down
25 changes: 25 additions & 0 deletions lib/Service/Apps/AppsServiceFactory.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
<?php

// File generated from our OpenAPI spec

namespace Stripe\Service\Apps;

/**
* Service factory class for API resources in the Apps namespace.
*
* @property SecretService $secrets
*/
class AppsServiceFactory extends \Stripe\Service\AbstractServiceFactory
{
/**
* @var array<string, string>
*/
private static $classMap = [
'secrets' => SecretService::class,
];

protected function getServiceClass($name)
{
return \array_key_exists($name, self::$classMap) ? self::$classMap[$name] : null;
}
}
68 changes: 68 additions & 0 deletions lib/Service/Apps/SecretService.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
<?php

// File generated from our OpenAPI spec

namespace Stripe\Service\Apps;

class SecretService extends \Stripe\Service\AbstractService
{
/**
* List all secrets stored on the given scope.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Collection<\Stripe\Apps\Secret>
*/
public function all($params = null, $opts = null)
{
return $this->requestCollection('get', '/v1/apps/secrets', $params, $opts);
}

/**
* Create or replace a secret in the secret store.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Apps\Secret
*/
public function create($params = null, $opts = null)
{
return $this->request('post', '/v1/apps/secrets', $params, $opts);
}

/**
* Deletes a secret from the secret store by name and scope.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Apps\Secret
*/
public function deleteWhere($params = null, $opts = null)
{
return $this->request('post', '/v1/apps/secrets/delete', $params, $opts);
}

/**
* Finds a secret in the secret store by name and scope.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Apps\Secret
*/
public function find($params = null, $opts = null)
{
return $this->request('get', '/v1/apps/secrets/find', $params, $opts);
}
}
2 changes: 2 additions & 0 deletions lib/Service/CoreServiceFactory.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
* @property AccountService $accounts
* @property ApplePayDomainService $applePayDomains
* @property ApplicationFeeService $applicationFees
* @property Apps\AppsServiceFactory $apps
* @property BalanceService $balance
* @property BalanceTransactionService $balanceTransactions
* @property BillingPortal\BillingPortalServiceFactory $billingPortal
Expand Down Expand Up @@ -76,6 +77,7 @@ class CoreServiceFactory extends \Stripe\Service\AbstractServiceFactory
'accounts' => AccountService::class,
'applePayDomains' => ApplePayDomainService::class,
'applicationFees' => ApplicationFeeService::class,
'apps' => Apps\AppsServiceFactory::class,
'balance' => BalanceService::class,
'balanceTransactions' => BalanceTransactionService::class,
'billingPortal' => BillingPortal\BillingPortalServiceFactory::class,
Expand Down
1 change: 1 addition & 0 deletions lib/StripeClient.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
* @property \Stripe\Service\AccountService $accounts
* @property \Stripe\Service\ApplePayDomainService $applePayDomains
* @property \Stripe\Service\ApplicationFeeService $applicationFees
* @property \Stripe\Service\Apps\AppsServiceFactory $apps
* @property \Stripe\Service\BalanceService $balance
* @property \Stripe\Service\BalanceTransactionService $balanceTransactions
* @property \Stripe\Service\BillingPortal\BillingPortalServiceFactory $billingPortal
Expand Down
1 change: 1 addition & 0 deletions lib/Util/ObjectTypes.php
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ class ObjectTypes
\Stripe\ApplePayDomain::OBJECT_NAME => \Stripe\ApplePayDomain::class,
\Stripe\ApplicationFee::OBJECT_NAME => \Stripe\ApplicationFee::class,
\Stripe\ApplicationFeeRefund::OBJECT_NAME => \Stripe\ApplicationFeeRefund::class,
\Stripe\Apps\Secret::OBJECT_NAME => \Stripe\Apps\Secret::class,
\Stripe\Balance::OBJECT_NAME => \Stripe\Balance::class,
\Stripe\BalanceTransaction::OBJECT_NAME => \Stripe\BalanceTransaction::class,
\Stripe\BankAccount::OBJECT_NAME => \Stripe\BankAccount::class,
Expand Down
31 changes: 31 additions & 0 deletions tests/Stripe/GeneratedExamplesTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -483,6 +483,37 @@ public function testCreateReceivedDebit()
static::assertInstanceOf(\Stripe\Treasury\ReceivedDebit::class, $result);
}

public function testCreateSecret()
{
$this->expectsRequest('post', '/v1/apps/secrets');
$result = $this->client->apps->secrets->create(
[
'name' => 'sec_123',
'payload' => 'very secret string',
'scope' => ['type' => 'account'],
]
);
static::assertInstanceOf(\Stripe\Apps\Secret::class, $result);
}

public function testFindSecret()
{
$this->expectsRequest('get', '/v1/apps/secrets/find');
$result = $this->client->apps->secrets->find(
['name' => 'sec_123', 'scope' => ['type' => 'account']]
);
static::assertInstanceOf(\Stripe\Apps\Secret::class, $result);
}

public function testDeleteWhereSecret()
{
$this->expectsRequest('post', '/v1/apps/secrets/delete');
$result = $this->client->apps->secrets->deleteWhere(
['name' => 'sec_123', 'scope' => ['type' => 'account']]
);
static::assertInstanceOf(\Stripe\Apps\Secret::class, $result);
}

public function testListCustomer()
{
$this->expectsRequest('get', '/v1/customers');
Expand Down

0 comments on commit 843b7dd

Please sign in to comment.