2020-08-27 17:18:23 +02:00
|
|
|
package handler
|
|
|
|
|
|
|
|
import (
|
2021-02-08 11:30:30 +01:00
|
|
|
"github.com/caos/zitadel/internal/v2/domain"
|
2020-08-27 17:18:23 +02:00
|
|
|
"net/http"
|
|
|
|
)
|
|
|
|
|
|
|
|
const (
|
|
|
|
tmplChangeUsername = "changeusername"
|
|
|
|
tmplChangeUsernameDone = "changeusernamedone"
|
|
|
|
)
|
|
|
|
|
|
|
|
type changeUsernameData struct {
|
|
|
|
Username string `schema:"username"`
|
|
|
|
}
|
|
|
|
|
2021-02-08 11:30:30 +01:00
|
|
|
func (l *Login) renderChangeUsername(w http.ResponseWriter, r *http.Request, authReq *domain.AuthRequest, err error) {
|
2020-08-27 17:18:23 +02:00
|
|
|
var errType, errMessage string
|
|
|
|
if err != nil {
|
|
|
|
errMessage = l.getErrorMessage(r, err)
|
|
|
|
}
|
|
|
|
data := l.getUserData(r, authReq, "Change Username", errType, errMessage)
|
|
|
|
l.renderer.RenderTemplate(w, r, l.renderer.Templates[tmplChangeUsername], data, nil)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (l *Login) handleChangeUsername(w http.ResponseWriter, r *http.Request) {
|
|
|
|
data := new(changeUsernameData)
|
|
|
|
authReq, err := l.getAuthRequestAndParseData(r, data)
|
|
|
|
if err != nil {
|
|
|
|
l.renderError(w, r, authReq, err)
|
|
|
|
return
|
|
|
|
}
|
2021-02-08 11:30:30 +01:00
|
|
|
err = l.command.ChangeUsername(setContext(r.Context(), authReq.UserOrgID), authReq.UserOrgID, authReq.UserID, data.Username)
|
2020-08-27 17:18:23 +02:00
|
|
|
if err != nil {
|
|
|
|
l.renderChangeUsername(w, r, authReq, err)
|
|
|
|
return
|
|
|
|
}
|
|
|
|
l.renderChangeUsernameDone(w, r, authReq)
|
|
|
|
}
|
|
|
|
|
2021-02-08 11:30:30 +01:00
|
|
|
func (l *Login) renderChangeUsernameDone(w http.ResponseWriter, r *http.Request, authReq *domain.AuthRequest) {
|
2020-08-27 17:18:23 +02:00
|
|
|
var errType, errMessage string
|
|
|
|
data := l.getUserData(r, authReq, "Username Change Done", errType, errMessage)
|
|
|
|
l.renderer.RenderTemplate(w, r, l.renderer.Templates[tmplChangeUsernameDone], data, nil)
|
|
|
|
}
|