コンテンツにスキップ

users

概要

システムのユーザーを管理するテーブル。明示的な登録操作はなく、認証済みリクエストが届いた時点で自動作成される。

テーブル定義

論理名 物理名 カラム名 データ型 主キー リレーション ユニーク NULL許可 デフォルト値 備考
ユーザー users id uuid ◯ gen_random_uuid()
name varchar(255) 表示名。認証ヘッダの値で更新される
email varchar(255) ◯ 小文字に正規化して保存する
is_admin boolean false SURVEY_ADMIN_EMAILS に含まれるかで自動判定
created_at timestamptz now()
updated_at timestamptz now()

リレーション

  • 参照される側: surveys.created_by / surveys.updated_by(restrict)
  • 参照される側: survey_permissions.user_id(cascade)
  • 参照される側: survey_versions.created_by(restrict)
  • 参照される側: user_survey_favorites.user_id(cascade)
  • 参照される側: question_library_items.created_by(set null)
  • 参照される側: external_surveys.imported_by(set null)

インデックス

  • 主キー (id)
  • UNIQUE: email

注記

  • is_admin はリクエストのたびに SURVEY_ADMIN_EMAILS と照合され、値が変わっていれば更新される。DB を直接書き換えても環境変数が正となる
  • 管理者は権限レコードの有無に関わらず、すべての案件を閲覧・編集できる
  • 取り込み API を API キー認証で呼び、x-user-email が指定されなかった場合は import-bot@local(表示名 Import Bot)が自動作成される
  • 論理削除は未サポート