fix(admin): pass verified identity role to code RPCs
Independent Staging Quality Gate / validate (push) Successful in 13m41s
Independent Staging Quality Gate / publish (push) Successful in 9m41s

This commit is contained in:
Jesse_Chen
2026-08-16 20:40:25 +08:00
parent 9e725babd9
commit 1cbdb774e0
2 changed files with 4 additions and 2 deletions
+2 -2
View File
@@ -91,14 +91,14 @@ export function mapCode(row: RpcCodeRow): RedemptionCodeRecord {
export async function runCodeRpc<T extends keyof CodeRpcArgs>(
functionName: T,
session: Pick<AdminSession, "user" | "roles">,
session: Pick<AdminSession, "user">,
id: string,
args: CodeRpcArgs[T],
): Promise<RedemptionCodeRecord[]> {
const common = [
session.user.id,
session.user.email,
session.roles[0] ?? "admin",
"admin",
id,
];
let rows: RpcCodeRow[] = [];
@@ -106,6 +106,8 @@ test("redemption-code writes generate server audit reasons and encode JSONB for
assert.match(codeRoute, /p_reason:\s*"admin_console_update_redemption_code"/);
assert.match(codeRoute, /p_reason:\s*"admin_console_revoke_redemption_code"/);
assert.match(codesHelper, /JSON\.stringify\(input\.p_codes\)/);
assert.match(codesHelper, /session\.user\.email,[\s\S]*"admin",/);
assert.doesNotMatch(codesHelper, /session\.roles\[0\]/);
assert.match(codesHelper, /queryAdminRows<RpcCodeRow>/);
assert.match(codesHelper, /public\.admin_create_redemption_codes\(/);
assert.match(codesHelper, /public\.admin_update_redemption_code\(/);