LoginSignup
1
1

Hexabase TypeScript SDKを使って、ユーザー登録処理を自動化する

Posted at

Hexabaseは企業においても安心して利用できるBaaS(Backend as a Service)を提供しています。多くのBaaSがそうであるように、主にフロントエンド開発者に利用してもらいたいと考えています。そこで現在、TypeScript SDKの開発が進められています。

@hexabase/hexabase-js - npm

この記事では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});
引数名 必須 意味
email 認証するメールアドレス
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月現在絶賛開発を進めていますので、ぜひ試していただいてフィードバックいただければ嬉しいです!

hexabase/hexabase-js

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1