Chore: Remove org model duplicates (#61025)

Remove org model duplicates
This commit is contained in:
idafurjes
2023-01-09 14:39:53 +01:00
committed by GitHub
parent 68b43a24e2
commit 7dcb502b33
15 changed files with 49 additions and 155 deletions
@@ -8,7 +8,6 @@ import (
"github.com/grafana/grafana/pkg/cmd/grafana-cli/logger"
"github.com/grafana/grafana/pkg/infra/log"
"github.com/grafana/grafana/pkg/models"
"github.com/grafana/grafana/pkg/services/accesscontrol"
"github.com/grafana/grafana/pkg/services/authn"
"github.com/grafana/grafana/pkg/services/org"
@@ -92,7 +91,7 @@ func (s *OrgSync) SyncOrgUser(ctx context.Context, id *authn.Identity, _ *authn.
"userId", userID, "orgId", orgId)
cmd := &org.RemoveOrgUserCommand{OrgID: orgId, UserID: userID}
if err := s.orgService.RemoveOrgUser(ctx, cmd); err != nil {
if errors.Is(err, models.ErrLastOrgAdmin) {
if errors.Is(err, org.ErrLastOrgAdmin) {
logger.Error(err.Error(), "userId", cmd.UserID, "orgId", cmd.OrgID)
continue
}
@@ -306,7 +306,7 @@ func (ls *Implementation) syncOrgRoles(ctx context.Context, usr *user.User, extU
"userId", usr.ID, "orgId", orgId)
cmd := &org.RemoveOrgUserCommand{OrgID: orgId, UserID: usr.ID}
if err := ls.orgService.RemoveOrgUser(ctx, cmd); err != nil {
if errors.Is(err, models.ErrLastOrgAdmin) {
if errors.Is(err, org.ErrLastOrgAdmin) {
logger.Error(err.Error(), "userId", cmd.UserID, "orgId", cmd.OrgID)
continue
}
@@ -60,7 +60,7 @@ func Test_syncOrgRoles_whenTryingToRemoveLastOrgLogsError(t *testing.T) {
err := login.syncOrgRoles(context.Background(), &user, &externalUser)
require.NoError(t, err)
assert.Contains(t, buf.String(), models.ErrLastOrgAdmin.Error())
assert.Contains(t, buf.String(), org.ErrLastOrgAdmin.Error())
}
func Test_teamSync(t *testing.T) {
@@ -158,7 +158,7 @@ func createResponseWithOneErrLastOrgAdminItem() orgtest.OrgListResponse {
remResp := orgtest.OrgListResponse{
{
OrgID: 10,
Response: models.ErrLastOrgAdmin,
Response: org.ErrLastOrgAdmin,
},
{
OrgID: 11,
+5 -2
View File
@@ -11,8 +11,11 @@ import (
// Typed errors
var (
ErrOrgNotFound = errors.New("organization not found")
ErrOrgNameTaken = errors.New("organization name is taken")
ErrOrgNotFound = errors.New("organization not found")
ErrOrgNameTaken = errors.New("organization name is taken")
ErrLastOrgAdmin = errors.New("cannot remove last organization admin")
ErrOrgUserNotFound = errors.New("cannot find the organization user")
ErrOrgUserAlreadyAdded = errors.New("user is already added to organization")
)
type Org struct {
+3 -4
View File
@@ -11,7 +11,6 @@ import (
"github.com/grafana/grafana/pkg/events"
"github.com/grafana/grafana/pkg/infra/db"
"github.com/grafana/grafana/pkg/infra/log"
"github.com/grafana/grafana/pkg/models"
"github.com/grafana/grafana/pkg/services/accesscontrol"
"github.com/grafana/grafana/pkg/services/org"
"github.com/grafana/grafana/pkg/services/quota"
@@ -357,7 +356,7 @@ func (ss *sqlStore) AddOrgUser(ctx context.Context, cmd *org.AddOrgUserCommand)
if res, err := sess.Query("SELECT 1 from org_user WHERE org_id=? and user_id=?", cmd.OrgID, usr.ID); err != nil {
return err
} else if len(res) == 1 {
return models.ErrOrgUserAlreadyAdded
return org.ErrOrgUserAlreadyAdded
}
if res, err := sess.Query("SELECT 1 from org WHERE id=?", cmd.OrgID); err != nil {
@@ -483,7 +482,7 @@ func (ss *sqlStore) UpdateOrgUser(ctx context.Context, cmd *org.UpdateOrgUserCom
}
if !exists {
return models.ErrOrgUserNotFound
return org.ErrOrgUserNotFound
}
orgUser.Role = cmd.Role
@@ -505,7 +504,7 @@ func validateOneAdminLeftInOrg(orgID int64, sess *db.Session) error {
}
if len(res) == 0 {
return models.ErrLastOrgAdmin
return org.ErrLastOrgAdmin
}
return err
+2 -3
View File
@@ -11,7 +11,6 @@ import (
"github.com/stretchr/testify/require"
"github.com/grafana/grafana/pkg/infra/db"
"github.com/grafana/grafana/pkg/models"
"github.com/grafana/grafana/pkg/services/accesscontrol"
"github.com/grafana/grafana/pkg/services/org"
"github.com/grafana/grafana/pkg/services/quota/quotaimpl"
@@ -391,7 +390,7 @@ func TestIntegrationOrgUserDataAccess(t *testing.T) {
require.NoError(t, err)
cmd := org.UpdateOrgUserCommand{OrgID: ac1.OrgID, UserID: ac1.ID, Role: org.RoleViewer}
err = orgUserStore.UpdateOrgUser(context.Background(), &cmd)
require.Equal(t, models.ErrLastOrgAdmin, err)
require.Equal(t, org.ErrLastOrgAdmin, err)
})
t.Run("Removing user from org should delete user completely if in no other org", func(t *testing.T) {
@@ -409,7 +408,7 @@ func TestIntegrationOrgUserDataAccess(t *testing.T) {
t.Run("Cannot delete last admin org user", func(t *testing.T) {
cmd := org.RemoveOrgUserCommand{OrgID: ac1.OrgID, UserID: ac1.ID}
err := orgUserStore.RemoveOrgUser(context.Background(), &cmd)
require.Equal(t, err, models.ErrLastOrgAdmin)
require.Equal(t, err, org.ErrLastOrgAdmin)
})
})
@@ -11,7 +11,6 @@ import (
"github.com/grafana/grafana/pkg/infra/db"
"github.com/grafana/grafana/pkg/infra/kvstore"
"github.com/grafana/grafana/pkg/infra/log"
"github.com/grafana/grafana/pkg/models"
"github.com/grafana/grafana/pkg/services/accesscontrol"
"github.com/grafana/grafana/pkg/services/apikey"
"github.com/grafana/grafana/pkg/services/org"
@@ -124,7 +123,7 @@ func (s *ServiceAccountsStoreImpl) UpdateServiceAccount(
updateTime := time.Now()
if saForm.Role != nil {
var orgUser models.OrgUser
var orgUser org.OrgUser
orgUser.Role = *saForm.Role
orgUser.Updated = updateTime
@@ -82,7 +82,7 @@ func (p *teamPermissionMigrator) mapPermissionToRBAC(permission models.Permissio
}
func (p *teamPermissionMigrator) getUserRoleByOrgMapping() (map[int64]map[int64]string, error) {
var orgUsers []*models.OrgUserDTO
var orgUsers []*org.OrgUserDTO
if err := p.sess.SQL(`SELECT * FROM org_user`).Cols("org_user.org_id", "org_user.user_id", "org_user.role").Find(&orgUsers); err != nil {
return nil, err
}
@@ -91,13 +91,13 @@ func (p *teamPermissionMigrator) getUserRoleByOrgMapping() (map[int64]map[int64]
// Loop through users and organise them by organization ID
for _, orgUser := range orgUsers {
orgRoles, initialized := userRolesByOrg[orgUser.OrgId]
orgRoles, initialized := userRolesByOrg[orgUser.OrgID]
if !initialized {
orgRoles = map[int64]string{}
}
orgRoles[orgUser.UserId] = orgUser.Role
userRolesByOrg[orgUser.OrgId] = orgRoles
orgRoles[orgUser.UserID] = orgUser.Role
userRolesByOrg[orgUser.OrgID] = orgRoles
}
return userRolesByOrg, nil
@@ -273,38 +273,38 @@ func setupTeams(t *testing.T, x *xorm.Engine) {
require.NoError(t, errInsertUsers)
require.Equal(t, int64(5), usersCount, "needed 5 users for this test to run")
orgUsers := []models.OrgUser{
orgUsers := []org.OrgUser{
{
OrgId: 1,
UserId: 1,
OrgID: 1,
UserID: 1,
Role: org.RoleViewer,
Created: now,
Updated: now,
},
{
OrgId: 1,
UserId: 2,
OrgID: 1,
UserID: 2,
Role: org.RoleViewer,
Created: now,
Updated: now,
},
{
OrgId: 1,
UserId: 3,
OrgID: 1,
UserID: 3,
Role: org.RoleEditor,
Created: now,
Updated: now,
},
{
OrgId: 1,
UserId: 4,
OrgID: 1,
UserID: 4,
Role: org.RoleAdmin,
Created: now,
Updated: now,
},
{
OrgId: 2,
UserId: 5,
OrgID: 2,
UserID: 5,
Role: org.RoleEditor,
Created: now,
Updated: now,
+3 -4
View File
@@ -8,7 +8,6 @@ import (
"time"
"github.com/grafana/grafana/pkg/events"
"github.com/grafana/grafana/pkg/models"
"github.com/grafana/grafana/pkg/services/org"
"github.com/grafana/grafana/pkg/services/user"
"github.com/grafana/grafana/pkg/util"
@@ -110,9 +109,9 @@ func (ss *SQLStore) createUser(ctx context.Context, sess *DBSession, args user.C
Email: usr.Email,
})
orgUser := models.OrgUser{
OrgId: orgID,
UserId: usr.ID,
orgUser := org.OrgUser{
OrgID: orgID,
UserID: usr.ID,
Role: org.RoleAdmin,
Created: time.Now(),
Updated: time.Now(),