All files / src/api/account keys.js

100% Statements 4/4
100% Branches 0/0
100% Functions 2/2
100% Lines 4/4

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 36 37 38 39    2x                                     2x             1x           5x        
// @flow
 
import callGQConsole, { type GQConsoleConf } from '../../service/gq-console';
 
/**
 * Your API keys.
 */
export type AccountKeys = {
  apiKey: string,
  secretKey: string,
};
 
/**
 * Access your API keys from your username and password.
 */
export interface AccountKeysAPI {
  get({ username: string, password: string }): Promise<AccountKeys>;
}
 
export default function keys({ url }: GQConsoleConf): AccountKeysAPI {
  async function get({ username, password }) {
    const result = await callGQConsole(
      { url, apiKey: username, secretKey: password },
      'GET',
      'account-keys',
      { auth: true },
    );
 
    return {
      apiKey: result.api_public_key,
      secretKey: result.api_private_key,
    };
  }
 
  return {
    get,
  };
}