Hexabase(ヘキサベース)は企業においても安心して利用できるBaaS(Backend as a Service)を提供しています。多くのBaaSがそうであるように、主にフロントエンド開発者に利用してもらいたいと考えています。そこで現在、TypeScript SDKの開発が進められています。
この記事ではHexabase TypeScript SDKのインストールと、Hexabaseの基盤となるワークスペースを操作する方法を解説します。
インストール
インストールは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
に対して処理を行います。
現在のワークスペースを取得する
ログインした時点でHexabaseClientのcurrentWorkspaceが現在のワークスペースオブジェクトになっています。
client.currentWorkspace
ワークスペースを切り替える場合には、 workspace
メソッドを使います。
client.workspace(newWorkspaceId);
すべてのワークスペースを取得する
ログインしているユーザーに紐付いているすべてのワークスペースを取得する際には workspaces
メソッドを使います。
const workspaces = await client.workspaces();
他にも現在のワークスペースとその他のワークスペースを取得する workspacesWithCurrent
もあります。
const { workspace, workspaces } = await client.workspacesWithCurrent();
ワークスペースを切り替える
作業するワークスペースを変更する場合には setWorkspace
メソッドを使います。
await client.setWorkspace(workspaceId);
ワークスペースを作成する
ワークスペースを作成する場合には save
メソッドを使います。
const workspace = client.workspace();
workspace.name = 'new Workspace';
await workspace.save();
ワークスペースをアーカイブする
ワークスペースは削除ではなく、アーカイブを行います。
await workspace.archive();
まとめ
ワークスペースはHexabaseを操作する上での基盤になります。ここからプロジェクト、データストアと階層構造になっています。オブジェクトを使っている限りは意識することはないと思いますが、覚えておくとHexabaseの操作が楽になるはずです。
Hexabase TypeScript SDKを使えば、VueやReactなどと連携したWebアプリを素早く開発できるようになります。2023年04月現在絶賛開発を進めていますので、ぜひ試していただいてフィードバックいただければ嬉しいです!