Firestore スキーマリファレンス
TeamDay プラットフォーム用の完全な Firestore データモデルとコレクション。
コレクション概要
TeamDay はプライマリデータベースとして Firebase Firestore を使用します。スキーマは、強力なセキュリティルールとリアルタイムサブスクリプション付きの階層的な構造に従います。
| コレクション | 目的 | アクセス制御 |
|---|---|---|
organizations | 組織/チーム管理 | メンバーのみ |
users | ユーザーアカウントデータ | 所有者のみ |
userProfiles | ユーザーのプリファレンスと設定 | 所有者のみ |
character | AI エージェント/アシスタント | 可視性ベース |
spaces | エージェント用ワークスペース | 可視性ベース |
chats | 会話 | 所有者/組織メンバー |
tasks | エージェント作成のタスク | 組織メンバー |
executions | エージェント実行履歴 | 組織メンバー |
missions | 長時間実行される自動化タスク | 組織メンバー |
scheduledTasks | スケジュール済みエージェントオートメーション | 組織メンバー |
skills | 再利用可能なプロンプトパッケージ | 可視性ベース |
subagents | 専門化されたエージェント設定 | 可視性ベース |
plugins | 設定パッケージ | 可視性ベース |
pluginInstallations | スペースごとのプラグインインストール | 組織メンバー |
mcpInstances | MCP サーバーインスタンス | 組織メンバー |
personal_access_tokens | API トークン | 所有者のみ |
invites | 組織招待 | パブリック読み取り |
usageAggregates | 使用メトリクス | 組織メンバー |
creditTransactions | クレジット残高履歴 | 組織メンバー |
コアコレクション
organizations
組織/チーム管理。各ユーザーは 1 つ以上の組織に属します。
interface Organization {
id: string
name: string
logoUrl?: string
ownerId: string // 組織を作成したユーザー
members: string[] // ユーザー ID の配列
subscription?: OrganizationSubscription
createdAt: Timestamp
updatedAt: Timestamp
// 暗号化されたフィールド (サーバー側のみ)
encryptedAnthropicApiKey?: string // 暗号化された API キー
}
ドキュメント例:
{
"id": "org_abc123",
"name": "Acme Corporation",
"logoUrl": "https://storage.googleapis.com/...",
"ownerId": "user_xyz",
"members": ["user_xyz", "user_abc", "user_def"],
詳細については、Firestore スキーマリファレンス を参照してください。