LoginSignup
1
2

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についてインストールと、データストアのアイテムに対するコメントのCRUD操作について解説します。

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

パッケージは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;

アイテムの作成

データストア(クラウドデータベース)の行相当のデータがアイテムです。以下のようにして、新しいアイテムを作成します。

await client.setWorkspace('YOUR_WORKSPACE_ID');
var project = await client.currentWorkspace.project(id: 'YOUR_PROJECT_ID');
var datastore = await project.datastore(id: 'YOUR_DATABASE_ID');
// アイテムを作成
var item = await datastore.item();
// 保存しておく
await item.save();

コメントの作成

新しいコメントは、 item.history() で作成します。 set で値(コメント本文)を設定し、 save で保存します。

var history = item.history();
history.set('comment', 'test');
await history.save();

コメントの取得

コメントを取得する際には、 item.histories() を使います。 item.save() の時点で1つ目のコメントが保存されているので、以下の場合返ってくるのは2つのコメントです。

var histories = await item.histories();
expect(histories.length, 2);

コメントの更新

コメントの更新は保存と同じで、 save メソッドを使います。

history.set('comment', 'test 2');
await history.save();

コメントの削除

コメントの削除は、 delete メソッドを使います。

await history.delete();

まとめ

コメントはアイテムに紐付いて保存されており、その結果をSignalR使って受け取ることができます。リアルタイム通知やコラボレーション機能を使うのに利用できますので、ぜひ活用してください。

HexabaseのFlutter SDKを使って、堅牢なWebアプリケーションを開発してください。

hexabase | Dart package

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