mirror of
https://github.com/usememos/memos.git
synced 2024-09-21 14:55:59 +08:00
fix: user patch with empty email (#578)
This commit is contained in:
parent
88c3b1ad0f
commit
b511a7b634
|
@ -199,7 +199,7 @@ func (s *Server) registerUserRoutes(g *echo.Group) {
|
||||||
return echo.NewHTTPError(http.StatusBadRequest, "Malformatted patch user request").SetInternal(err)
|
return echo.NewHTTPError(http.StatusBadRequest, "Malformatted patch user request").SetInternal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
if userPatch.Email != nil && !common.ValidateEmail(*userPatch.Email) {
|
if userPatch.Email != nil && *userPatch.Email != "" && !common.ValidateEmail(*userPatch.Email) {
|
||||||
return echo.NewHTTPError(http.StatusBadRequest, "Invalid email format")
|
return echo.NewHTTPError(http.StatusBadRequest, "Invalid email format")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
import { isEqual } from "lodash";
|
||||||
import { useEffect, useState } from "react";
|
import { useEffect, useState } from "react";
|
||||||
import { useTranslation } from "react-i18next";
|
import { useTranslation } from "react-i18next";
|
||||||
import { useAppSelector } from "../store";
|
import { useAppSelector } from "../store";
|
||||||
|
@ -64,12 +65,19 @@ const UpdateAccountDialog: React.FC<Props> = ({ destroy }: Props) => {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const user = userService.getState().user as User;
|
const user = userService.getState().user as User;
|
||||||
await userService.patchUser({
|
const userPatch: UserPatch = {
|
||||||
id: user.id,
|
id: user.id,
|
||||||
username: state.username,
|
};
|
||||||
nickname: state.nickname,
|
if (!isEqual(user.nickname, state.nickname)) {
|
||||||
email: state.email,
|
userPatch.nickname = state.nickname;
|
||||||
});
|
}
|
||||||
|
if (!isEqual(user.username, state.username)) {
|
||||||
|
userPatch.username = state.username;
|
||||||
|
}
|
||||||
|
if (!isEqual(user.email, state.email)) {
|
||||||
|
userPatch.email = state.email;
|
||||||
|
}
|
||||||
|
await userService.patchUser(userPatch);
|
||||||
toastHelper.info("Update succeed");
|
toastHelper.info("Update succeed");
|
||||||
handleCloseBtnClick();
|
handleCloseBtnClick();
|
||||||
} catch (error: any) {
|
} catch (error: any) {
|
||||||
|
|
|
@ -76,7 +76,7 @@ const UserBanner = () => {
|
||||||
</div>
|
</div>
|
||||||
<Dropdown
|
<Dropdown
|
||||||
trigger={<Icon.MoreHorizontal className="ml-2 w-5 h-auto cursor-pointer" />}
|
trigger={<Icon.MoreHorizontal className="ml-2 w-5 h-auto cursor-pointer" />}
|
||||||
actionsClassName="!w-36"
|
actionsClassName="min-w-36"
|
||||||
actions={
|
actions={
|
||||||
<>
|
<>
|
||||||
{!userService.isVisitorMode() && (
|
{!userService.isVisitorMode() && (
|
||||||
|
|
Loading…
Reference in a new issue