fix(admin): remove email reauth from account reset
Staging Backend Quality Gate / validate (push) Successful in 13m47s
Staging Backend Quality Gate / publish (push) Successful in 8m20s

This commit is contained in:
Jesse_Chen
2026-08-11 21:09:30 +08:00
parent 1e8fc6c208
commit 139baeb94c
4 changed files with 23 additions and 6 deletions
@@ -6,14 +6,17 @@ const root = new URL("../", import.meta.url);
const route = readFileSync(new URL("src/app/api/admin/customers/reset/route.ts", root), "utf8");
const users = readFileSync(new URL("src/components/admin/users-resource.tsx", root), "utf8");
const migration = readFileSync(new URL("supabase/migrations/20260811020000_admin_customer_account_reset.sql", root), "utf8");
const administratorsRoute = readFileSync(new URL("src/app/api/admin/administrators/route.ts", root), "utf8");
test("admin account reset stays owner-only, explicit, and high risk", () => {
assert.match(route, /requireHighRiskAdminMutation\(\s*request,\s*"admin\.users\.manage_roles",?\s*\)/);
test("admin account reset stays owner-only and explicit without email reauth", () => {
assert.match(route, /requireAdminMutation\(\s*request,\s*"admin\.users\.manage_roles",?\s*\)/);
assert.doesNotMatch(route, /requireHighRiskAdminMutation/);
assert.match(route, /confirmation:\s*z\.literal\("RESET"\)/);
assert.match(route, /admin_reset_customer_account\(\$1, \$2, \$3, \$4\)/);
assert.match(users, /permissions\.includes\("admin\.users\.manage_roles"\)/);
assert.match(users, /reauthPermission="admin\.users\.manage_roles"/);
assert.doesNotMatch(users, /reauthPermission=/);
assert.match(users, /登录身份、管理员角色、积分及账务审计记录会保留/);
assert.match(administratorsRoute, /requireHighRiskAdminMutation\(\s*request,\s*"admin\.users\.manage_roles",?\s*\)/);
});
test("database reset mirrors the existing staging reset boundary and audits it", () => {