mirror of
https://github.com/woodpecker-ci/woodpecker.git
synced 2026-04-15 01:41:56 +00:00
Backport #476 * fix repo access * fix permission syncing Co-authored-by: Anbraten <anton@ju60.de>
This commit is contained in:
@@ -28,6 +28,7 @@ FROM repos LEFT OUTER JOIN builds ON build_id = (
|
||||
)
|
||||
INNER JOIN perms ON perms.perm_repo_id = repos.repo_id
|
||||
WHERE perms.perm_user_id = ?
|
||||
AND (perms.perm_push = 1 OR perms.perm_admin = 1)
|
||||
AND repos.repo_active = 1
|
||||
ORDER BY repo_full_name ASC;
|
||||
|
||||
@@ -57,5 +58,6 @@ FROM repos
|
||||
INNER JOIN perms ON perms.perm_repo_id = repos.repo_id
|
||||
INNER JOIN builds ON builds.build_repo_id = repos.repo_id
|
||||
WHERE perms.perm_user_id = ?
|
||||
AND (perms.perm_push = 1 OR perms.perm_admin = 1)
|
||||
ORDER BY build_id DESC
|
||||
LIMIT 50
|
||||
|
||||
@@ -36,6 +36,35 @@ INNER JOIN perms ON perms.perm_repo_id = repos.repo_id
|
||||
WHERE perms.perm_user_id = ?
|
||||
ORDER BY repo_full_name ASC
|
||||
|
||||
-- name: repo-find-user-owned
|
||||
|
||||
SELECT
|
||||
repo_id
|
||||
,repo_user_id
|
||||
,repo_owner
|
||||
,repo_name
|
||||
,repo_full_name
|
||||
,repo_avatar
|
||||
,repo_link
|
||||
,repo_clone
|
||||
,repo_branch
|
||||
,repo_timeout
|
||||
,repo_private
|
||||
,repo_trusted
|
||||
,repo_active
|
||||
,repo_allow_pr
|
||||
,repo_hash
|
||||
,repo_scm
|
||||
,repo_config_path
|
||||
,repo_gated
|
||||
,repo_visibility
|
||||
,repo_counter
|
||||
FROM repos
|
||||
INNER JOIN perms ON perms.perm_repo_id = repos.repo_id
|
||||
WHERE perms.perm_user_id = ?
|
||||
AND (perms.perm_push = 1 OR perms.perm_admin = 1)
|
||||
ORDER BY repo_full_name ASC
|
||||
|
||||
-- name: repo-insert-ignore
|
||||
|
||||
INSERT OR IGNORE INTO repos (
|
||||
|
||||
@@ -36,6 +36,7 @@ var index = map[string]string{
|
||||
"registry-delete": registryDelete,
|
||||
"repo-update-counter": repoUpdateCounter,
|
||||
"repo-find-user": repoFindUser,
|
||||
"repo-find-user-owned": repoFindUserOwned,
|
||||
"repo-insert-ignore": repoInsertIgnore,
|
||||
"repo-delete": repoDelete,
|
||||
"secret-find-repo": secretFindRepo,
|
||||
@@ -134,6 +135,7 @@ FROM repos LEFT OUTER JOIN builds ON build_id = (
|
||||
)
|
||||
INNER JOIN perms ON perms.perm_repo_id = repos.repo_id
|
||||
WHERE perms.perm_user_id = ?
|
||||
AND (perms.perm_push = 1 OR perms.perm_admin = 1)
|
||||
AND repos.repo_active = 1
|
||||
ORDER BY repo_full_name ASC;
|
||||
`
|
||||
@@ -163,6 +165,7 @@ FROM repos
|
||||
INNER JOIN perms ON perms.perm_repo_id = repos.repo_id
|
||||
INNER JOIN builds ON builds.build_repo_id = repos.repo_id
|
||||
WHERE perms.perm_user_id = ?
|
||||
AND (perms.perm_push = 1 OR perms.perm_admin = 1)
|
||||
ORDER BY build_id DESC
|
||||
LIMIT 50
|
||||
`
|
||||
@@ -455,6 +458,35 @@ WHERE perms.perm_user_id = ?
|
||||
ORDER BY repo_full_name ASC
|
||||
`
|
||||
|
||||
var repoFindUserOwned = `
|
||||
SELECT
|
||||
repo_id
|
||||
,repo_user_id
|
||||
,repo_owner
|
||||
,repo_name
|
||||
,repo_full_name
|
||||
,repo_avatar
|
||||
,repo_link
|
||||
,repo_clone
|
||||
,repo_branch
|
||||
,repo_timeout
|
||||
,repo_private
|
||||
,repo_trusted
|
||||
,repo_active
|
||||
,repo_allow_pr
|
||||
,repo_hash
|
||||
,repo_scm
|
||||
,repo_config_path
|
||||
,repo_gated
|
||||
,repo_visibility
|
||||
,repo_counter
|
||||
FROM repos
|
||||
INNER JOIN perms ON perms.perm_repo_id = repos.repo_id
|
||||
WHERE perms.perm_user_id = ?
|
||||
AND (perms.perm_push = 1 OR perms.perm_admin = 1)
|
||||
ORDER BY repo_full_name ASC
|
||||
`
|
||||
|
||||
var repoInsertIgnore = `
|
||||
INSERT OR IGNORE INTO repos (
|
||||
repo_user_id
|
||||
|
||||
Reference in New Issue
Block a user