Skip to content

Commit 666b7cc

Browse files
rename tables in group-related query conditions
1 parent a6ec580 commit 666b7cc

File tree

5 files changed

+31
-28
lines changed

5 files changed

+31
-28
lines changed

models/group/group_list.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,16 +27,16 @@ func (groups RepoGroupList) LoadOwners(ctx context.Context) error {
2727

2828
// userOrgTeamGroupBuilder returns group ids where user's teams can access.
2929
func userOrgTeamGroupBuilder(userID int64) *builder.Builder {
30-
return builder.Select("`group_team`.group_id").
31-
From("group_team").
32-
Join("INNER", "team_user", "`team_user`.team_id = `group_team`.team_id").
30+
return builder.Select("`repo_group_team`.group_id").
31+
From("repo_group_team").
32+
Join("INNER", "team_user", "`team_user`.team_id = `repo_group_team`.team_id").
3333
Where(builder.Eq{"`team_user`.uid": userID})
3434
}
3535

3636
func UserOrgTeamPermCond(idStr string, userID int64, level perm.AccessMode) builder.Cond {
3737
selCond := userOrgTeamGroupBuilder(userID)
38-
selCond = selCond.InnerJoin("team", "`team`.id = `group_team`.team_id").
39-
And(builder.Or(builder.Gte{"`team`.authorize": level}, builder.Gte{"`group_team`.access_mode": level}))
38+
selCond = selCond.InnerJoin("team", "`team`.id = `repo_group_team`.team_id").
39+
And(builder.Or(builder.Gte{"`team`.authorize": level}, builder.Gte{"`repo_group_team`.access_mode": level}))
4040
return builder.In(idStr, selCond)
4141
}
4242

models/organization/team_group.go

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,24 +11,24 @@ import (
1111

1212
func GetTeamsWithAccessToGroup(ctx context.Context, orgID, groupID int64, mode perm.AccessMode) ([]*Team, error) {
1313
teams := make([]*Team, 0)
14-
inCond := group_model.ParentGroupCond(ctx, "group_team.group_id", groupID)
15-
return teams, db.GetEngine(ctx).Distinct("team.*").Where("group_team.access_mode >= ?", mode).
16-
Join("INNER", "group_team", "group_team.team_id = team.id and group_team.org_id = ?", orgID).
17-
And("group_team.org_id = ?", orgID).
14+
inCond := group_model.ParentGroupCond(ctx, "repo_group_team.group_id", groupID)
15+
return teams, db.GetEngine(ctx).Distinct("team.*").Where("repo_group_team.access_mode >= ?", mode).
16+
Join("INNER", "repo_group_team", "repo_group_team.team_id = team.id and repo_group_team.org_id = ?", orgID).
17+
And("repo_group_team.org_id = ?", orgID).
1818
And(inCond).
1919
OrderBy("name").
2020
Find(&teams)
2121
}
2222

2323
func GetTeamsWithAccessToGroupUnit(ctx context.Context, orgID, groupID int64, mode perm.AccessMode, unitType unit.Type) ([]*Team, error) {
2424
teams := make([]*Team, 0)
25-
inCond := group_model.ParentGroupCond(ctx, "group_team.group_id", groupID)
26-
return teams, db.GetEngine(ctx).Where("group_team.access_mode >= ?", mode).
27-
Join("INNER", "group_team", "group_team.team_id = team.id").
28-
Join("INNER", "group_unit", "group_unit.team_id = team.id").
29-
And("group_team.org_id = ?", orgID).
25+
inCond := group_model.ParentGroupCond(ctx, "repo_group_team.group_id", groupID)
26+
return teams, db.GetEngine(ctx).Where("repo_group_team.access_mode >= ?", mode).
27+
Join("INNER", "repo_group_team", "repo_group_team.team_id = team.id").
28+
Join("INNER", "repo_group_unit", "repo_group_unit.team_id = team.id").
29+
And("repo_group_team.org_id = ?", orgID).
3030
And(inCond).
31-
And("group_unit.type = ?", unitType).
31+
And("repo_group_unit.type = ?", unitType).
3232
OrderBy("name").
3333
Find(&teams)
3434
}

models/organization/team_list.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -129,8 +129,8 @@ func GetUserRepoTeams(ctx context.Context, orgID, userID, repoID int64) (teams T
129129
// GetUserGroupTeams returns teams in a group that a user has access to
130130
func GetUserGroupTeams(ctx context.Context, groupID, userID int64) (teams TeamList, err error) {
131131
err = db.GetEngine(ctx).
132-
Where("`group_team`.group_id = ?", groupID).
133-
Join("INNER", "group_team", "`group_team`.team_id = `team`.id").
132+
Where("`repo_group_team`.group_id = ?", groupID).
133+
Join("INNER", "repo_group_team", "`repo_group_team`.team_id = `team`.id").
134134
Join("INNER", "team_user", "`team_user`.team_id = `team`.id").
135135
And("`team_user`.uid = ?", userID).
136136
Asc("`team`.name").

models/repo/repo_list.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -306,7 +306,7 @@ func userOrgTeamRepoBuilder(userID int64) *builder.Builder {
306306
// userOrgTeamRepoGroupBuilder selects repos that the given user has access to through team membership and group permissions
307307
func userOrgTeamRepoGroupBuilder(userID int64) *builder.Builder {
308308
return userOrgTeamRepoBuilder(userID).
309-
Join("INNER", "group_team", "`group_team`.team_id=`team_repo`.team_id")
309+
Join("INNER", "repo_group_team", "`repo_group_team`.team_id=`team_repo`.team_id")
310310
}
311311

312312
// userOrgTeamUnitRepoBuilder returns repo ids where user's teams can access the special unit.
@@ -343,8 +343,8 @@ func UserOrgUnitRepoCond(idStr string, userID, orgID int64, unitType unit.Type)
343343
func ReposAccessibleByGroupTeamBuilder(teamID int64) *builder.Builder {
344344
innerGroupCond := builder.Select("`repo_group`.id").
345345
From("repo_group").
346-
InnerJoin("group_team", "`group_team`.group_id = `repo_group`.id").
347-
Where(builder.Eq{"`group_team`.team_id": teamID})
346+
InnerJoin("repo_group_team", "`repo_group_team`.group_id = `repo_group`.id").
347+
Where(builder.Eq{"`repo_group_team`.team_id": teamID})
348348
return builder.Select("`repository`.id").
349349
From("repository").
350350
Where(builder.In("`repository`.group_id", innerGroupCond))

models/shared/group/org_group.go

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@ func FindGroupMembers(ctx context.Context, groupID int64, opts *organization_mod
1717
Select("`team_user`.uid").
1818
From("team_user").
1919
InnerJoin("org_user", "`org_user`.uid = team_user.uid").
20-
InnerJoin("group_team", "`group_team`.team_id = team_user.team_id").
20+
InnerJoin("repo_group_team", "`repo_group_team`.team_id = team_user.team_id").
2121
Where(builder.Eq{"`org_user`.org_id": opts.OrgID}).
22-
And(group_model.ParentGroupCond(context.TODO(), "`group_team`.group_id", groupID))
22+
And(group_model.ParentGroupCond(context.TODO(), "`repo_group_team`.group_id", groupID))
2323
if opts.PublicOnly() {
2424
cond = cond.And(builder.Eq{"`org_user`.is_public": true})
2525
}
@@ -38,17 +38,20 @@ func FindGroupMembers(ctx context.Context, groupID int64, opts *organization_mod
3838
func GetGroupTeams(ctx context.Context, groupID int64) ([]*organization_model.Team, error) {
3939
var teams []*organization_model.Team
4040
return teams, db.GetEngine(ctx).
41-
Where("`group_team`.group_id = ?", groupID).
42-
Join("INNER", "group_team", "`group_team`.team_id = `team`.id").
41+
Where("`repo_group_team`.group_id = ?", groupID).
42+
Join("INNER", "repo_group_team", "`repo_group_team`.team_id = `team`.id").
4343
Asc("`team`.name").
4444
Find(&teams)
4545
}
4646

47-
func IsGroupMember(ctx context.Context, groupID, userID int64) (bool, error) {
47+
func IsGroupMember(ctx context.Context, groupID int64, user *user_model.User) (bool, error) {
48+
if user == nil {
49+
return false, nil
50+
}
4851
return db.GetEngine(ctx).
49-
Where("`group_team`.group_id = ?", groupID).
50-
Join("INNER", "group_team", "`group_team`.team_id = `team_user`.team_id").
51-
And("`team_user`.uid = ?", userID).
52+
Where("`repo_group_team`.group_id = ?", groupID).
53+
Join("INNER", "repo_group_team", "`repo_group_team`.team_id = `team_user`.team_id").
54+
And("`team_user`.uid = ?", user.ID).
5255
Table("team_user").
5356
Exist()
5457
}

0 commit comments

Comments
 (0)