コンテンツにスキップ

登場人物

ロール一覧

ロール名 説明 主な操作
調査設計担当者 調査票の設計・編集を担当する。案件に対して edit 権限を持つ 案件作成、セクション・設問の編集、分岐設定、保存(版作成)、権限設定、JSON 出力、質問ライブラリからの流用
レビュアー 作成された調査票を確認する。案件に対して view 権限を持つ 案件・セクション・設問の閲覧、プレビュー、版履歴の確認、案件・版の複製
管理者 SURVEY_ADMIN_EMAILS にメールアドレスが登録されたユーザー 全案件の閲覧・編集、任意の案件の削除、任意の過去質問データの削除
frontend(Web UI) 調査設計担当者・レビュアーが操作する Next.js アプリケーション Google ログイン、API 呼び出し、分岐のプレビュー評価
backend(API サーバー) Hono 製の REST API。AWS Lambda 上で動作する ユーザー解決、権限判定、データ永続化、版のスナップショット作成、OpenAPI 提供
Chrome 拡張 CS の編集画面上で動作する Plasmo 製の拡張 CS からの一括取り込み、CS への調査票投入、CS の API ログ収集
Import Bot 取り込み API を API キーで呼ぶ際に使われるシステムユーザー 取り込みの実行者として履歴に記録される
Creative Survey 調査票の配信ツール(外部システム) 調査票の配信・回答収集。本システムの出力先かつ取り込み元

権限の効き方

view 権限では設問の更新・保存・出力・権限変更はできません(backend が edit 権限を要求し 404 を返します)。管理者は権限レコードの有無に関わらず、すべての案件を閲覧・編集できます。

ロール関係図

graph TD
  Designer[調査設計担当者]
  Reviewer[レビュアー]
  Admin[管理者]
  Web[frontend Web UI]
  API[backend API]
  Ext[Chrome 拡張]
  Bot[Import Bot]
  CS[(Creative Survey)]

  Designer --> Web
  Reviewer --> Web
  Admin --> Web
  Web --> API
  Designer --> Ext
  Ext -->|調査票 JSON を投入| CS
  Ext -->|既存調査票を取得| CS
  Ext -->|取り込み API| API
  Ext -.->|API キー認証時の実行者| Bot
  Bot --> API

権限とできることの対応

操作 view edit 管理者
案件の閲覧・プレビュー ◯ ◯ ◯
版履歴の閲覧 ◯ ◯ ◯
案件・版の複製 ◯ ◯ ◯
テーマ更新・セクション/設問の編集 ✕ ◯ ◯
保存(版の作成)・ロールバック ✕ ◯ ◯
JSON 出力 ✕ ◯ ◯
権限の変更 ✕ ◯ ◯
案件の削除 ✕ 作成者のみ ◯
過去質問データの削除 ✕ ✕ ◯