0
0

Hexabase TypeScript SDKの使い方(グループの使い方)

Posted at

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には他にもバイナリファイルのアップロードや認証などの機能があります。それらの機能も利用してください。

Hexabase | 新規事業向け開発・競争領域でのDX実現をサポート

0
0
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
0
0