NAV
YAML TypeScript (CDK) Python (CDK) PHP (CDK) Java (CDK) C# (CDK)

GS2-Friend

GS2-Deploy のテンプレートで使用できるリソース定義のリファレンス

GS2-Deploy リファレンス

エンティティ

Namespace

Namespace

Type: GS2::Friend::Namespace
Properties:
  Name: namespace1
  Description: null
  FollowScript: null
  UnfollowScript: null
  SendRequestScript: null
  CancelRequestScript: null
  AcceptRequestScript: null
  RejectRequestScript: null
  DeleteFriendScript: null
  UpdateProfileScript: null
  FollowNotification: null
  ReceiveRequestNotification: null
  AcceptRequestNotification: null
  LogSetting: 
    LoggingNamespaceId: grn:gs2:ap-northeast-1:YourOwnerId:log:namespace1
from gs2_cdk import Stack, core, friend

class SampleStack(Stack):

    def __init__(self):
        super().__init__()
        friend.Namespace(
            stack=self,
            name="namespace-0001",
            options=friend.NamespaceOptions(
                log_setting=core.LogSetting(
                    logging_namespace_id='grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001',
                ),
            ),
        )

print(SampleStack().yaml())  # Generate Template
class SampleStack extends \Gs2Cdk\Core\Model\Stack
{
    function __construct() {
        parent::__construct();
        new \Gs2Cdk\Friend\Model\Namespace_(
            stack: $this,
            name: "namespace-0001",
            options: new \Gs2Cdk\Friend\Model\Options\NamespaceOptions(
                logSetting: new \Gs2Cdk\Core\Model\LogSetting(
                    loggingNamespaceId: "grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001",
                ),
            ),
        );
    }
}

print((new SampleStack())->yaml());  // Generate Template
class SampleStack extends io.gs2.cdk.core.model.Stack
{
    public SampleStack() {
        super();
        new io.gs2.cdk.friend.model.Namespace(
            this,
            "namespace-0001",
            new io.gs2.cdk.friend.model.options.NamespaceOptions() {
                {
                    logSetting = new io.gs2.cdk.core.model.LogSetting(
                        "grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001"
                    );
                }
            }
        );
    }
}

System.out.println(new SampleStack().yaml());  // Generate Template
import core from "@/gs2cdk/core";
import friend from "@/gs2cdk/friend";

class SampleStack extends core.Stack
{
    public constructor() {
        super();
        new friend.model.Namespace(
            this,
            "namespace-0001",
            {
                logSetting: new core.LogSetting(
                    "grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001"
                )
            }
        );
    }
}

System.out.println(new SampleStack().yaml());  // Generate Template
public class SampleStack : Gs2Cdk.Core.Model.Stack
{
    public SampleStack() {
        new Gs2Cdk.Gs2Friend.Model.Namespace(
            this,
            "namespace-0001",
            new Gs2Cdk.Gs2Friend.Model.Options.NamespaceOptions {
                logSetting = new Gs2Cdk.Core.Model.LogSetting(
                    "grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001"
                ),
            }
        );
    }
}

Debug.Log(new SampleStack().Yaml());  // Generate Template

ネームスペース

ネームスペースは一つのプロジェクトで同じサービスを異なる用途で複数利用できるようにするための仕組みです。
GS2 のサービスは基本的にネームスペースというレイヤーがあり、ネームスペースが異なれば同じサービスでもまったく別のデータ空間として取り扱われます。

そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。

必須 デフォルト 値の制限 説明
name string ~ 32文字 ネームスペース名
description string ~ 1024文字 説明文
followScript ScriptSetting フォローされたときに実行するスクリプト
unfollowScript ScriptSetting アンフォローされたときに実行するスクリプト
sendRequestScript ScriptSetting フレンドリクエストを発行したときに実行するスクリプト
cancelRequestScript ScriptSetting フレンドリクエストをキャンセルしたときに実行するスクリプト
acceptRequestScript ScriptSetting フレンドリクエストを承諾したときに実行するスクリプト
rejectRequestScript ScriptSetting フレンドリクエストを拒否したときに実行するスクリプト
deleteFriendScript ScriptSetting フレンドを削除したときに実行するスクリプト
updateProfileScript ScriptSetting プロフィールを更新したときに実行するスクリプト
followNotification NotificationSetting フォローされたときのプッシュ通知
receiveRequestNotification NotificationSetting フレンドリクエストが届いたときのプッシュ通知
acceptRequestNotification NotificationSetting フレンドリクエストが承認されたときのプッシュ通知
logSetting LogSetting ログの出力設定