import { configureAxios, request } from "../requests" import { addAlertOk } from "./alerts" export function userLogout() { return { type: "USER_LOGOUT", } } export function loginUser(username, password) { return request( "USER_LOGIN", configureAxios().post( "/users/login", { username: username.trim(), password: password, }, ), ) } export function updateUser(config) { return request( "USER_UPDATE", configureAxios().post("/users/edit", config), [ addAlertOk("User updated"), ], ) } export function userSignUp(config) { if (config.username) { config.username = config.username.trim(); } return request( "USER_SIGNUP", configureAxios().post("/users/signup", config), [ () => loginUser(config.username, config.password), ], ) } export function getUserInfos() { return request( "GET_USER", configureAxios().get("/users/details") ) } export function getUserTokens() { return request( "GET_USER_TOKENS", configureAxios().get("/users/tokens") ) } export function deleteUserToken(token) { return request( "DELETE_USER_TOKEN", configureAxios().delete(`/users/tokens/${token}`), [ () => getUserTokens(), ] ) }