All files / src/api/account password.js

100% Statements 5/5
100% Branches 0/0
100% Functions 3/3
100% Lines 5/5

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35                                5x   1x       1x       1x       1x        
// @flow
 
import { type Caller } from '.';
 
/**
 * Manage your password.
 */
export interface AccountPasswordAPI {
  change({
    newPassword: string,
    oldPassword: string,
  }): Promise<string>;
  reset(email: string): Promise<string>;
}
 
export default function password(call: Caller): AccountPasswordAPI {
  return {
    async change({ newPassword, oldPassword }) {
      await call('POST', 'account/change_password', {
        data: { old_password: oldPassword, password1: newPassword },
      });
 
      return newPassword;
    },
 
    async reset(email) {
      await call('POST', 'account/password_reset_request', {
        data: { email },
      });
 
      return email;
    },
  };
}