Hexabaseは企業においても安心して利用できるBaaS(Backend as a Service)を提供しています。多くのBaaSがそうであるように、主にフロントエンド開発者に利用してもらいたいと考えています。そこで現在、TypeScript SDKの開発が進められています。
この記事ではHexabase TypeScript SDKのインストールと、企業などでユーザーをまとめて登録する方法を紹介します。
インストール
インストールはnpmやyarnを使って行います。
# npmの場合
npm install @hexabase/hexabase-js
# yarnの場合
yarn add @hexabase/hexabase-js
インポート
インポートすると、 HexabaseClient
というオブジェクトが取得できます。
import { HexabaseClient } from "@hexabase/hexabase-js";
初期化
HexabaseClientを初期化します。
const client = new HexabaseClient();
認証
Hexabaseでは業務利用を想定しているため、利用する際に認証情報が必須になります。最初はメールアドレスとパスワードで認証し、その後はトークンを使ってGraphQLにアクセスします。 client
を使って処理します。
初回の認証は次のようになります。
client.login({email, password, token});
引数名 | 必須 | 意味 |
---|---|---|
△ | 認証するメールアドレス | |
password | △ | 認証するパスワード |
token | △ | 認証した後取得できるトークン |
emailとpassword、またはtokenのどちらかが必須です。
ユーザー登録
他のユーザーを登録する際には、 client.invite
または workspace.invite
を使います。ワークスペースの場合は、そのワークスペース限定ユーザーになるので、 client.invite
をお勧めします。
最初の引数がユーザー登録するメールアドレスの一覧です。 noConfirmEmail
を付けるとユーザー向けにはメールが送信されません。
const res = await client.invite([
'user1@example.com',
'user2@example.com'
], {
noConfirmEmail: true,
});
レスポンスは以下のようになります。
[
{
"confirmation_id": "62r...xnl",
"email": "user1@example.com"
},
{
"confirmation_id": "8c...p1w",
"email": "user2@example.com"
}
]
ユーザー登録を確定する
続けて、 confirmation_id
を使ってユーザー登録を確定します。
for (const { confirmation_id } of res) {
await User.register(confirmation_id);
}
これでユーザー登録が完了します。
まとめ
Hexabase TypeScript SDKを使えば、VueやReactなどと連携したWebアプリを素早く開発できるようになります。2022年12月現在絶賛開発を進めていますので、ぜひ試していただいてフィードバックいただければ嬉しいです!