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
|
||||
|
||||
@@ -336,12 +336,12 @@ func setupTeams(t *testing.T, x *xorm.Engine) {
|
||||
require.NoError(t, errInsertTeams)
|
||||
require.Equal(t, int64(2), teamCount, "needed 2 teams for this test to run")
|
||||
|
||||
members := []models.TeamMember{
|
||||
members := []team.TeamMember{
|
||||
{
|
||||
// Can have viewer permissions
|
||||
OrgId: 1,
|
||||
TeamId: 1,
|
||||
UserId: 1,
|
||||
OrgID: 1,
|
||||
TeamID: 1,
|
||||
UserID: 1,
|
||||
External: false,
|
||||
Permission: 0,
|
||||
Created: now,
|
||||
@@ -349,9 +349,9 @@ func setupTeams(t *testing.T, x *xorm.Engine) {
|
||||
},
|
||||
{
|
||||
// Cannot have admin permissions
|
||||
OrgId: 1,
|
||||
TeamId: 1,
|
||||
UserId: 2,
|
||||
OrgID: 1,
|
||||
TeamID: 1,
|
||||
UserID: 2,
|
||||
External: false,
|
||||
Permission: models.PERMISSION_ADMIN,
|
||||
Created: now,
|
||||
@@ -359,9 +359,9 @@ func setupTeams(t *testing.T, x *xorm.Engine) {
|
||||
},
|
||||
{
|
||||
// Can have admin permissions
|
||||
OrgId: 1,
|
||||
TeamId: 1,
|
||||
UserId: 3,
|
||||
OrgID: 1,
|
||||
TeamID: 1,
|
||||
UserID: 3,
|
||||
External: false,
|
||||
Permission: models.PERMISSION_ADMIN,
|
||||
Created: now,
|
||||
@@ -369,9 +369,9 @@ func setupTeams(t *testing.T, x *xorm.Engine) {
|
||||
},
|
||||
{
|
||||
// Can have admin permissions
|
||||
OrgId: 1,
|
||||
TeamId: 1,
|
||||
UserId: 4,
|
||||
OrgID: 1,
|
||||
TeamID: 1,
|
||||
UserID: 4,
|
||||
External: false,
|
||||
Permission: models.PERMISSION_ADMIN,
|
||||
Created: now,
|
||||
@@ -379,9 +379,9 @@ func setupTeams(t *testing.T, x *xorm.Engine) {
|
||||
},
|
||||
{
|
||||
// Can have viewer permissions
|
||||
OrgId: 2,
|
||||
TeamId: 2,
|
||||
UserId: 5,
|
||||
OrgID: 2,
|
||||
TeamID: 2,
|
||||
UserID: 5,
|
||||
External: false,
|
||||
Permission: 0,
|
||||
Created: now,
|
||||
|
||||
Reference in New Issue
Block a user