You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
**新規アカウントの作り方は既定では2つだけ** —— 初回セットアップ(ユーザーが0人のとき`/api/auth/setup`かGoogleログインで作る最初の1人。自動的にadmin)と、管理者による`/[type]/admin`のユーザー管理からの作成。`GOOGLE_AUTO_SIGNUP=true`を設定した環境でだけ、Googleでログインした人を一般ユーザー(`role='user'`)として自動登録する(`lib/auth/google.ts`の`isGoogleAutoSignupEnabled`)。**有効にするとURLを知っていてGoogleアカウントを持つ人は誰でも入れる**ので、既定はオフのまま。初回adminの作成だけは`insert ... where not exists (select 1 from users)`で1文に閉じてあり、同時に2人がログインしても片方しかadminにならない。
109
109
110
-
**退会(`DELETE /api/account`)は本人が自分のアカウントを消す口**。消えるのはアカウント行と、FKの`on delete cascade`で連れて消える訪問記録・訪問予定・訪問予定リスト・口コミ・非表示設定・エクスポートジョブ、行が消える前に集めた写真ファイル/ZIPの実体、そして**自分の非公開スポット**(本人にしか見えない=個人のデータのため)。**公開・承認待ち・却下のスポットとルートは残る**(`created_by`が`on delete set null`。他のユーザーの地図から突然スポットが消えないようにするため)。**最後の管理者は退会できない**(管理者による他人の削除`/api/admin/users/[id]`と同じガードが、こちらにも別途要る)。画面はアカウントタブの赤い節で、取り消せない操作なので**自分のメールアドレスを打ち直させてから**実行する。
110
+
**アカウント削除(`DELETE /api/account`)は本人が自分のアカウントを消す口**。消えるのはアカウント行と、FKの`on delete cascade`で連れて消える訪問記録・訪問予定・訪問予定リスト・口コミ・非表示設定・エクスポートジョブ、行が消える前に集めた写真ファイル/ZIPの実体、そして**自分の非公開スポット**(本人にしか見えない=個人のデータのため)。**公開・承認待ち・却下のスポットとルートは残る**(`created_by`が`on delete set null`。他のユーザーの地図から突然スポットが消えないようにするため)。**最後の管理者は自分のアカウントを削除できない**(管理者による他人の削除`/api/admin/users/[id]`と同じガードが、こちらにも別途要る)。画面はアカウントタブの赤い節で、取り消せない操作なので**自分のメールアドレスを打ち直させてから**実行する。
0 commit comments