Chore: Split temporary user (invite) service (#55397)
* Chore: Split temporary users * change references to tempuser service * fix api tests * restore tests
This commit is contained in:
@@ -31,7 +31,7 @@ import (
|
||||
func (hs *HTTPServer) GetPendingOrgInvites(c *models.ReqContext) response.Response {
|
||||
query := models.GetTempUsersQuery{OrgId: c.OrgID, Status: models.TmpUserInvitePending}
|
||||
|
||||
if err := hs.SQLStore.GetTempUsersQuery(c.Req.Context(), &query); err != nil {
|
||||
if err := hs.tempUserService.GetTempUsersQuery(c.Req.Context(), &query); err != nil {
|
||||
return response.Error(500, "Failed to get invites from db", err)
|
||||
}
|
||||
|
||||
@@ -102,7 +102,7 @@ func (hs *HTTPServer) AddOrgInvite(c *models.ReqContext) response.Response {
|
||||
cmd.Role = inviteDto.Role
|
||||
cmd.RemoteAddr = c.Req.RemoteAddr
|
||||
|
||||
if err := hs.SQLStore.CreateTempUser(c.Req.Context(), &cmd); err != nil {
|
||||
if err := hs.tempUserService.CreateTempUser(c.Req.Context(), &cmd); err != nil {
|
||||
return response.Error(500, "Failed to save invite to database", err)
|
||||
}
|
||||
|
||||
@@ -129,7 +129,7 @@ func (hs *HTTPServer) AddOrgInvite(c *models.ReqContext) response.Response {
|
||||
}
|
||||
|
||||
emailSentCmd := models.UpdateTempUserWithEmailSentCommand{Code: cmd.Result.Code}
|
||||
if err := hs.SQLStore.UpdateTempUserWithEmailSent(c.Req.Context(), &emailSentCmd); err != nil {
|
||||
if err := hs.tempUserService.UpdateTempUserWithEmailSent(c.Req.Context(), &emailSentCmd); err != nil {
|
||||
return response.Error(500, "Failed to update invite with email sent info", err)
|
||||
}
|
||||
|
||||
@@ -194,7 +194,7 @@ func (hs *HTTPServer) RevokeInvite(c *models.ReqContext) response.Response {
|
||||
// If a (pending) invite is not found, 404 is returned.
|
||||
func (hs *HTTPServer) GetInviteInfoByCode(c *models.ReqContext) response.Response {
|
||||
query := models.GetTempUserByCodeQuery{Code: web.Params(c.Req)[":code"]}
|
||||
if err := hs.SQLStore.GetTempUserByCode(c.Req.Context(), &query); err != nil {
|
||||
if err := hs.tempUserService.GetTempUserByCode(c.Req.Context(), &query); err != nil {
|
||||
if errors.Is(err, models.ErrTempUserNotFound) {
|
||||
return response.Error(404, "Invite not found", nil)
|
||||
}
|
||||
@@ -221,7 +221,7 @@ func (hs *HTTPServer) CompleteInvite(c *models.ReqContext) response.Response {
|
||||
}
|
||||
query := models.GetTempUserByCodeQuery{Code: completeInvite.InviteCode}
|
||||
|
||||
if err := hs.SQLStore.GetTempUserByCode(c.Req.Context(), &query); err != nil {
|
||||
if err := hs.tempUserService.GetTempUserByCode(c.Req.Context(), &query); err != nil {
|
||||
if errors.Is(err, models.ErrTempUserNotFound) {
|
||||
return response.Error(404, "Invite not found", nil)
|
||||
}
|
||||
|
||||
@@ -20,6 +20,7 @@ import (
|
||||
"github.com/grafana/grafana/pkg/services/org"
|
||||
"github.com/grafana/grafana/pkg/services/sqlstore"
|
||||
"github.com/grafana/grafana/pkg/services/sqlstore/mockstore"
|
||||
"github.com/grafana/grafana/pkg/services/temp_user/tempuserimpl"
|
||||
"github.com/grafana/grafana/pkg/services/user"
|
||||
"github.com/grafana/grafana/pkg/services/user/userimpl"
|
||||
"github.com/grafana/grafana/pkg/setting"
|
||||
@@ -684,6 +685,7 @@ func TestOrgUsersAPIEndpointWithSetPerms_AccessControl(t *testing.T) {
|
||||
for _, test := range tests {
|
||||
t.Run(test.desc, func(t *testing.T) {
|
||||
sc := setupHTTPServer(t, true, func(hs *HTTPServer) {
|
||||
hs.tempUserService = tempuserimpl.ProvideService(hs.SQLStore)
|
||||
hs.userService = userimpl.ProvideService(
|
||||
hs.SQLStore, nil, nil, nil, nil,
|
||||
nil, nil, nil, nil, nil, hs.SQLStore.(*sqlstore.SQLStore),
|
||||
|
||||
+3
-3
@@ -51,7 +51,7 @@ func (hs *HTTPServer) SignUp(c *models.ReqContext) response.Response {
|
||||
}
|
||||
cmd.RemoteAddr = c.Req.RemoteAddr
|
||||
|
||||
if err := hs.SQLStore.CreateTempUser(c.Req.Context(), &cmd); err != nil {
|
||||
if err := hs.tempUserService.CreateTempUser(c.Req.Context(), &cmd); err != nil {
|
||||
return response.Error(500, "Failed to create signup", err)
|
||||
}
|
||||
|
||||
@@ -116,7 +116,7 @@ func (hs *HTTPServer) SignUpStep2(c *models.ReqContext) response.Response {
|
||||
|
||||
// check for pending invites
|
||||
invitesQuery := models.GetTempUsersQuery{Email: form.Email, Status: models.TmpUserInvitePending}
|
||||
if err := hs.SQLStore.GetTempUsersQuery(c.Req.Context(), &invitesQuery); err != nil {
|
||||
if err := hs.tempUserService.GetTempUsersQuery(c.Req.Context(), &invitesQuery); err != nil {
|
||||
return response.Error(500, "Failed to query database for invites", err)
|
||||
}
|
||||
|
||||
@@ -141,7 +141,7 @@ func (hs *HTTPServer) SignUpStep2(c *models.ReqContext) response.Response {
|
||||
func (hs *HTTPServer) verifyUserSignUpEmail(ctx context.Context, email string, code string) (bool, response.Response) {
|
||||
query := models.GetTempUserByCodeQuery{Code: code}
|
||||
|
||||
if err := hs.SQLStore.GetTempUserByCode(ctx, &query); err != nil {
|
||||
if err := hs.tempUserService.GetTempUserByCode(ctx, &query); err != nil {
|
||||
if errors.Is(err, models.ErrTempUserNotFound) {
|
||||
return false, response.Error(404, "Invalid email verification code", nil)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user