2
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?

More than 1 year has passed since last update.

Hexabase Flutter SDKの使い方(データストアアイテムのステータス変更)

Posted at

Hexabase(ヘキサベース)は企業向けのBaaS(Backend as a Service)を提供しています。認証やデータストア、ファイルストレージ、リアルタイム通知などの機能があり、企業向けのシステム開発に必要な機能をまるっと提供しています。

APIはREST APIとGraphQLを提供しています。そのAPIをラップしたSDKも開発を進めています。SDKは現在、TypeScriptとDart向けに開発しています。Dart向けのSDKは、もちろんFlutterでも利用できます。

この記事ではFlutter SDKについて、インストールとデータストアのステータス変更について解説します。

パッケージとソースコード

パッケージはpub.devで公開しています。

hexabase | Flutter Package

ソースコードはGitHubにて公開しています。ライセンスはMIT Licenseです。

hexabase/hexabase-dart: Hexabase SDK for Dart & Flutter

インストール

インストールは dart pub get で行えます。

dart pub get hexabase

インポート

SDKをインポートします。

import 'package:hexabase/hexabase.dart';

初期化

まずインスタンスを作成します。

var client = Hexabase();

別なファイルで再度インポートした場合には、以下でインスタンスを取得してください。

var client = Hexabase.instance;

ステータスの考え方

業務システムに限りませんが、データでステータス管理することは良くあります。例えばタスク管理の場合、以下のようになるでしょう。

ステータスとしては、以下の3段階があると考えられます。

  1. 登録済み
  2. 作業中
  3. 完了

それぞれのステータスを変更する際のアクション名は以下になります。

  1. 登録済み → 作業中
    作業開始する
  2. 作業中 → 登録済み
    差し戻す
  3. 作業中 → 完了
    完了する

Hexabaseでは、この「作業開始する」「差し戻す」に該当するアクションを設定し、API経由で実行することでデータのステータスを変更できます。

データストアの準備

まず登録しているデータストアを取得します。そのため、最初にデータストアを管理するプロジェクトを作成します。

var project = client.project(id: "PROJECT_ID");
var datastore = project.datastore(id: "DATASTORE_ID");

データストアからデータ取得

データストアから既存のデータを取得します。

var items = await datastore.items();

検索条件を付与する

検索条件を利用する場合にはクエリーを取得してください。

var query = datastore.query();

例えば最初の10件を取得する場合には、次のように指定します。

query.page(1).per(10);

他にも様々な条件が指定できます。

データの詳細を取得する

ステータス情報を取得するため、データの詳細を取得します。

var item = items[0];
await item.getDetail();

実行できるアクションを取得する

ステータス変更は、現在のステータスに合わせて実行できるアクションが指定されます(管理画面にて作成できます)。それを取得するのが actions メソッドです。

item.actions().map((action) {
	print(action.nameLabel);
});

例えば 実行中にする完了にする などのアクションが取得できます。

アクションを指定する

ステータス変更のアクションを指定するのは action メソッドです。

var actions = item.actions();
item.action(actions[0]);

設定したら、後は保存するだけです。

await item.save();

これでアイテムのステータスが更新されます。

まとめ

Hexabase Flutter SDKを使えば、データのステータス管理を手軽に、分かりやすく実現できます。

Dart SDKはFlutterでも利用できます。Flutterで使えると言うことは、iOS/Androidといったスマートフォンアプリやタブレットアプリはもちろん、Webやデスクトップアプリ開発でも利用できます。ぜひHexabaseをDart SDKとともに活用してください。

hexabase | Flutter Package

2
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
2
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?