UNPKG

ter-localization-cli

Version:

Quick and powerful library for localization for react / react native application

123 lines (104 loc) 3.17 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _fs = _interopRequireDefault(require("fs")); var _googleapis = require("googleapis"); var _index = _interopRequireDefault(require("./index")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var SCOPES = ['https://www.googleapis.com/auth/spreadsheets']; var TOKEN_PATH = 'token.json'; var oAuthClient = function oAuthClient() { try { var content = _fs.default.readFileSync('credentials.json'); var credentials = JSON.parse(content); var _credentials$installe = credentials.installed, client_secret = _credentials$installe.client_secret, client_id = _credentials$installe.client_id; return new _googleapis.google.auth.OAuth2(client_id, client_secret, "http://localhost:".concat(_index.default.config().port, "/api/sync/authorization_success")); } catch (error) { return false; } }; var setToken = function setToken(oAuth2Client) { var token = _fs.default.readFileSync(TOKEN_PATH); oAuth2Client.setCredentials(JSON.parse(token)); return oAuth2Client; }; var authorizeUrl = function authorizeUrl() { try { var oAuth2Client = oAuthClient(); var authUrl = oAuth2Client.generateAuthUrl({ access_type: 'online', scope: SCOPES }); return authUrl; } catch (error) { return false; } }; var saveToken = function saveToken(code) { return new Promise(function (resolve, reject) { var oAuth2Client = oAuthClient(); oAuth2Client.getToken(code, function (err, token) { if (err) reject(err); oAuth2Client.setCredentials(token); _fs.default.writeFile(TOKEN_PATH, JSON.stringify(token), function (err) { if (err) reject(err); }); resolve(oAuth2Client); }); }); }; var writeData = function writeData(_ref) { var auth = _ref.auth, spreadsheetId = _ref.spreadsheetId, sheetId = _ref.sheetId, values = _ref.values; return new Promise(function (resolve, reject) { var sheets = _googleapis.google.sheets({ version: 'v4', auth: auth }); sheets.spreadsheets.values.update({ spreadsheetId: spreadsheetId, range: "".concat(sheetId, "!A1"), valueInputOption: 'RAW', resource: { values: values } }, function (err, res) { if (err) reject(err); resolve(res); }); }); }; var readData = function readData(_ref2) { var auth = _ref2.auth, spreadsheetId = _ref2.spreadsheetId, sheetId = _ref2.sheetId; return new Promise(function (resolve, reject) { var sheets = _googleapis.google.sheets({ version: 'v4', auth: auth }); sheets.spreadsheets.values.get({ spreadsheetId: spreadsheetId, range: "".concat(sheetId, "!A1:E") }, function (err, res) { if (err) reject(err); resolve(res); }); }); }; var gSheet = { oAuthClient: oAuthClient, saveToken: saveToken, writeData: writeData, authorizeUrl: authorizeUrl, readData: readData, setToken: setToken }; var _default = gSheet; exports.default = _default;