[MM-15126] Adding terms of service to the login response (#10625)
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
12c50eb830
Коммит
83a0e965d3
11
api4/user.go
11
api4/user.go
@@ -1192,6 +1192,17 @@ func login(c *Context, w http.ResponseWriter, r *http.Request) {
|
|||||||
|
|
||||||
c.LogAuditWithUserId(user.Id, "success")
|
c.LogAuditWithUserId(user.Id, "success")
|
||||||
|
|
||||||
|
userTermsOfService, err := c.App.GetUserTermsOfService(user.Id)
|
||||||
|
if err != nil && err.StatusCode != http.StatusNotFound {
|
||||||
|
c.Err = err
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
if userTermsOfService != nil {
|
||||||
|
user.TermsOfServiceId = userTermsOfService.TermsOfServiceId
|
||||||
|
user.TermsOfServiceCreateAt = userTermsOfService.CreateAt
|
||||||
|
}
|
||||||
|
|
||||||
c.App.Session = *session
|
c.App.Session = *session
|
||||||
|
|
||||||
user.Sanitize(map[string]bool{})
|
user.Sanitize(map[string]bool{})
|
||||||
|
|||||||
@@ -2649,6 +2649,26 @@ func TestLogin(t *testing.T) {
|
|||||||
_, resp = th.Client.Login(botUser.Email, "password")
|
_, resp = th.Client.Login(botUser.Email, "password")
|
||||||
CheckErrorMessage(t, resp, "api.user.login.bot_login_forbidden.app_error")
|
CheckErrorMessage(t, resp, "api.user.login.bot_login_forbidden.app_error")
|
||||||
})
|
})
|
||||||
|
|
||||||
|
t.Run("login with terms_of_service set", func(t *testing.T) {
|
||||||
|
termsOfService, err := th.App.CreateTermsOfService("terms of service", th.BasicUser.Id)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
success, resp := th.Client.RegisterTermsOfServiceAction(th.BasicUser.Id, termsOfService.Id, true)
|
||||||
|
CheckNoError(t, resp)
|
||||||
|
assert.True(t, *success)
|
||||||
|
|
||||||
|
userTermsOfService, resp := th.Client.GetUserTermsOfService(th.BasicUser.Id, "")
|
||||||
|
CheckNoError(t, resp)
|
||||||
|
|
||||||
|
user, resp := th.Client.Login(th.BasicUser.Email, th.BasicUser.Password)
|
||||||
|
CheckNoError(t, resp)
|
||||||
|
assert.Equal(t, user.Id, th.BasicUser.Id)
|
||||||
|
assert.Equal(t, user.TermsOfServiceId, userTermsOfService.TermsOfServiceId)
|
||||||
|
assert.Equal(t, user.TermsOfServiceCreateAt, userTermsOfService.CreateAt)
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestCBALogin(t *testing.T) {
|
func TestCBALogin(t *testing.T) {
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user