Chore: Move tem member models to team pkg (#61294)
* Chore: Move tem member models to team pkg * Fix test lint
This commit is contained in:
@@ -11,6 +11,7 @@ import (
|
||||
"github.com/grafana/grafana/pkg/services/accesscontrol"
|
||||
"github.com/grafana/grafana/pkg/services/org"
|
||||
"github.com/grafana/grafana/pkg/services/sqlstore/migrator"
|
||||
"github.com/grafana/grafana/pkg/services/team"
|
||||
)
|
||||
|
||||
const (
|
||||
@@ -112,7 +113,7 @@ func (p *teamPermissionMigrator) migrateMemberships() error {
|
||||
}
|
||||
|
||||
// Fetch team memberships
|
||||
teamMemberships := []*models.TeamMember{}
|
||||
teamMemberships := []*team.TeamMember{}
|
||||
if err := p.sess.SQL("SELECT * FROM team_member").Find(&teamMemberships); err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -201,7 +202,7 @@ func (p *teamPermissionMigrator) sortRolesToAssign(userPermissionsByOrg map[int6
|
||||
return rolesToCreate, rolesByOrg, nil
|
||||
}
|
||||
|
||||
func (p *teamPermissionMigrator) generateAssociatedPermissions(teamMemberships []*models.TeamMember,
|
||||
func (p *teamPermissionMigrator) generateAssociatedPermissions(teamMemberships []*team.TeamMember,
|
||||
userRolesByOrg map[int64]map[int64]string) (map[int64]map[int64][]accesscontrol.Permission, error) {
|
||||
userPermissionsByOrg := map[int64]map[int64][]accesscontrol.Permission{}
|
||||
|
||||
@@ -210,21 +211,21 @@ func (p *teamPermissionMigrator) generateAssociatedPermissions(teamMemberships [
|
||||
// only admins or editors (when editorsCanAdmin option is enabled)
|
||||
// can access team administration endpoints
|
||||
if m.Permission == models.PERMISSION_ADMIN {
|
||||
if userRolesByOrg[m.OrgId][m.UserId] == string(org.RoleViewer) || (userRolesByOrg[m.OrgId][m.UserId] == string(org.RoleEditor) && !p.editorsCanAdmin) {
|
||||
if userRolesByOrg[m.OrgID][m.UserID] == string(org.RoleViewer) || (userRolesByOrg[m.OrgID][m.UserID] == string(org.RoleEditor) && !p.editorsCanAdmin) {
|
||||
m.Permission = 0
|
||||
|
||||
if _, err := p.sess.Cols("permission").Where("org_id=? and team_id=? and user_id=?", m.OrgId, m.TeamId, m.UserId).Update(m); err != nil {
|
||||
if _, err := p.sess.Cols("permission").Where("org_id=? and team_id=? and user_id=?", m.OrgID, m.TeamID, m.UserID).Update(m); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
userPermissions, initialized := userPermissionsByOrg[m.OrgId]
|
||||
userPermissions, initialized := userPermissionsByOrg[m.OrgID]
|
||||
if !initialized {
|
||||
userPermissions = map[int64][]accesscontrol.Permission{}
|
||||
}
|
||||
userPermissions[m.UserId] = append(userPermissions[m.UserId], p.mapPermissionToRBAC(m.Permission, m.TeamId)...)
|
||||
userPermissionsByOrg[m.OrgId] = userPermissions
|
||||
userPermissions[m.UserID] = append(userPermissions[m.UserID], p.mapPermissionToRBAC(m.Permission, m.TeamID)...)
|
||||
userPermissionsByOrg[m.OrgID] = userPermissions
|
||||
}
|
||||
|
||||
return userPermissionsByOrg, nil
|
||||
|
||||
Reference in New Issue
Block a user