1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Hexabase TypeScript SDKの使い方(ActionScriptの使い方)

Posted at

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

この記事ではHexabase TypeScript SDKのインストールと、データストア操作に伴うサーバーサイドでのコード実行(ActionScript)の使い方を紹介します。

インストール

インストールは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 に対して処理を行います。

データを作る

データはワークスペース → プロジェクト → データストア → データアイテムの順番にデータを取得します。

client.setWorkspace(workspaceId);

// 対象プロジェクト
const project = await client.currentWorkspace.project(projectId);

// 対象データストア
const datastore = await project.datastore(datastoreId);

// 新規レコード
const item = await datastore.item();

ActionScriptについて

Hexabase では、データベースのアイテムに対する操作をアクションと呼びます。このアクションに、Javascriptのコードを割り当てることができます。これがActionScriptです。

ActionScriptでは、アクションを呼び出すことで、割り当てたコードを実行します。

image.png

ActionScriptはプロジェクト、またはデータストアの操作に対して実行できます。詳細は以下を参照してください。

ActionScriptの基本 | Hexabase 開発ガイド

プロジェクトのActionScript

プロジェクトの execute メソッドに対して、関数IDと送信するパラメータを指定して実行します。

const bol = await project
	.execute<boolean>('TestFunction', {aaa: 'bbb'});

データストアのActionScript

データストアのActionScriptはデータの新規作成、更新、コピー、削除の4つに対して実行できます。また、ActionScriptはデータの処理前と処理後のどちらかの実行タイミングを指定できます。

データ作成時のActionScript

データ作成時は save メソッドを呼び出した際に実行されます。 params はオプションです。

const item = await datastore.item();
item.set('name', 'Test');
await item.save({ parmas: {aaa: 'bbb'}});

この時、 params の内容はActionScriptの data.as_params として受け取れます。

async function main (data) {
    logger.info(data.as_params); // {aaa: 'bbb'}
}

データ更新時のActionScript

更新時も save メソッドなのは変わりません。

await item.save({ parmas: {aaa: 'bbb'}});

ステータス変更時のActionScript

ステータスを変更する際には execute メソッドを使います。実際にステータス更新を行うかどうかは管理画面で設定しますので、単にサーバーサイドでのコード実行を行うだけという使い方もできます。

await item.execute('ExecuteActionScript', {test: 'test'});

注意点

データの作成、更新、ステータス変更時のレスポンスにActionScriptのレスポンスは含められません。ActionScriptは非同期で処理されます。

もしActionScriptの結果を受け取りたい場合には、データストアのフィールドにログを残しておいたり、Webhookを使うと良さそうです。

まとめ

SDKを使うことで、ActionScriptは簡単に呼び出せます。メール送信やSlack通知など、サーバーサイドでしか行えない処理に使ってください。

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

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

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?