User: Add uid colum to user table (#81615)
This commit is contained in:
@@ -63,6 +63,9 @@ func (ss *sqlStore) Insert(ctx context.Context, cmd *user.User) (int64, error) {
|
||||
var err error
|
||||
err = ss.db.WithTransactionalDbSession(ctx, func(sess *db.Session) error {
|
||||
sess.UseBool("is_admin")
|
||||
if cmd.UID == "" {
|
||||
cmd.UID = util.GenerateShortUID()
|
||||
}
|
||||
|
||||
if _, err = sess.Insert(cmd); err != nil {
|
||||
return err
|
||||
@@ -393,6 +396,7 @@ func (ss *sqlStore) GetSignedInUser(ctx context.Context, query *user.GetSignedIn
|
||||
|
||||
var rawSQL = `SELECT
|
||||
u.id as user_id,
|
||||
u.uid as user_uid,
|
||||
u.is_admin as is_grafana_admin,
|
||||
u.email as email,
|
||||
u.login as login,
|
||||
@@ -466,6 +470,7 @@ func (ss *sqlStore) GetProfile(ctx context.Context, query *user.GetUserProfileQu
|
||||
|
||||
userProfile = user.UserProfileDTO{
|
||||
ID: usr.ID,
|
||||
UID: usr.UID,
|
||||
Name: usr.Name,
|
||||
Email: usr.Email,
|
||||
Login: usr.Login,
|
||||
|
||||
@@ -104,6 +104,7 @@ func TestIntegrationUserGet(t *testing.T) {
|
||||
} else {
|
||||
require.NoError(t, err)
|
||||
require.NotNil(t, usr)
|
||||
require.NotEmpty(t, usr.UID)
|
||||
}
|
||||
})
|
||||
}
|
||||
@@ -150,6 +151,32 @@ func TestIntegrationUserDataAccess(t *testing.T) {
|
||||
require.NoError(t, err)
|
||||
})
|
||||
|
||||
t.Run("insert user (with known UID)", func(t *testing.T) {
|
||||
ctx := context.Background()
|
||||
id, err := userStore.Insert(ctx,
|
||||
&user.User{
|
||||
UID: "abcd",
|
||||
Email: "next-test@email.com",
|
||||
Name: "next-test1",
|
||||
Login: "next-test1",
|
||||
Created: time.Now(),
|
||||
Updated: time.Now(),
|
||||
},
|
||||
)
|
||||
require.NoError(t, err)
|
||||
|
||||
found, err := userStore.GetByID(ctx, id)
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, "abcd", found.UID)
|
||||
|
||||
siu, err := userStore.GetSignedInUser(ctx, &user.GetSignedInUserQuery{
|
||||
UserID: id,
|
||||
OrgID: found.OrgID,
|
||||
})
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, "abcd", siu.UserUID)
|
||||
})
|
||||
|
||||
t.Run("get user", func(t *testing.T) {
|
||||
_, err := userStore.Get(context.Background(),
|
||||
&user.User{
|
||||
|
||||
@@ -129,6 +129,7 @@ func (s *Service) Create(ctx context.Context, cmd *user.CreateUserCommand) (*use
|
||||
|
||||
// create user
|
||||
usr := &user.User{
|
||||
UID: cmd.UID,
|
||||
Email: cmd.Email,
|
||||
Name: cmd.Name,
|
||||
Login: cmd.Login,
|
||||
|
||||
Reference in New Issue
Block a user