forked from apoloz/alfa-bank-sdk
refactor: dto, requests, connector
This commit is contained in:
22
src/Requests/Accounts/GetAccountStatusRequest.php
Normal file
22
src/Requests/Accounts/GetAccountStatusRequest.php
Normal file
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Apoloz\AlfaBank\Requests\Accounts;
|
||||
|
||||
use Saloon\Enums\Method;
|
||||
use Saloon\Http\Request;
|
||||
|
||||
class GetAccountStatusRequest extends Request
|
||||
{
|
||||
protected Method $method = Method::GET;
|
||||
|
||||
public function __construct(
|
||||
protected string $accountNumber
|
||||
) {}
|
||||
|
||||
public function resolveEndpoint(): string
|
||||
{
|
||||
return "/api/gd/v1/accounts/{$this->accountNumber}/status";
|
||||
}
|
||||
}
|
||||
22
src/Requests/B2C/GetB2CPackageStatusRequest.php
Normal file
22
src/Requests/B2C/GetB2CPackageStatusRequest.php
Normal file
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Apoloz\AlfaBank\Requests\B2C;
|
||||
|
||||
use Saloon\Enums\Method;
|
||||
use Saloon\Http\Request;
|
||||
|
||||
class GetB2CPackageStatusRequest extends Request
|
||||
{
|
||||
protected Method $method = Method::GET;
|
||||
|
||||
public function __construct(
|
||||
protected string $packageId
|
||||
) {}
|
||||
|
||||
public function resolveEndpoint(): string
|
||||
{
|
||||
return "/api/b2cpay/jp/v1/payments/packages/{$this->packageId}";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Apoloz\AlfaBank\Requests\DigitalIdentity;
|
||||
|
||||
use Saloon\Enums\Method;
|
||||
use Saloon\Http\Request;
|
||||
|
||||
class GetAccountChannelStatusRequest extends Request
|
||||
{
|
||||
protected Method $method = Method::GET;
|
||||
|
||||
public function __construct(
|
||||
protected string $accountNumber
|
||||
) {}
|
||||
|
||||
public function resolveEndpoint(): string
|
||||
{
|
||||
return "/api/gd/v1/accounts/{$this->accountNumber}/status";
|
||||
}
|
||||
}
|
||||
44
src/Requests/Files/UploadFileRequest.php
Normal file
44
src/Requests/Files/UploadFileRequest.php
Normal file
@@ -0,0 +1,44 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Apoloz\AlfaBank\Requests\Files;
|
||||
|
||||
use Saloon\Contracts\Body\HasBody;
|
||||
use Saloon\Enums\Method;
|
||||
use Saloon\Http\Request;
|
||||
use Saloon\Traits\Body\HasStreamBody;
|
||||
|
||||
class UploadFileRequest extends Request implements HasBody
|
||||
{
|
||||
use HasStreamBody;
|
||||
|
||||
protected Method $method = Method::PUT;
|
||||
|
||||
/**
|
||||
* @param string $url Full pre-signed URL from Alfa Bank
|
||||
* @param mixed $resource File resource or stream
|
||||
*/
|
||||
public function __construct(
|
||||
protected string $url,
|
||||
protected $resource
|
||||
) {}
|
||||
|
||||
public function resolveEndpoint(): string
|
||||
{
|
||||
return $this->url;
|
||||
}
|
||||
|
||||
protected function defaultHeaders(): array
|
||||
{
|
||||
return [
|
||||
'Accept' => '*/*',
|
||||
'Content-Type' => 'application/octet-stream',
|
||||
];
|
||||
}
|
||||
|
||||
protected function defineBody(): mixed
|
||||
{
|
||||
return $this->resource;
|
||||
}
|
||||
}
|
||||
32
src/Requests/Partner/CreateIndividualRequest.php
Normal file
32
src/Requests/Partner/CreateIndividualRequest.php
Normal file
@@ -0,0 +1,32 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Apoloz\AlfaBank\Requests\Partner;
|
||||
|
||||
use Spatie\LaravelData\Data;
|
||||
use Saloon\Contracts\Body\HasBody;
|
||||
use Saloon\Enums\Method;
|
||||
use Saloon\Http\Request;
|
||||
use Saloon\Traits\Body\HasJsonBody;
|
||||
|
||||
class CreateIndividualRequest extends Request implements HasBody
|
||||
{
|
||||
use HasJsonBody;
|
||||
|
||||
protected Method $method = Method::POST;
|
||||
|
||||
public function __construct(
|
||||
protected array $data
|
||||
) {}
|
||||
|
||||
public function resolveEndpoint(): string
|
||||
{
|
||||
return '/partner/jp/v1/individuals';
|
||||
}
|
||||
|
||||
protected function defaultBody(): array
|
||||
{
|
||||
return $this->data;
|
||||
}
|
||||
}
|
||||
22
src/Requests/Poa/DownloadPoaRequest.php
Normal file
22
src/Requests/Poa/DownloadPoaRequest.php
Normal file
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Apoloz\AlfaBank\Requests\Poa;
|
||||
|
||||
use Saloon\Enums\Method;
|
||||
use Saloon\Http\Request;
|
||||
|
||||
class DownloadPoaRequest extends Request
|
||||
{
|
||||
protected Method $method = Method::GET;
|
||||
|
||||
public function __construct(
|
||||
protected string $requestUuid
|
||||
) {}
|
||||
|
||||
public function resolveEndpoint(): string
|
||||
{
|
||||
return "/api/jp/v1/poa/requests/{$this->requestUuid}/download";
|
||||
}
|
||||
}
|
||||
22
src/Requests/Registries/GetRegistryPaymentsRequest.php
Normal file
22
src/Requests/Registries/GetRegistryPaymentsRequest.php
Normal file
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Apoloz\AlfaBank\Requests\Registries;
|
||||
|
||||
use Saloon\Enums\Method;
|
||||
use Saloon\Http\Request;
|
||||
|
||||
class GetRegistryPaymentsRequest extends Request
|
||||
{
|
||||
protected Method $method = Method::GET;
|
||||
|
||||
public function __construct(
|
||||
protected string $registryId
|
||||
) {}
|
||||
|
||||
public function resolveEndpoint(): string
|
||||
{
|
||||
return "/api/jp/v1/registries/{$this->registryId}/payments";
|
||||
}
|
||||
}
|
||||
22
src/Requests/Registries/GetRegistryRequest.php
Normal file
22
src/Requests/Registries/GetRegistryRequest.php
Normal file
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Apoloz\AlfaBank\Requests\Registries;
|
||||
|
||||
use Saloon\Enums\Method;
|
||||
use Saloon\Http\Request;
|
||||
|
||||
class GetRegistryRequest extends Request
|
||||
{
|
||||
protected Method $method = Method::GET;
|
||||
|
||||
public function __construct(
|
||||
protected string $registryId
|
||||
) {}
|
||||
|
||||
public function resolveEndpoint(): string
|
||||
{
|
||||
return "/api/jp/v1/registries/{$this->registryId}";
|
||||
}
|
||||
}
|
||||
18
src/Requests/SelfEmployed/GetRegionsRequest.php
Normal file
18
src/Requests/SelfEmployed/GetRegionsRequest.php
Normal file
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Apoloz\AlfaBank\Requests\SelfEmployed;
|
||||
|
||||
use Saloon\Enums\Method;
|
||||
use Saloon\Http\Request;
|
||||
|
||||
class GetRegionsRequest extends Request
|
||||
{
|
||||
protected Method $method = Method::GET;
|
||||
|
||||
public function resolveEndpoint(): string
|
||||
{
|
||||
return '/semp/v1/dictionary/regions';
|
||||
}
|
||||
}
|
||||
39
src/Requests/SelfEmployed/RegisterIncomeRequest.php
Normal file
39
src/Requests/SelfEmployed/RegisterIncomeRequest.php
Normal file
@@ -0,0 +1,39 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Apoloz\AlfaBank\Requests\SelfEmployed;
|
||||
|
||||
use Apoloz\AlfaBank\Data\SelfEmployed\CreateIncomeRequestData;
|
||||
use Apoloz\AlfaBank\Data\SelfEmployed\CreateIncomeResponseData;
|
||||
use Saloon\Contracts\Body\HasBody;
|
||||
use Saloon\Enums\Method;
|
||||
use Saloon\Http\Request;
|
||||
use Saloon\Http\Response;
|
||||
use Saloon\Traits\Body\HasJsonBody;
|
||||
|
||||
class RegisterIncomeRequest extends Request implements HasBody
|
||||
{
|
||||
use HasJsonBody;
|
||||
|
||||
protected Method $method = Method::POST;
|
||||
|
||||
public function __construct(
|
||||
protected CreateIncomeRequestData $data
|
||||
) {}
|
||||
|
||||
public function resolveEndpoint(): string
|
||||
{
|
||||
return '/semp/v1/selfemployed/income';
|
||||
}
|
||||
|
||||
protected function defaultBody(): array
|
||||
{
|
||||
return $this->data->toArray();
|
||||
}
|
||||
|
||||
public function createDtoFromResponse(Response $response): CreateIncomeResponseData
|
||||
{
|
||||
return CreateIncomeResponseData::from($response->json());
|
||||
}
|
||||
}
|
||||
18
src/Requests/Signature/GetDistinguishedNameRequest.php
Normal file
18
src/Requests/Signature/GetDistinguishedNameRequest.php
Normal file
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Apoloz\AlfaBank\Requests\Signature;
|
||||
|
||||
use Saloon\Enums\Method;
|
||||
use Saloon\Http\Request;
|
||||
|
||||
class GetDistinguishedNameRequest extends Request
|
||||
{
|
||||
protected Method $method = Method::GET;
|
||||
|
||||
public function resolveEndpoint(): string
|
||||
{
|
||||
return '/jp/v3/signature/dn';
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user