Skip to content

Commit

Permalink
Merge pull request #7 from saasus-platform/feature/v1-sdk
Browse files Browse the repository at this point in the history
PHP SDK v1
  • Loading branch information
yaggytter authored Dec 26, 2022
2 parents 5ec8449 + 0819513 commit 474f79e
Show file tree
Hide file tree
Showing 201 changed files with 3,783 additions and 2,144 deletions.
33 changes: 20 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,28 +1,33 @@
# PHP SaaSus SDK

---

## SDK 利用の準備

### セットアップ

```
composer config repositories.anti-pattern-inc/saasus-sdk-php vcs https://github.com/saasus-platform/saasus-sdk-php
composer config repositories.saasus-platform/saasus-sdk-php vcs https://github.com/saasus-platform/saasus-sdk-php
```
### SDK追加

### SDK 追加

```
composer require Anti-Pattern-Inc/saasus-sdk-php
composer require saasus-platform/saasus-sdk-php
```

### 環境変数を定義

```
### for SaaSus Platform
SAASUS_SAAS_ID="saasid_98tjo3wifaoua (画面のSaaS ID)"
SAASUS_API_KEY="apikey_kjntowjfoasnkjntwonsflajsno4as (画面のAPI KEY)"
SAASUS_SECRET_KEY="DuFMclufMf7OH2r4Ma3nB2TatvRufqja7V2yZrlz+xA (画面のクライアントシークレット)"
SAASUS_SAAS_ID="(画面のSaaS ID)"
SAASUS_API_KEY="(画面のAPI KEY)"
SAASUS_SECRET_KEY="(画面のクライアントシークレット)"
SAASUS_LOGIN_URL="https://auth.sample.saasus.jp/ (ログイン画面のURL)"
```
SAASUS_SAAS_ID, SAASUS_API_KEY は先ほど画面で表示した SaaS ID と API Keyを、
SAASUS_LOGIN_URL は、SaaSus コンソールで作成したログイン画面のURLを設定します。

SAASUS_SAAS_ID, SAASUS_API_KEY, SAASUS_SECRET_KEY は SaaS 開発コンソール画面に表示されている SaaS ID、 API キー  と クライアントシークレットを、
SAASUS_LOGIN_URL は、SaaSus コンソールで作成したログイン画面の URL を設定します。

### 認証モジュールの組み込み

Expand All @@ -38,21 +43,23 @@ Route::middleware(\AntiPatternInc\Saasus\Laravel\Middleware\Auth::class)->group(
```

---

## PHP SDK

- [Auth](./generated/Auth/README.md)

ユーザ情報、基本情報、認証情報、テナント情報、役割(ロール)情報などに参照・更新に利用します。
ユーザ情報、基本情報、認証情報、テナント情報、役割(ロール)情報などに参照・更新に利用します。

- [Pricing](./generated/Pricing/README.md)

プライシングユニット、機能メニュー、料金プラン、メータリングユニットカウントなど料金に関連する情報の参照・更新に利用します。
プライシングユニット、機能メニュー、料金プラン、メータリングユニットカウントなど料金に関連する情報の参照・更新に利用します。

- [Billing](./generated/Billing/README.md)

請求業務で使う外部SaaSとの連携情報の参照・更新に利用します。

請求業務で使う外部 SaaS との連携情報の参照・更新に利用します。

---

# ユースケースサンプル
 準備中・・・

準備中・・・
847 changes: 471 additions & 376 deletions generated/Auth/Client.php

Large diffs are not rendered by default.

13 changes: 9 additions & 4 deletions generated/Auth/Endpoint/CreateAuthCredentials.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,15 @@
class CreateAuthCredentials extends \AntiPatternInc\Saasus\Sdk\Auth\Runtime\Client\BaseEndpoint implements \AntiPatternInc\Saasus\Sdk\Auth\Runtime\Client\Endpoint
{
/**
* 認証・認可情報の保存
*
* @param null|\stdClass $requestBody
*/
* 引数のIDトークン・アクセストークン・リフレッシュトークンを一時保存し取得用の一時コードを返却する。
一時コードの有効期間は発行から10秒です。
Temporarily save the argument ID token, access token, and refresh token and return the temporary code for acquisition.
Temporary codes are valid for 10 seconds from issuance.
*
* @param null|\stdClass $requestBody
*/
public function __construct(?\stdClass $requestBody = null)
{
$this->body = $requestBody;
Expand Down
7 changes: 5 additions & 2 deletions generated/Auth/Endpoint/CreateEnv.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,11 @@
class CreateEnv extends \AntiPatternInc\Saasus\Sdk\Auth\Runtime\Client\BaseEndpoint implements \AntiPatternInc\Saasus\Sdk\Auth\Runtime\Client\Endpoint
{
/**
* 連携のテストや開発用環境や実際の運用で利用する環境など複数の環境を定義することができるようになっており、
環境情報を作成します。
* 環境情報を作成します。
連携のテストや開発用環境や実際の運用で利用する環境など複数の環境を定義することができます。
Create environment information.
Multiple environments can be defined, such as an environment for testing linkage, an environment for development, and an environment for actual operation.
*
* @param null|\stdClass $requestBody
Expand Down
15 changes: 11 additions & 4 deletions generated/Auth/Endpoint/CreateRole.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,17 @@
class CreateRole extends \AntiPatternInc\Saasus\Sdk\Auth\Runtime\Client\BaseEndpoint implements \AntiPatternInc\Saasus\Sdk\Auth\Runtime\Client\Endpoint
{
/**
* 役割を作成します。
*
* @param null|\stdClass $requestBody
*/
* 役割(ロール)を作成します。
ここで作成した役割をユーザーに付与することによって、SaaS側で役割ベースの認可を実装することが用意になります。
また、同じユーザーでも、属するテナント・環境ごとに持っている役割を変えることが可能です。
Create a role.
By granting users the roles created here, it becomes easier to implement role-based authorization on the SaaS side.
In addition, even the same user can have different roles for each tenant/environment to which they belong.
*
* @param null|\stdClass $requestBody
*/
public function __construct(?\stdClass $requestBody = null)
{
$this->body = $requestBody;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,16 @@

namespace AntiPatternInc\Saasus\Sdk\Auth\Endpoint;

class CreateSaaSUser extends \AntiPatternInc\Saasus\Sdk\Auth\Runtime\Client\BaseEndpoint implements \AntiPatternInc\Saasus\Sdk\Auth\Runtime\Client\Endpoint
class CreateSaasUser extends \AntiPatternInc\Saasus\Sdk\Auth\Runtime\Client\BaseEndpoint implements \AntiPatternInc\Saasus\Sdk\Auth\Runtime\Client\Endpoint
{
/**
* SaaSにユーザーを作成します。
*
* @param null|\AntiPatternInc\Saasus\Sdk\Auth\Model\CreateSaasUserParam $requestBody
*/
* SaaSにユーザーを作成します。
Create a user to SaaS.
*
* @param null|\AntiPatternInc\Saasus\Sdk\Auth\Model\CreateSaasUserParam $requestBody
*/
public function __construct(?\AntiPatternInc\Saasus\Sdk\Auth\Model\CreateSaasUserParam $requestBody = null)
{
$this->body = $requestBody;
Expand Down Expand Up @@ -36,8 +39,8 @@ public function getExtraHeaders() : array
/**
* {@inheritdoc}
*
* @throws \AntiPatternInc\Saasus\Sdk\Auth\Exception\CreateSaaSUserBadRequestException
* @throws \AntiPatternInc\Saasus\Sdk\Auth\Exception\CreateSaaSUserInternalServerErrorException
* @throws \AntiPatternInc\Saasus\Sdk\Auth\Exception\CreateSaasUserBadRequestException
* @throws \AntiPatternInc\Saasus\Sdk\Auth\Exception\CreateSaasUserInternalServerErrorException
*
* @return null|\AntiPatternInc\Saasus\Sdk\Auth\Model\SaasUser
*/
Expand All @@ -47,10 +50,10 @@ protected function transformResponseBody(string $body, int $status, \Symfony\Com
return $serializer->deserialize($body, 'AntiPatternInc\\Saasus\\Sdk\\Auth\\Model\\SaasUser', 'json');
}
if (is_null($contentType) === false && (400 === $status && mb_strpos($contentType, 'application/json') !== false)) {
throw new \AntiPatternInc\Saasus\Sdk\Auth\Exception\CreateSaaSUserBadRequestException($serializer->deserialize($body, 'AntiPatternInc\\Saasus\\Sdk\\Auth\\Model\\Error', 'json'));
throw new \AntiPatternInc\Saasus\Sdk\Auth\Exception\CreateSaasUserBadRequestException($serializer->deserialize($body, 'AntiPatternInc\\Saasus\\Sdk\\Auth\\Model\\Error', 'json'));
}
if (is_null($contentType) === false && (500 === $status && mb_strpos($contentType, 'application/json') !== false)) {
throw new \AntiPatternInc\Saasus\Sdk\Auth\Exception\CreateSaaSUserInternalServerErrorException($serializer->deserialize($body, 'AntiPatternInc\\Saasus\\Sdk\\Auth\\Model\\Error', 'json'));
throw new \AntiPatternInc\Saasus\Sdk\Auth\Exception\CreateSaasUserInternalServerErrorException($serializer->deserialize($body, 'AntiPatternInc\\Saasus\\Sdk\\Auth\\Model\\Error', 'json'));
}
}
public function getAuthenticationScopes() : array
Expand Down
13 changes: 8 additions & 5 deletions generated/Auth/Endpoint/CreateSecretCode.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,14 @@ class CreateSecretCode extends \AntiPatternInc\Saasus\Sdk\Auth\Runtime\Client\Ba
{
protected $user_id;
/**
* 認証アプリケーション登録用のシークレットコード作成
*
* @param string $userId ユーザーID
* @param null|\AntiPatternInc\Saasus\Sdk\Auth\Model\CreateSecretCodeParam $requestBody
*/
* 認証アプリケーション登録用のシークレットコードを作成します。
Create a secret code for authenticator application registration.
*
* @param string $userId ユーザーID(User ID)
* @param null|\AntiPatternInc\Saasus\Sdk\Auth\Model\CreateSecretCodeParam $requestBody
*/
public function __construct(string $userId, ?\AntiPatternInc\Saasus\Sdk\Auth\Model\CreateSecretCodeParam $requestBody = null)
{
$this->user_id = $userId;
Expand Down
11 changes: 7 additions & 4 deletions generated/Auth/Endpoint/CreateTenant.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,13 @@
class CreateTenant extends \AntiPatternInc\Saasus\Sdk\Auth\Runtime\Client\BaseEndpoint implements \AntiPatternInc\Saasus\Sdk\Auth\Runtime\Client\Endpoint
{
/**
* SaaSus Platform で管理する、テナント情報を作成します。
*
* @param null|\stdClass $requestBody
*/
* SaaSus Platform で管理する、テナント情報を作成します。
Create tenant information in the SaaSus Platform.
*
* @param null|\stdClass $requestBody
*/
public function __construct(?\stdClass $requestBody = null)
{
$this->body = $requestBody;
Expand Down
3 changes: 3 additions & 0 deletions generated/Auth/Endpoint/CreateTenantAttribute.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@ class CreateTenantAttribute extends \AntiPatternInc\Saasus\Sdk\Auth\Runtime\Clie
* SaaSus Platform で管理する、テナントの追加属性の登録を行います。
例えばテナントの呼び名やメモなどをを持たせることができ、SaaSからSaaSus SDK/APIを利用して取得することができます。
Register additional tenant attributes to be managed by SaaSus Platform.
For example, you can have a tenant name, memo, etc., and you can get it from SaaS using the SaaSus SDK/API.
*
* @param null|\stdClass $requestBody
*/
Expand Down
15 changes: 10 additions & 5 deletions generated/Auth/Endpoint/CreateTenantUser.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,16 @@ class CreateTenantUser extends \AntiPatternInc\Saasus\Sdk\Auth\Runtime\Client\Ba
{
protected $tenant_id;
/**
* テナントにユーザーを作成します。attributesを空のオブジェクトにした場合、追加属性は空で作成されます。
*
* @param string $tenantId テナントID
* @param null|\AntiPatternInc\Saasus\Sdk\Auth\Model\CreateTenantUserParam $requestBody
*/
* テナントにユーザーを作成します。
attributesを空のオブジェクトにした場合、追加属性は空で作成されます。
Create a user in your tenant.
If attributes is an empty object, the additional attributes will be created empty.
*
* @param string $tenantId テナントID(Tenant ID)
* @param null|\AntiPatternInc\Saasus\Sdk\Auth\Model\CreateTenantUserParam $requestBody
*/
public function __construct(string $tenantId, ?\AntiPatternInc\Saasus\Sdk\Auth\Model\CreateTenantUserParam $requestBody = null)
{
$this->tenant_id = $tenantId;
Expand Down
17 changes: 10 additions & 7 deletions generated/Auth/Endpoint/CreateTenantUserRoles.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,16 @@ class CreateTenantUserRoles extends \AntiPatternInc\Saasus\Sdk\Auth\Runtime\Clie
protected $user_id;
protected $env_id;
/**
* テナントのユーザーに役割を作成します。
*
* @param string $tenantId テナントID
* @param string $userId ユーザーID
* @param int $envId 環境ID
* @param null|\AntiPatternInc\Saasus\Sdk\Auth\Model\CreateTenantUserRolesParam $requestBody
*/
* テナントのユーザーに役割(ロール)を作成します。
Create roles for tenant users.
*
* @param string $tenantId テナントID(Tenant ID)
* @param string $userId ユーザーID(User ID)
* @param int $envId 環境ID(Env ID)
* @param null|\AntiPatternInc\Saasus\Sdk\Auth\Model\CreateTenantUserRolesParam $requestBody
*/
public function __construct(string $tenantId, string $userId, int $envId, ?\AntiPatternInc\Saasus\Sdk\Auth\Model\CreateTenantUserRolesParam $requestBody = null)
{
$this->tenant_id = $tenantId;
Expand Down
4 changes: 4 additions & 0 deletions generated/Auth/Endpoint/CreateUserAttribute.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@ class CreateUserAttribute extends \AntiPatternInc\Saasus\Sdk\Auth\Runtime\Client
例えば、ユーザー名を持たせる、誕生日を持たせるなど、ユーザーに紐付いた項目の定義を行うことができます。
一方で、個人情報を SaaSus Platform 側に持たせたくない場合は、このユーザー属性定義を行わずに SaaS 側で個人情報を持つことを検討してください。
Register additional user attributes to be retained in the SaaSus Platform.
For example, you can define items associated with a user, such as having a user name, having a birthday, etc.
On the other hand, if you don't want to have personal information on the SaaS Platform side, consider having personal information on the SaaS side without this user attribute definition.
*
* @param null|\stdClass $requestBody
*/
Expand Down
11 changes: 7 additions & 4 deletions generated/Auth/Endpoint/DeleteApiKey.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,13 @@ class DeleteApiKey extends \AntiPatternInc\Saasus\Sdk\Auth\Runtime\Client\BaseEn
{
protected $api_key;
/**
* サーバサイド用の API キーを削除します。
*
* @param string $apiKey ApiKey
*/
* サーバサイド用の API キーを削除します。
Delete API Keys.
*
* @param string $apiKey APIキー(API key)
*/
public function __construct(string $apiKey)
{
$this->api_key = $apiKey;
Expand Down
11 changes: 7 additions & 4 deletions generated/Auth/Endpoint/DeleteEnv.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,13 @@ class DeleteEnv extends \AntiPatternInc\Saasus\Sdk\Auth\Runtime\Client\BaseEndpo
{
protected $env_id;
/**
* 環境情報を削除します。
*
* @param int $envId 環境ID
*/
* 環境情報を削除します。
Delete env info.
*
* @param int $envId 環境ID(Env ID)
*/
public function __construct(int $envId)
{
$this->env_id = $envId;
Expand Down
11 changes: 7 additions & 4 deletions generated/Auth/Endpoint/DeleteRole.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,13 @@ class DeleteRole extends \AntiPatternInc\Saasus\Sdk\Auth\Runtime\Client\BaseEndp
{
protected $role_name;
/**
* 役割を削除します。
*
* @param string $roleName 役割名
*/
* 役割(ロール)を削除します。
Delete a role.
*
* @param string $roleName 役割(ロール)名(role name)
*/
public function __construct(string $roleName)
{
$this->role_name = $roleName;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,17 @@

namespace AntiPatternInc\Saasus\Sdk\Auth\Endpoint;

class DeleteSaaSUser extends \AntiPatternInc\Saasus\Sdk\Auth\Runtime\Client\BaseEndpoint implements \AntiPatternInc\Saasus\Sdk\Auth\Runtime\Client\Endpoint
class DeleteSaasUser extends \AntiPatternInc\Saasus\Sdk\Auth\Runtime\Client\BaseEndpoint implements \AntiPatternInc\Saasus\Sdk\Auth\Runtime\Client\Endpoint
{
protected $user_id;
/**
* ユーザーIDを元に一致するユーザーをテナントからすべて削除し、SaaSからも削除します。
*
* @param string $userId ユーザーID
*/
* ユーザーIDを元に一致するユーザーをテナントからすべて削除し、SaaSからも削除します。
Deletes all matching users based on the user ID from the tenant and also deletes them from SaaS.
*
* @param string $userId ユーザーID(User ID)
*/
public function __construct(string $userId)
{
$this->user_id = $userId;
Expand All @@ -34,8 +37,8 @@ public function getExtraHeaders() : array
/**
* {@inheritdoc}
*
* @throws \AntiPatternInc\Saasus\Sdk\Auth\Exception\DeleteSaaSUserNotFoundException
* @throws \AntiPatternInc\Saasus\Sdk\Auth\Exception\DeleteSaaSUserInternalServerErrorException
* @throws \AntiPatternInc\Saasus\Sdk\Auth\Exception\DeleteSaasUserNotFoundException
* @throws \AntiPatternInc\Saasus\Sdk\Auth\Exception\DeleteSaasUserInternalServerErrorException
*
* @return null
*/
Expand All @@ -45,10 +48,10 @@ protected function transformResponseBody(string $body, int $status, \Symfony\Com
return null;
}
if (is_null($contentType) === false && (404 === $status && mb_strpos($contentType, 'application/json') !== false)) {
throw new \AntiPatternInc\Saasus\Sdk\Auth\Exception\DeleteSaaSUserNotFoundException($serializer->deserialize($body, 'AntiPatternInc\\Saasus\\Sdk\\Auth\\Model\\Error', 'json'));
throw new \AntiPatternInc\Saasus\Sdk\Auth\Exception\DeleteSaasUserNotFoundException($serializer->deserialize($body, 'AntiPatternInc\\Saasus\\Sdk\\Auth\\Model\\Error', 'json'));
}
if (is_null($contentType) === false && (500 === $status && mb_strpos($contentType, 'application/json') !== false)) {
throw new \AntiPatternInc\Saasus\Sdk\Auth\Exception\DeleteSaaSUserInternalServerErrorException($serializer->deserialize($body, 'AntiPatternInc\\Saasus\\Sdk\\Auth\\Model\\Error', 'json'));
throw new \AntiPatternInc\Saasus\Sdk\Auth\Exception\DeleteSaasUserInternalServerErrorException($serializer->deserialize($body, 'AntiPatternInc\\Saasus\\Sdk\\Auth\\Model\\Error', 'json'));
}
}
public function getAuthenticationScopes() : array
Expand Down
11 changes: 7 additions & 4 deletions generated/Auth/Endpoint/DeleteTenant.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,13 @@ class DeleteTenant extends \AntiPatternInc\Saasus\Sdk\Auth\Runtime\Client\BaseEn
{
protected $tenant_id;
/**
* SaaSus Platform で管理する、テナントの詳細情報を削除します。
*
* @param string $tenantId テナントID
*/
* SaaSus Platform で管理する、テナントの詳細情報を削除します。
Delete tenant information managed by SaaSus Platform.
*
* @param string $tenantId テナントID(Tenant ID)
*/
public function __construct(string $tenantId)
{
$this->tenant_id = $tenantId;
Expand Down
Loading

0 comments on commit 474f79e

Please sign in to comment.