Hexabase(ヘキサベース)は企業向けのBaaS(Backend as a Service)を提供しています。認証やデータストア、ファイルストレージ、リアルタイム通知などの機能があり、企業向けのシステム開発に必要な機能をまるっと提供しています。
APIはREST APIとGraphQLを提供しています。そのAPIをラップしたSDKも開発を進めています。SDKは現在、TypeScriptとDart向けに開発しています。Dart向けのSDKは、もちろんFlutterでも利用できます。
この記事ではFlutter SDKについて、インストールとグループのCRUD(作成、更新、削除)操作の方法について解説します。
パッケージとソースコード
パッケージはpub.devで公開しています。
ソースコードは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;
グループについて
Hexabaseではユーザー毎に権限を設定できます。この時、グループを使うことでユーザーをまとめて設定できます。ユーザーはワークスペースに属している場合はもちろん、メールアドレスを指定して限定ユーザーとして登録もできます。
詳しくは ユーザーとグループ | Hexabase 開発ガイド をご覧ください。
グループの取得
まず登録しているグループを取得します。グループの取得は、すべてを取得するかIDを指定した取得の2パターンが用意されています。
// まとめて取得
var groups = await client.groups();
// IDを指定して取得
var group = await client.group(id: '999999');
グループの新規作成
グループを新規作成する際には引数なしで group
メソッドを呼んでください。新しいグループオブジェクトが返ってきます。グループ名、親グループ、ディスプレイIDは必須です。
保存する際には save
メソッドを実行します。
group.name = 'New group';
await group.save();
var group = await client.group();
group.name = 'Test group';
group.parent = groups[0];
group.displayId = 'test_group';
await group.save();
グループの更新
グループの設定値を変更する際にも、 save
メソッドを使います。
group.name = 'New group';
await group.save();
グループの削除
データストアは delete
メソッドで削除できます。
group.delete();
まとめ
Dart SDKはFlutterでも利用できます。Flutterで使えると言うことは、iOS/Androidといったスマートフォンアプリやタブレットアプリはもちろん、Webやデスクトップアプリ開発でも利用できます。ぜひHexabaseをDart SDKとともに活用してください。