アプリのユーザーロール
このリアルタイムslackアプリでは、すべてのクエリをログインしたユーザーのみに制限する必要があります。データが一般公開されていないものと想定します。すべては、ユーザーがアプリ上で何をするかを中心に展開します。 また、テーブル内の特定の列はユーザーに公開する必要はありません。
ユーザーが持つさまざまな責任を紹介します。
管理
すべての管理タスクには、データベースへの書き込みアクセスが必要です。以下に管理タスクの例を挙げます。
- ワークスペースの作成と管理
- チャンネルの作成と管理
- ワークスペースとチャンネルへのメンバーの追加
非管理
非管理タスクには、データベースへのスコープ付きの読み取りおよび書き込みアクセスが必要です。
例えば、Slackアプリにメンバーがいるとします。メンバーはSlackワークスペースに参加できます。Slackを使って、他のメンバーと通信し、共同作業できます。
- ユーザーは、チャンネルへのメッセージの読み取りと送信を行うことができます
- ユーザーは、同じワークスペースの他のユーザーへのメッセージの読み取りと送信を行うことができます。
これらのアクションはロールに適用できるようにする必要があります。次のセクションでその方法を紹介します。
Did you find this page helpful?
Start with GraphQL on Hasura for Free
- Build apps and APIs 10x faster
- Built-in authorization and caching
- 8x more performant than hand-rolled APIs