UNPKG

node-proxy-service

Version:
97 lines (72 loc) 3.68 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.handleMovesRefreshAccessTokenRequest = exports.handleMovesAccessTokenRequest = undefined; var _axios = require('axios'); var _axios2 = _interopRequireDefault(_axios); var _winston = require('winston'); var _winston2 = _interopRequireDefault(_winston); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var handleMovesAccessTokenRequest = function handleMovesAccessTokenRequest(request, response) { _winston2.default.log('info', 'Received moves access token request at ' + new Date().getTime()); var body = request.body; if (body && body.authorization_code) { _winston2.default.log('info', 'Making request to Moves API at ' + new Date().getTime()); _axios2.default.post('https://api.moves-app.com/oauth/v1/access_token', {}, { params: { grant_type: 'authorization_code', code: body.authorization_code, client_id: process.env.MOVES_CLI_CLIENT_ID, client_secret: process.env.MOVES_CLI_CLIENT_SECRET } }).then(function (data) { _winston2.default.log('info', 'Moves API Request successful response at ' + new Date().getTime()); return response.status(data.status).send(data.data); }).catch(function (error) { _winston2.default.log('error', 'Moves API Request error at ' + new Date().getTime()); _winston2.default.log('error', 'Moves API Request error ' + error); if (error.response) { return response.status(error.response.status).send(error.response.data); } else if (error.request) { return response.status(400).send({ error: 'Request sent but no response received' }); } return response.status(500).send({ error: 'Unexpected error' }); }); } else { _winston2.default.log('error', 'Invalid parameter: ' + body); response.status(400).send({ error: 'Invalid parameter' }); } }; var handleMovesRefreshAccessTokenRequest = function handleMovesRefreshAccessTokenRequest(request, response) { _winston2.default.log('info', 'Received Moves refresh access token request at ' + new Date().getTime()); var body = request.body; if (body && body.refresh_access_token) { _winston2.default.log('info', 'Making request to Moves API at ' + new Date().getTime()); _axios2.default.post('https://api.moves-app.com/oauth/v1/', {}, { params: { grant_type: 'refresh_token', refresh_token: body.refresh_access_token, client_id: process.env.MOVES_CLI_CLIENT_ID, client_secret: process.env.MOVES_CLI_CLIENT_SECRET } }).then(function (data) { _winston2.default.log('info', 'Moves API Request successful response at ' + new Date().getTime()); return response.status(data.status).send(data.data); }).catch(function (error) { _winston2.default.log('error', 'Moves API Request error at ' + new Date().getTime()); _winston2.default.log('error', 'Moves API Request error ' + error); if (error.response) { return response.status(error.response.status).send(error.response.data); } else if (error.request) { return response.status(400).send({ error: 'Request sent but no response received' }); } return response.status(500).send({ error: 'Unexpected error' }); }); } else { _winston2.default.log('error', 'Invalid parameter: ' + JSON.stringify(body)); response.status(400).send({ error: 'Invalid parameter' }); } }; exports.handleMovesAccessTokenRequest = handleMovesAccessTokenRequest; exports.handleMovesRefreshAccessTokenRequest = handleMovesRefreshAccessTokenRequest;