fix: 优先审批 + 首用户隔离 + 审批DB闭环 + memo错误
1. (High) 内置工具先审批再执行 — is_builtin 检查优先, High 风险通过 builtin_approve 后再调用 BuiltinRegistry 2. (High) 首用户 current_user_id — 移除 !is_empty() 守卫 3. (Medium) 审批 DB 状态闭环 — 取消/错误时按 user_id 更新最近 pending 4. (Medium) manage_memos 写入失败 — .ok() → 完整错误返回
This commit is contained in:
@@ -126,12 +126,12 @@ impl ApprovalManager {
|
||||
ApprovalDecision::Approved => "approved",
|
||||
_ => "rejected",
|
||||
};
|
||||
// 按 user_id + 最近 pending 记录更新
|
||||
let _ = sqlx::query(
|
||||
"UPDATE pending_approvals SET status = $1, consumed_at = NOW() WHERE user_id = $2 AND code_hash = $3 AND status = 'pending'",
|
||||
"UPDATE pending_approvals SET status = $1, consumed_at = NOW() WHERE user_id = $2 AND status = 'pending' ORDER BY created_at DESC LIMIT 1",
|
||||
)
|
||||
.bind(status)
|
||||
.bind(user_id)
|
||||
.bind(&format!("{:x}", Sha256::digest(reply.as_bytes())))
|
||||
.execute(pool.as_ref())
|
||||
.await;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user