UNPKG

gatsby-source-cloudbase-cms

Version:

Gatsby source plugin for building websites using CloudBase CMS as a data source

34 lines (26 loc) 991 B
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); var _fp = require("lodash/fp"); var _axios = _interopRequireDefault(require("axios")); module.exports = async ({ loginData, reporter, apiURL }) => { const validIndentifier = (0, _fp.has)('identifier', loginData) && loginData.identifier.length !== 0; const validPassword = (0, _fp.has)('password', loginData) && loginData.password.length !== 0; if (validIndentifier && validPassword) { const authenticationActivity = reporter.activityTimer(`Authenticate CloudBase User`); authenticationActivity.start(); // Make API request. try { const loginResponse = await _axios.default.post(`${apiURL}/auth/local`, loginData); authenticationActivity.end(); if ((0, _fp.has)('data', loginResponse)) { return loginResponse.data.jwt; } } catch (e) { reporter.panic('CloudBase authentication error: ' + e); } } return null; };