Appearance
基本的な使用方法
まずは Hedgehog
をインポートします。
ts
import { Hedgehog } from "@hedgehog-live/sdk";
CDN
を使用して読み込んだ場合は、インポート不要で使用する事が出来ます。
html
<html lang="en">
<head>
<script src="https://unpkg.com/@hedgehog-live/sdk/dist/hhl.bundle.js"></script>
</head>
<script>
// 使用可能
console.log(Hedgehog);
</script>
</html>
ステージの取得
ステージ取得には UUID
が必要です。
ts
const stage = Hedgehog.stage.ref("ステージのUUID");
自身が参照可能な(管理権限を持つ)ステージの UUID
は Hedgehog Dashboard から確認できますが、SDK でサインインして自身が参照可能なステージ UUID
を取得する事も可能です。
ts
const user = await Hedgehog.user.signin("メールアドレス", "パスワード");
const stages = await user.admin.stages();
for (const s of stages) {
console.log(s.uuid); // ステージのUUID
}
各種情報へのアクセス
基本的に Hedgehog.stage()
で取得したインスタンスを経由して各種情報にアクセスしていく事になります。以下は一例です。
パス | 内容 |
---|---|
stage.event | イベント |
stage.ticket | チケット |
stage.product | 物販 |
stage.tipping | 投げ銭 |
中には各情報固有のメソッドやプロパティもありますが、基本的には後述のチェーンメソッドでアクセスする事が可能です。
例ではイベントの取得を行っていますが、他の情報でも構文は変わりません。例えばチケットに関する情報を取得したい場合は、event
の箇所を ticket
に変更し、イベントの UUID
を指定している箇所をチケットの UUID
に変更するだけです。
一覧の取得
一覧の取得には list()
を使用します。引数に検索条件を加え、 list({条件})
とする事で条件検索が出来るようになります。指定できる条件は各情報のページをご覧ください。
list()
関数はリスト取得用のインスタンスを返し、以下のメソッドを持っています。
メソッド | 内容 | 引数 |
---|---|---|
all() | 全ての情報を取得 | |
first() | リストの最初の項目を取得 | |
page() | ページで区切ったリストを取得 | limit: number -- 1 ページの項目数 page: number -- 取得するページ |
例) ステージが持つ全てのイベントを列挙する
ts
const stage = Hedgehog.stage.ref("ステージのUUID");
const data = await stage.event.list().all();
特定の情報を取得
情報の取得にはまず ref()
を使用して参照を取得する必要があります。参照の取得にはその情報の UUID
が必要です。
参照を取得した後に get()
を用いて実際の情報を取得します。
例) 特定のイベントの情報を取得する
ts
const stage = Hedgehog.stage.ref("ステージのUUID");
const data = await stage.event.ref("イベントのUUID").get();
情報を作成 admin
情報の作成は管理者権限が必要な操作になるので、 admin
を経由する必要があります。 admin
以下にある create()
メソッドを用いて新規作成を行います。
例) イベントを作成する
ts
const stage = Hedgehog.stage.ref("ステージのUUID");
await stage.event.admin.create({
title: "タイトル",
image: new File([], ""),
startDate: new Date().toISOString(),
});
情報を更新 admin
こちらも作成時と同様に、admin
を経由する必要があります。更新時は update()
メソッドを用います。
例) イベントを更新する
ts
const stage = Hedgehog.stage.ref("ステージのUUID");
await stage.event.ref("イベントのUUID").admin.update({
title: "更新したタイトル",
});
情報を削除 admin
こちらも作成時と同様に、admin
を経由する必要があります。削除時は delete()
メソッドを用います。
例) イベントを削除する
ts
const stage = Hedgehog.stage.ref("ステージのUUID");
await stage.event.ref("イベントのUUID").admin.delete();