mirror of
https://github.com/go-gitea/gitea
synced 2024-11-18 07:52:03 +01:00
0b4a8be26b
There is a small bug in the way that repo access is checked in repoAssignment: Accessibility is checked by checking if the user has a marked access to the repository instead of checking if the user has any team granted access. This PR changes this permissions check to use HasAccess() which does the correct test. There is also a fix in the release api ListReleases where it should return draft releases if the user is a member of a team with write access to the releases. The PR also adds a testcase. Signed-off-by: Andrew Thornton <art27@cantab.net>
738 lines
12 KiB
YAML
738 lines
12 KiB
YAML
-
|
|
id: 1
|
|
owner_id: 2
|
|
owner_name: user2
|
|
lower_name: repo1
|
|
name: repo1
|
|
is_archived: false
|
|
is_empty: false
|
|
is_private: false
|
|
num_issues: 2
|
|
num_closed_issues: 1
|
|
num_pulls: 3
|
|
num_closed_pulls: 0
|
|
num_milestones: 3
|
|
num_closed_milestones: 1
|
|
num_watches: 4
|
|
num_projects: 1
|
|
num_closed_projects: 0
|
|
status: 0
|
|
|
|
-
|
|
id: 2
|
|
owner_id: 2
|
|
owner_name: user2
|
|
lower_name: repo2
|
|
name: repo2
|
|
is_archived: false
|
|
is_private: true
|
|
num_issues: 2
|
|
num_closed_issues: 1
|
|
num_pulls: 0
|
|
num_closed_pulls: 0
|
|
num_stars: 1
|
|
close_issues_via_commit_in_any_branch: true
|
|
status: 0
|
|
|
|
-
|
|
id: 3
|
|
owner_id: 3
|
|
owner_name: user3
|
|
lower_name: repo3
|
|
name: repo3
|
|
is_private: true
|
|
num_issues: 1
|
|
num_closed_issues: 0
|
|
num_pulls: 1
|
|
num_closed_pulls: 0
|
|
num_watches: 0
|
|
num_projects: 1
|
|
num_closed_projects: 0
|
|
status: 0
|
|
|
|
-
|
|
id: 4
|
|
owner_id: 5
|
|
owner_name: user5
|
|
lower_name: repo4
|
|
name: repo4
|
|
is_private: false
|
|
num_issues: 0
|
|
num_closed_issues: 0
|
|
num_pulls: 0
|
|
num_closed_pulls: 0
|
|
num_stars: 1
|
|
num_projects: 0
|
|
num_closed_projects: 1
|
|
status: 0
|
|
|
|
-
|
|
id: 5
|
|
owner_id: 3
|
|
owner_name: user3
|
|
lower_name: repo5
|
|
name: repo5
|
|
is_private: true
|
|
num_issues: 1
|
|
num_closed_issues: 0
|
|
num_pulls: 0
|
|
num_closed_pulls: 0
|
|
num_watches: 0
|
|
is_mirror: true
|
|
status: 0
|
|
|
|
-
|
|
id: 6
|
|
owner_id: 10
|
|
owner_name: user10
|
|
lower_name: repo6
|
|
name: repo6
|
|
is_private: true
|
|
num_issues: 0
|
|
num_closed_issues: 0
|
|
num_pulls: 0
|
|
num_closed_pulls: 0
|
|
is_mirror: false
|
|
status: 0
|
|
|
|
-
|
|
id: 7
|
|
owner_id: 10
|
|
owner_name: user10
|
|
lower_name: repo7
|
|
name: repo7
|
|
is_private: true
|
|
num_issues: 0
|
|
num_closed_issues: 0
|
|
num_pulls: 0
|
|
num_closed_pulls: 0
|
|
is_mirror: false
|
|
status: 0
|
|
|
|
-
|
|
id: 8
|
|
owner_id: 10
|
|
owner_name: user10
|
|
lower_name: repo8
|
|
name: repo8
|
|
is_private: false
|
|
num_issues: 0
|
|
num_closed_issues: 0
|
|
num_pulls: 0
|
|
num_closed_pulls: 0
|
|
is_mirror: false
|
|
status: 0
|
|
|
|
-
|
|
id: 9
|
|
owner_id: 11
|
|
owner_name: user11
|
|
lower_name: repo9
|
|
name: repo9
|
|
is_private: false
|
|
num_issues: 0
|
|
num_closed_issues: 0
|
|
num_pulls: 0
|
|
num_closed_pulls: 0
|
|
is_mirror: false
|
|
status: 0
|
|
|
|
-
|
|
id: 10
|
|
owner_id: 12
|
|
owner_name: user12
|
|
lower_name: repo10
|
|
name: repo10
|
|
is_private: false
|
|
num_issues: 0
|
|
num_closed_issues: 0
|
|
num_pulls: 1
|
|
num_closed_pulls: 0
|
|
num_milestones: 1
|
|
is_mirror: false
|
|
num_forks: 1
|
|
status: 0
|
|
|
|
-
|
|
id: 11
|
|
fork_id: 10
|
|
owner_id: 13
|
|
owner_name: user13
|
|
lower_name: repo11
|
|
name: repo11
|
|
is_private: false
|
|
num_issues: 0
|
|
num_closed_issues: 0
|
|
num_pulls: 0
|
|
num_closed_pulls: 0
|
|
is_mirror: false
|
|
status: 0
|
|
|
|
-
|
|
id: 12
|
|
owner_id: 14
|
|
owner_name: user14
|
|
lower_name: test_repo_12
|
|
name: test_repo_12
|
|
is_private: false
|
|
num_issues: 0
|
|
num_closed_issues: 0
|
|
num_pulls: 0
|
|
num_closed_pulls: 0
|
|
is_mirror: false
|
|
status: 0
|
|
|
|
-
|
|
id: 13
|
|
owner_id: 14
|
|
owner_name: user14
|
|
lower_name: test_repo_13
|
|
name: test_repo_13
|
|
is_private: true
|
|
num_issues: 0
|
|
num_closed_issues: 0
|
|
num_pulls: 0
|
|
num_closed_pulls: 0
|
|
is_mirror: false
|
|
status: 0
|
|
|
|
-
|
|
id: 14
|
|
owner_id: 14
|
|
owner_name: user14
|
|
lower_name: test_repo_14
|
|
name: test_repo_14
|
|
description: test_description_14
|
|
is_private: false
|
|
num_issues: 0
|
|
num_closed_issues: 0
|
|
num_pulls: 0
|
|
num_closed_pulls: 0
|
|
is_mirror: false
|
|
status: 0
|
|
|
|
-
|
|
id: 15
|
|
owner_id: 2
|
|
owner_name: user2
|
|
lower_name: repo15
|
|
name: repo15
|
|
is_empty: true
|
|
status: 0
|
|
|
|
-
|
|
id: 16
|
|
owner_id: 2
|
|
owner_name: user2
|
|
lower_name: repo16
|
|
name: repo16
|
|
is_private: true
|
|
num_issues: 0
|
|
num_closed_issues: 0
|
|
num_pulls: 0
|
|
num_closed_pulls: 0
|
|
num_watches: 0
|
|
status: 0
|
|
|
|
-
|
|
id: 17
|
|
owner_id: 15
|
|
owner_name: user15
|
|
lower_name: big_test_public_1
|
|
name: big_test_public_1
|
|
is_private: false
|
|
num_issues: 0
|
|
num_closed_issues: 0
|
|
num_pulls: 0
|
|
num_closed_pulls: 0
|
|
num_watches: 0
|
|
is_mirror: false
|
|
is_fork: false
|
|
status: 0
|
|
|
|
-
|
|
id: 18
|
|
owner_id: 15
|
|
owner_name: user15
|
|
lower_name: big_test_public_2
|
|
name: big_test_public_2
|
|
is_private: false
|
|
num_issues: 0
|
|
num_closed_issues: 0
|
|
num_pulls: 0
|
|
num_closed_pulls: 0
|
|
is_mirror: false
|
|
is_fork: false
|
|
status: 0
|
|
|
|
-
|
|
id: 19
|
|
owner_id: 15
|
|
owner_name: user15
|
|
lower_name: big_test_private_1
|
|
name: big_test_private_1
|
|
is_private: true
|
|
num_issues: 0
|
|
num_closed_issues: 0
|
|
num_pulls: 0
|
|
num_closed_pulls: 0
|
|
is_mirror: false
|
|
is_fork: false
|
|
status: 0
|
|
|
|
-
|
|
id: 20
|
|
owner_id: 15
|
|
owner_name: user15
|
|
lower_name: big_test_private_2
|
|
name: big_test_private_2
|
|
is_private: true
|
|
num_issues: 0
|
|
num_closed_issues: 0
|
|
num_pulls: 0
|
|
num_closed_pulls: 0
|
|
is_mirror: false
|
|
is_fork: false
|
|
status: 0
|
|
|
|
-
|
|
id: 21
|
|
owner_id: 16
|
|
owner_name: user16
|
|
lower_name: big_test_public_3
|
|
name: big_test_public_3
|
|
is_private: false
|
|
num_issues: 0
|
|
num_closed_issues: 0
|
|
num_pulls: 0
|
|
num_closed_pulls: 0
|
|
is_mirror: false
|
|
is_fork: false
|
|
status: 0
|
|
|
|
-
|
|
id: 22
|
|
owner_id: 16
|
|
owner_name: user16
|
|
lower_name: big_test_private_3
|
|
name: big_test_private_3
|
|
is_private: true
|
|
num_issues: 0
|
|
num_closed_issues: 0
|
|
num_pulls: 0
|
|
num_closed_pulls: 0
|
|
is_mirror: false
|
|
is_fork: false
|
|
status: 0
|
|
|
|
-
|
|
id: 23
|
|
owner_id: 17
|
|
owner_name: user17
|
|
lower_name: big_test_public_4
|
|
name: big_test_public_4
|
|
is_private: false
|
|
num_issues: 0
|
|
num_closed_issues: 0
|
|
num_pulls: 0
|
|
num_closed_pulls: 0
|
|
is_mirror: false
|
|
is_fork: false
|
|
status: 0
|
|
|
|
-
|
|
id: 24
|
|
owner_id: 17
|
|
owner_name: user17
|
|
lower_name: big_test_private_4
|
|
name: big_test_private_4
|
|
is_private: true
|
|
num_issues: 0
|
|
num_closed_issues: 0
|
|
num_pulls: 0
|
|
num_closed_pulls: 0
|
|
is_mirror: false
|
|
is_fork: false
|
|
status: 0
|
|
|
|
-
|
|
id: 25
|
|
owner_id: 20
|
|
owner_name: user20
|
|
lower_name: big_test_public_mirror_5
|
|
name: big_test_public_mirror_5
|
|
is_private: false
|
|
num_issues: 0
|
|
num_closed_issues: 0
|
|
num_pulls: 0
|
|
num_closed_pulls: 0
|
|
num_watches: 0
|
|
is_mirror: true
|
|
is_fork: false
|
|
status: 0
|
|
|
|
-
|
|
id: 26
|
|
owner_id: 20
|
|
owner_name: user20
|
|
lower_name: big_test_private_mirror_5
|
|
name: big_test_private_mirror_5
|
|
is_private: true
|
|
num_issues: 0
|
|
num_closed_issues: 0
|
|
num_pulls: 0
|
|
num_closed_pulls: 0
|
|
num_watches: 0
|
|
is_mirror: true
|
|
is_fork: false
|
|
status: 0
|
|
|
|
-
|
|
id: 27
|
|
owner_id: 19
|
|
owner_name: user19
|
|
lower_name: big_test_public_mirror_6
|
|
name: big_test_public_mirror_6
|
|
is_private: false
|
|
num_issues: 0
|
|
num_closed_issues: 0
|
|
num_pulls: 0
|
|
num_closed_pulls: 0
|
|
num_watches: 0
|
|
is_mirror: true
|
|
num_forks: 1
|
|
is_fork: false
|
|
status: 0
|
|
|
|
-
|
|
id: 28
|
|
owner_id: 19
|
|
owner_name: user19
|
|
lower_name: big_test_private_mirror_6
|
|
name: big_test_private_mirror_6
|
|
is_private: true
|
|
num_issues: 0
|
|
num_closed_issues: 0
|
|
num_pulls: 0
|
|
num_closed_pulls: 0
|
|
num_watches: 0
|
|
is_mirror: true
|
|
num_forks: 1
|
|
is_fork: false
|
|
status: 0
|
|
|
|
-
|
|
id: 29
|
|
fork_id: 27
|
|
owner_id: 20
|
|
owner_name: user20
|
|
lower_name: big_test_public_fork_7
|
|
name: big_test_public_fork_7
|
|
is_private: false
|
|
num_issues: 0
|
|
num_closed_issues: 0
|
|
num_pulls: 0
|
|
num_closed_pulls: 0
|
|
is_mirror: false
|
|
is_fork: true
|
|
status: 0
|
|
|
|
-
|
|
id: 30
|
|
fork_id: 28
|
|
owner_id: 20
|
|
owner_name: user20
|
|
lower_name: big_test_private_fork_7
|
|
name: big_test_private_fork_7
|
|
is_private: true
|
|
num_issues: 0
|
|
num_closed_issues: 0
|
|
num_pulls: 0
|
|
num_closed_pulls: 0
|
|
is_mirror: false
|
|
is_fork: true
|
|
status: 0
|
|
|
|
-
|
|
id: 31
|
|
owner_id: 2
|
|
owner_name: user2
|
|
lower_name: repo20
|
|
name: repo20
|
|
num_stars: 0
|
|
num_forks: 0
|
|
num_issues: 0
|
|
is_mirror: false
|
|
status: 0
|
|
|
|
-
|
|
id: 32 # org public repo
|
|
owner_id: 3
|
|
owner_name: user3
|
|
lower_name: repo21
|
|
name: repo21
|
|
is_private: false
|
|
num_stars: 0
|
|
num_forks: 0
|
|
num_issues: 0
|
|
is_mirror: false
|
|
status: 0
|
|
|
|
-
|
|
id: 33
|
|
owner_id: 2
|
|
owner_name: user2
|
|
lower_name: utf8
|
|
name: utf8
|
|
is_private: false
|
|
status: 0
|
|
|
|
-
|
|
id: 34
|
|
owner_id: 21
|
|
owner_name: user21
|
|
lower_name: golang
|
|
name: golang
|
|
is_private: false
|
|
num_stars: 0
|
|
num_forks: 0
|
|
num_issues: 0
|
|
is_mirror: false
|
|
status: 0
|
|
|
|
-
|
|
id: 35
|
|
owner_id: 21
|
|
owner_name: user21
|
|
lower_name: graphql
|
|
name: graphql
|
|
is_private: false
|
|
num_stars: 0
|
|
num_forks: 0
|
|
num_issues: 0
|
|
is_mirror: false
|
|
status: 0
|
|
|
|
-
|
|
id: 36
|
|
owner_id: 2
|
|
owner_name: user2
|
|
lower_name: commits_search_test
|
|
name: commits_search_test
|
|
is_private: false
|
|
num_stars: 0
|
|
num_forks: 0
|
|
num_issues: 0
|
|
is_mirror: false
|
|
status: 0
|
|
|
|
-
|
|
id: 37
|
|
owner_id: 2
|
|
owner_name: user2
|
|
lower_name: git_hooks_test
|
|
name: git_hooks_test
|
|
is_private: false
|
|
num_stars: 0
|
|
num_forks: 0
|
|
num_issues: 0
|
|
is_mirror: false
|
|
status: 0
|
|
|
|
-
|
|
id: 38
|
|
owner_id: 22
|
|
owner_name: limited_org
|
|
lower_name: public_repo_on_limited_org
|
|
name: public_repo_on_limited_org
|
|
is_private: false
|
|
num_stars: 0
|
|
num_forks: 0
|
|
num_issues: 0
|
|
is_mirror: false
|
|
status: 0
|
|
|
|
-
|
|
id: 39
|
|
owner_id: 22
|
|
owner_name: limited_org
|
|
lower_name: private_repo_on_limited_org
|
|
name: private_repo_on_limited_org
|
|
is_private: true
|
|
num_stars: 0
|
|
num_forks: 0
|
|
num_issues: 0
|
|
is_mirror: false
|
|
status: 0
|
|
|
|
-
|
|
id: 40
|
|
owner_id: 23
|
|
owner_name: privated_org
|
|
lower_name: public_repo_on_private_org
|
|
name: public_repo_on_private_org
|
|
is_private: false
|
|
num_stars: 0
|
|
num_forks: 0
|
|
num_issues: 0
|
|
is_mirror: false
|
|
status: 0
|
|
|
|
-
|
|
id: 41
|
|
owner_id: 23
|
|
owner_name: privated_org
|
|
lower_name: private_repo_on_private_org
|
|
name: private_repo_on_private_org
|
|
is_private: true
|
|
num_stars: 0
|
|
num_forks: 0
|
|
num_issues: 0
|
|
is_mirror: false
|
|
|
|
-
|
|
id: 42
|
|
owner_id: 2
|
|
owner_name: user2
|
|
lower_name: glob
|
|
name: glob
|
|
is_private: false
|
|
num_stars: 0
|
|
num_forks: 0
|
|
num_issues: 1
|
|
num_milestones: 1
|
|
is_mirror: false
|
|
|
|
-
|
|
id: 43
|
|
owner_id: 26
|
|
owner_name: org26
|
|
lower_name: repo26
|
|
name: repo26
|
|
is_private: true
|
|
num_stars: 0
|
|
num_forks: 0
|
|
num_issues: 0
|
|
is_mirror: false
|
|
status: 0
|
|
|
|
-
|
|
id: 44
|
|
owner_id: 27
|
|
owner_name: user27
|
|
lower_name: template1
|
|
name: template1
|
|
is_private: false
|
|
is_template: true
|
|
num_stars: 0
|
|
num_forks: 0
|
|
num_issues: 0
|
|
is_mirror: false
|
|
status: 0
|
|
|
|
-
|
|
id: 45
|
|
owner_id: 27
|
|
owner_name: user27
|
|
lower_name: template2
|
|
name: template2
|
|
is_private: false
|
|
is_template: true
|
|
num_stars: 0
|
|
num_forks: 0
|
|
num_issues: 0
|
|
is_mirror: false
|
|
status: 0
|
|
|
|
-
|
|
id: 46
|
|
owner_id: 26
|
|
owner_name: org26
|
|
lower_name: repo_external_tracker
|
|
name: repo_external_tracker
|
|
is_private: false
|
|
num_stars: 0
|
|
num_forks: 0
|
|
num_issues: 0
|
|
is_mirror: false
|
|
status: 0
|
|
|
|
-
|
|
id: 47
|
|
owner_id: 26
|
|
owner_name: org26
|
|
lower_name: repo_external_tracker_numeric
|
|
name: repo_external_tracker_numeric
|
|
is_private: false
|
|
num_stars: 0
|
|
num_forks: 0
|
|
num_issues: 0
|
|
is_mirror: false
|
|
status: 0
|
|
|
|
-
|
|
id: 48
|
|
owner_id: 26
|
|
owner_name: org26
|
|
lower_name: repo_external_tracker_alpha
|
|
name: repo_external_tracker_alpha
|
|
is_private: false
|
|
num_stars: 0
|
|
num_forks: 0
|
|
num_issues: 0
|
|
num_pulls: 1
|
|
is_mirror: false
|
|
status: 0
|
|
|
|
-
|
|
id: 49
|
|
owner_id: 27
|
|
owner_name: user27
|
|
lower_name: repo49
|
|
name: repo49
|
|
is_private: false
|
|
num_stars: 0
|
|
num_forks: 0
|
|
num_issues: 0
|
|
is_mirror: false
|
|
status: 0
|
|
|
|
-
|
|
id: 50
|
|
owner_id: 30
|
|
owner_name: user30
|
|
lower_name: repo50
|
|
name: repo50
|
|
is_archived: false
|
|
is_empty: false
|
|
is_private: false
|
|
num_issues: 1
|
|
num_closed_issues: 0
|
|
num_pulls: 0
|
|
num_closed_pulls: 0
|
|
num_milestones: 0
|
|
num_closed_milestones: 0
|
|
num_watches: 0
|
|
num_projects: 0
|
|
num_closed_projects: 0
|
|
status: 0
|
|
|
|
-
|
|
id: 51
|
|
owner_id: 30
|
|
owner_name: user30
|
|
lower_name: repo51
|
|
name: repo51
|
|
is_archived: true
|
|
is_empty: false
|
|
is_private: false
|
|
num_issues: 1
|
|
num_closed_issues: 0
|
|
num_pulls: 0
|
|
num_closed_pulls: 0
|
|
num_milestones: 0
|
|
num_closed_milestones: 0
|
|
num_watches: 0
|
|
num_projects: 0
|
|
num_closed_projects: 0
|
|
status: 0
|