Split Create User (#50502)

* Split Create User

* Use new create user and User from package user

* Add service to wire

* Making create user work

* Replace user from user pkg

* One more

* Move Insert to orguser Service/Store

* Remove unnecessary conversion

* Cleaunp

* Fix Get User and add fakes

* Fixing get org id for user logic, adding fakes and other adjustments

* Add some tests for ourguser service and store

* Fix insert org logic

* Add comment about deprecation

* Fix after merge with main

* Move orguser service/store to org service/store

* Remove orguser from wire

* Unimplement new Create user and use User from pkg user

* Fix wire generation

* Fix lint

* Fix lint - use only User and CrateUserCommand from user pkg

* Remove User and CreateUserCommand from models

* Fix lint 2
This commit is contained in:
idafurjes
2022-06-28 14:32:25 +02:00
committed by GitHub
parent 2429fe1c70
commit 6c43eb0b4d
105 changed files with 1524 additions and 701 deletions
+7 -3
View File
@@ -1,6 +1,10 @@
package models
import "errors"
import (
"errors"
"github.com/grafana/grafana/pkg/services/user"
)
var ErrInvalidEmailCode = errors.New("invalid or expired email code")
var ErrSmtpNotEnabled = errors.New("SMTP not configured, check your grafana.ini config file's [smtp] section")
@@ -40,10 +44,10 @@ type SendWebhookSync struct {
}
type SendResetPasswordEmailCommand struct {
User *User
User *user.User
}
type ValidateResetPasswordCodeQuery struct {
Code string
Result *User
Result *user.User
}
+1 -1
View File
@@ -7,7 +7,7 @@ import (
// Typed errors
var (
ErrTeamMemberAlreadyAdded = errors.New("User is already added to this team")
ErrTeamMemberAlreadyAdded = errors.New("user is already added to this team")
)
// TeamMember model
+1 -1
View File
@@ -7,7 +7,7 @@ import (
// Typed errors
var (
ErrTempUserNotFound = errors.New("User not found")
ErrTempUserNotFound = errors.New("user not found")
)
type TempUserStatus string
+5 -58
View File
@@ -3,6 +3,8 @@ package models
import (
"errors"
"time"
"github.com/grafana/grafana/pkg/services/user"
)
// Typed errors
@@ -20,61 +22,6 @@ func (p Password) IsWeak() bool {
return len(p) <= 4
}
type User struct {
Id int64
Version int
Email string
Name string
Login string
Password string
Salt string
Rands string
Company string
EmailVerified bool
Theme string
HelpFlags1 HelpFlags1
IsDisabled bool
IsAdmin bool
IsServiceAccount bool
OrgId int64
Created time.Time
Updated time.Time
LastSeenAt time.Time
}
func (u *User) NameOrFallback() string {
if u.Name != "" {
return u.Name
}
if u.Login != "" {
return u.Login
}
return u.Email
}
// ---------------------
// COMMANDS
type CreateUserCommand struct {
Email string
Login string
Name string
Company string
OrgId int64
OrgName string
Password string
EmailVerified bool
IsAdmin bool
IsDisabled bool
SkipOrgSetup bool
DefaultOrgRole string
IsServiceAccount bool
Result User
}
type UpdateUserCommand struct {
Name string `json:"name"`
Email string `json:"email"`
@@ -115,17 +62,17 @@ type SetUsingOrgCommand struct {
type GetUserByLoginQuery struct {
LoginOrEmail string
Result *User
Result *user.User
}
type GetUserByEmailQuery struct {
Email string
Result *User
Result *user.User
}
type GetUserByIdQuery struct {
Id int64
Result *User
Result *user.User
}
type GetSignedInUserQuery struct {
+5 -3
View File
@@ -3,7 +3,9 @@ package models
import (
"time"
"github.com/grafana/grafana/pkg/services/user"
"github.com/grafana/grafana/pkg/setting"
"golang.org/x/oauth2"
)
@@ -40,7 +42,7 @@ type ExternalUserInfo struct {
type LoginInfo struct {
AuthModule string
User *User
User *user.User
ExternalUser ExternalUserInfo
LoginUsername string
HTTPStatus int
@@ -59,7 +61,7 @@ type UpsertUserCommand struct {
ExternalUser *ExternalUserInfo
SignupAllowed bool
Result *User
Result *user.User
}
type SetAuthInfoCommand struct {
@@ -87,7 +89,7 @@ type LoginUserQuery struct {
ReqContext *ReqContext
Username string
Password string
User *User
User *user.User
IpAddress string
AuthModule string
Cfg *setting.Cfg
+2 -1
View File
@@ -6,6 +6,7 @@ import (
"net"
"github.com/grafana/grafana/pkg/registry"
"github.com/grafana/grafana/pkg/services/user"
)
// Typed errors
@@ -65,7 +66,7 @@ type RevokeAuthTokenCmd struct {
// UserTokenService are used for generating and validating user tokens
type UserTokenService interface {
CreateToken(ctx context.Context, user *User, clientIP net.IP, userAgent string) (*UserToken, error)
CreateToken(ctx context.Context, user *user.User, clientIP net.IP, userAgent string) (*UserToken, error)
LookupToken(ctx context.Context, unhashedToken string) (*UserToken, error)
TryRotateToken(ctx context.Context, token *UserToken, clientIP net.IP, userAgent string) (bool, error)
RevokeToken(ctx context.Context, token *UserToken, soft bool) error