User: Add uid colum to user table (#81615)

This commit is contained in:
Ryan McKinley
2024-02-01 18:14:10 -08:00
committed by GitHub
parent 9d17f6e6aa
commit 9c9e5e68c8
16 changed files with 87 additions and 3 deletions
+5
View File
@@ -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,
+27
View File
@@ -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{
+1
View File
@@ -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,