File tree 2 files changed +16
-8
lines changed
2 files changed +16
-8
lines changed Original file line number Diff line number Diff line change @@ -10,6 +10,7 @@ import (
10
10
"code.gitea.io/gitea/models/db"
11
11
"code.gitea.io/gitea/models/perm"
12
12
repo_model "code.gitea.io/gitea/models/repo"
13
+ "xorm.io/builder"
13
14
)
14
15
15
16
// TeamRepo represents an team-repository relation.
@@ -39,8 +40,11 @@ type SearchTeamRepoOptions struct {
39
40
func GetTeamRepositories (ctx context.Context , opts * SearchTeamRepoOptions ) ([]* repo_model.Repository , error ) {
40
41
sess := db .GetEngine (ctx )
41
42
if opts .TeamID > 0 {
42
- sess = sess .Join ("INNER" , "team_repo" , "repository.id = team_repo.repo_id" ).
43
- Where ("team_repo.team_id=?" , opts .TeamID )
43
+ sess = sess .In ("id" ,
44
+ builder .Select ("repo_id" ).
45
+ From ("team_repo" ).
46
+ Where (builder.Eq {"team_id = ?" : opts .TeamID }),
47
+ )
44
48
}
45
49
if opts .PageSize > 0 {
46
50
sess .Limit (opts .PageSize , opts .Page * opts .PageSize )
Original file line number Diff line number Diff line change @@ -47,22 +47,26 @@ type SearchMembersOptions struct {
47
47
func (opts SearchMembersOptions ) ToConds () builder.Cond {
48
48
cond := builder .NewCond ()
49
49
if opts .TeamID > 0 {
50
- cond = cond .And (builder.Eq {"team_user.team_id " : opts .TeamID })
50
+ cond = cond .And (builder.Eq {"" : opts .TeamID })
51
51
}
52
52
return cond
53
53
}
54
54
55
55
// GetTeamMembers returns all members in given team of organization.
56
56
func GetTeamMembers (ctx context.Context , opts * SearchMembersOptions ) ([]* user_model.User , error ) {
57
57
var members []* user_model.User
58
- sess := db .GetEngine (ctx ).
59
- Join ("INNER" , "team_user" , "team_user.uid=user.id" ).
60
- Asc ("full_name + name" ).
61
- Where (opts )
58
+ sess := db .GetEngine (ctx )
59
+ if opts .TeamID > 0 {
60
+ sess = sess .In ("id" ,
61
+ builder .Select ("uid" ).
62
+ From ("team_user" ).
63
+ Where (builder.Eq {"team_id = ?" : opts .TeamID }),
64
+ )
65
+ }
62
66
if opts .PageSize > 0 && opts .Page > - 1 {
63
67
sess = sess .Limit (opts .PageSize , opts .Page * opts .PageSize )
64
68
}
65
- if err := sess .Find (& members ); err != nil {
69
+ if err := sess .Asc ( "full_name + name" ). Find (& members ); err != nil {
66
70
return nil , err
67
71
}
68
72
return members , nil
You can’t perform that action at this time.
0 commit comments