feat: add change password api

This commit is contained in:
Francesco Esposito 2019-08-06 16:46:46 +02:00
parent 3d56240a3f
commit 5a198987be
1 changed files with 37 additions and 10 deletions

View File

@ -1,9 +1,11 @@
import { config } from '../config'; import { config } from '../config';
import { authHeader } from '../_helpers';
export const userAPI = { export const userAPI = {
login, login,
logout, logout,
changePassword,
}; };
function login(email, password) { function login(email, password) {
@ -30,18 +32,43 @@ function logout() {
function handleResponse(response) { function handleResponse(response) {
return response.text() return response.text()
.then(text => { .then(text => {
const data = text && JSON.parse(text); const data = text && JSON.parse(text);
if (!response.ok) { if (!response.ok) {
if (response.status === 401) { if (response.status === 401) {
logout(); logout();
}
const error = (data && data.message) || response.statusText;
return Promise.reject(error);
} }
return data; const error = (data && data.message) || response.statusText;
return Promise.reject(error);
} }
return data;
}
); );
}; };
function changePassword(user) {
const header = new Headers({
'Content-Type': 'application/json',
'authorization': authHeader()
});
const options = {
method: 'POST',
headers: header,
body: JSON.stringify({
newPassword: user.newPassword,
})
};
return fetch(`${config.baseURL}users/changePassword`, options)
.then(res => {
if (res.ok) {
return res.json();
} else {
throw new Error('Ops,problem');
}
});
}