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
を使って処理します。
初回の認証は次のようになります。emailとパスワード、またはトークンが必須です。
await client.login({email, password, token});
後はこの client
に対して処理を行います。
グループとは
グループはユーザーをまとめて管理する機能です。また、グループには子グループを作成でき、ツリー構造で管理できます。
なお、すべてのユーザーは1つ以上のグループに所属している必要があります。
グループを取得する
グループはワークスペースの下で管理されます。
// ワークスペースを設定
await client.setWorkspace('demo');
// グループを取得
const groups = await client.currentWorkspace.groups();
なお、通常は groups[0]
にデフォルトグループ「ワークスペース」が入っています。
グループを作成する
新しいグループを作成するには、 group
に対して save
メソッドを実行します。
const group = await client.currentWorkspace.group();
group
.set('name', 'test group')
.set('display_id', 'test_group');
await group.save();
グループを入れ子にする
グループを入れ子にする場合は、親グループの group
メソッドを使います。
const group2 = await group.group();
group2
.set('name', 'test group 2')
.set('display_id', 'test_group_2');
await group2.save();
ユーザーを追加する
ユーザーを追加するには、 add
メソッドを使います。
await group.add({ email: 'user@example.com', userName: 'demo'});
ユーザーを削除する
ユーザーを削除するには、 remove
メソッドを使います。
await group.remove({ id: 'USER_ID' });
所属しているユーザーを得る
所属しているユーザーを得るには、 users
メソッドを使います。
const users = await group.users();
グループの削除
グループを削除するには、 delete
メソッドを使います。
await group.delete();
まとめ
SDKを使うことで、データベース参照は簡単に操作できます。グループを使うことで、データへのアクセス制御が柔軟になります。
Hexabaseには他にもバイナリファイルのアップロードや認証などの機能があります。それらの機能も利用してください。