From 7fb71b36ad50153f6e05d066284688d1128a7a21 Mon Sep 17 00:00:00 2001 From: Runxi Yu Date: Wed, 19 Feb 2025 21:19:15 +0800 Subject: ssh/recv, hooks: Create MRs on push, reject pushes to others' MRs --- acl.go | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'acl.go') diff --git a/acl.go b/acl.go index 7ad48fb..414e102 100644 --- a/acl.go +++ b/acl.go @@ -6,16 +6,18 @@ import ( // get_path_perm_by_group_repo_key returns the filesystem path and direct // access permission for a given repo and a provided ssh public key. -func get_path_perm_by_group_repo_key(ctx context.Context, group_name, repo_name, ssh_pubkey string) (filesystem_path string, access bool, contrib_requirements string, user_type string, err error) { +func get_path_perm_by_group_repo_key(ctx context.Context, group_name, repo_name, ssh_pubkey string) (repo_id int, filesystem_path string, access bool, contrib_requirements string, user_type string, user_id int, err error) { err = database.QueryRow(ctx, `SELECT + r.id, r.filesystem_path, CASE WHEN ugr.user_id IS NOT NULL THEN TRUE ELSE FALSE END AS has_role_in_group, r.contrib_requirements, - COALESCE(u.type, '') + COALESCE(u.type, ''), + COALESCE(u.id, 0) FROM groups g JOIN @@ -30,6 +32,6 @@ func get_path_perm_by_group_repo_key(ctx context.Context, group_name, repo_name, g.name = $1 AND r.name = $2;`, group_name, repo_name, ssh_pubkey, - ).Scan(&filesystem_path, &access, &contrib_requirements, &user_type) + ).Scan(&repo_id, &filesystem_path, &access, &contrib_requirements, &user_type, &user_id) return } -- cgit v1.2.3