Farmbot-Web-App/frontend/account/actions.ts

38 lines
1.1 KiB
TypeScript

import axios from "axios";
import { Thunk } from "../redux/interfaces";
import { API } from "../api";
import { DeletionRequest } from "./interfaces";
import { Session } from "../session";
import { UnsafeError } from "../interfaces";
import { toastErrors } from "../toast_errors";
import { t } from "../i18next_wrapper";
export function deleteUser(payload: DeletionRequest): Thunk {
return (_, getState) => {
const { auth } = getState();
auth && axios({
method: "delete",
url: API.current.usersPath,
data: payload,
params: { force: true }
})
.then(() => {
alert("We're sorry to see you go. :(");
Session.clear();
})
.catch((err: UnsafeError) => {
toastErrors({ err });
});
};
}
export const resetAccount = (payload: DeletionRequest): Thunk =>
(_, getState) =>
getState().auth && axios({
method: "post",
url: API.current.accountResetPath,
data: payload,
})
.then(() => alert(t("Account has been reset.")))
.catch((err: UnsafeError) => toastErrors({ err }));