Home - ntplab/mbaas-chat GitHub Wiki
はじめに
まず最初に本モジュールにおける言語を定義します
言語の定義
| 項目 | 概要 | メモ |
|---|---|---|
| ユーザ | ユーザはグループ毎に異なる名称を持つ、そのためデータベース定義上非正規化している | グループ毎ユーザ |
| グループ | グループ名は、非ユニーク | グループチャットが可能 |
| メッセージ | チャットメッセージ | システムメッセージを含む |
| データベース | チャットデータベースは、sqlite3(ファイルデータベース)を採用 | つまり、boost::async_io/crow/node.js等のシングルプロセス・マルチスレッド・非同期イベントでの実装に限定されます |
API 一覧
本サービスは、rest-fullインタフェイスによって サービスを提供します
- ユーザ系
- グループ系
- メッセージ(チャット)系
- サマリ系
- イベント受信系
の各エントリポイントがあります
ユーザ
| no. | method | entry point | 概要 | link |
|---|---|---|---|---|
| 1 | GET | /v1/mb/user/{gid}/{uid} | ユーザ情報を取得 | get_user |
| 2 | DELETE | /v1/mb/user/{gid}/{uid} | ユーザを削除 | del_user |
| 3 | POST | /v1/mb/user/{gid}/{token} | グループ毎ユーザを生成 | new_user |
| 4 | PUT | /v1/mb/user/{gid}/{token} | グループ毎ユーザ更新 | upd_user |
グループ
| no. | method | entry point | 概要 | link |
|---|---|---|---|---|
| 1 | GET | /v1/mb/group | グループ内・ユーザ一覧を取得 | get_group |
| 2 | GET | /v1/mb/group/{gid} | グループ一覧を取得 | get_group |
| 3 | DELETE | /v1/mb/group/{gid} | グループを削除 | del_group |
| 4 | POST | /v1/mb/group | グループを生成 | new_group |
メッセージ(チャット)
| no. | method | entry point | 概要 | link |
|---|---|---|---|---|
| 1 | GET | /v1/mb/chat/{gid}/{lastmid} | グループ内・チャット一覧取得 | get_message |
| 2 | DELETE | /v1/mb/chat/{gid}/{uid}/{mid} | メッセージを削除 | del_message |
| 3 | POST | /v1/mb/chat/{gid}/{uid} | メッセージを生成 | new_message |
サマリ
| no. | method | entry point | 概要 | link |
|---|---|---|---|---|
| 1 | GET | /v1/mb/info/{gid}/{uid}/{lastmid} | サマリ取得 | get_info |
イベント受信
| no. | method | entry point | 概要 | link |
|---|---|---|---|---|
| 1 | GET | /v1/mb/notify/{gid} | 指定グループのイベント受信 | notify_group |
| 2 | GET | /v1/mb/notify | 全体イベント受信 | notify_all |