From 316a9f9cee8745b20d16b4495c7ad7fc86cbb09d Mon Sep 17 00:00:00 2001
From: esikkala <esko.ikkala@aalto.fi>
Date: Mon, 10 May 2021 12:27:12 +0300
Subject: [PATCH] Run translations generator in a separate script

---
 package.json                               |  2 -
 src/server/translations_generator/index.js | 58 ++++++++++++----------
 2 files changed, 33 insertions(+), 27 deletions(-)

diff --git a/package.json b/package.json
index 6dc3deaf..c1eefae1 100644
--- a/package.json
+++ b/package.json
@@ -11,13 +11,11 @@
     "Heikki Rantala"
   ],
   "scripts": {
-    "prebuild": "cross-env BABEL_ENV=node babel-node src/server/translations_generator/index.js",
     "build": "npm run build-client && npm run build-server",
     "build-client": "cross-env BABEL_ENV=browser webpack --progress --config webpack.client.prod.js",
     "build-server": "cross-env BABEL_ENV=node babel src/server --out-dir ./dist/server --copy-files",
     "build-storybook": "build-storybook -c .storybook -o docs",
     "client": "cross-env BABEL_ENV=browser webpack serve --config webpack.client.dev.js",
-    "predev": "cross-env BABEL_ENV=node babel-node src/server/translations_generator/index.js",
     "dev": "concurrently --prefix none --kill-others \"npm run server\" \"npm run client\"",
     "server": "cross-env BABEL_ENV=node NODE_ENV=development nodemon -r dotenv/config src/server/index.js --exec babel-node",
     "sitemap": "cross-env BABEL_ENV=node babel-node src/server/sitemap_generator/SitemapGenerator.js",
diff --git a/src/server/translations_generator/index.js b/src/server/translations_generator/index.js
index 31bb7531..df49fca2 100644
--- a/src/server/translations_generator/index.js
+++ b/src/server/translations_generator/index.js
@@ -19,22 +19,6 @@ const auth = new google.auth.GoogleAuth({
 
 const sheets = google.sheets({ version: 'v4', auth })
 
-// const writeToGoogleSheet = async values => {
-//   try {
-//     const result = await sheets.spreadsheets.values.update({
-//       spreadsheetId,
-//       range: 'A:B',
-//       valueInputOption: 'RAW',
-//       requestBody: {
-//         values
-//       }
-//     })
-//     console.log(result)
-//   } catch (error) {
-//     console.error(error.errors)
-//   }
-// }
-
 const readFromGoogleSheet = async ({ spreadsheetId, ranges }) => {
   try {
     const result = await sheets.spreadsheets.values.batchGet({
@@ -67,6 +51,22 @@ const sheetValueRangesToFlatObject = valueRanges => {
   }, {})
 }
 
+// const writeToGoogleSheet = async values => {
+//   try {
+//     const result = await sheets.spreadsheets.values.update({
+//       spreadsheetId,
+//       range: 'A:B',
+//       valueInputOption: 'RAW',
+//       requestBody: {
+//         values
+//       }
+//     })
+//     console.log(result)
+//   } catch (error) {
+//     console.error(error.errors)
+//   }
+// }
+
 // const flattened = flatten(localeEN)
 
 // Object.keys(flattened).forEach(key => {
@@ -86,13 +86,21 @@ const sheetValueRangesToFlatObject = valueRanges => {
 
 if (readTranslationsFromGoogleSheets) {
   const spreadsheetId = process.env.SHEETS_API_SHEET_ID
-
-  readFromGoogleSheet({ spreadsheetId, ranges: ['Taulukko1!A:A', 'Taulukko1!B:B'] }).then(data => {
-    const flatObject = sheetValueRangesToFlatObject(data)
-    writeToFile('src/client/translations/sampo/localeEN.json', unflatten(flatObject))
-  })
-  readFromGoogleSheet({ spreadsheetId, ranges: ['Taulukko1!A:A', 'Taulukko1!C:C'] }).then(data => {
-    const flatObject = sheetValueRangesToFlatObject(data)
-    writeToFile('src/client/translations/sampo/localeFI.json', unflatten(flatObject))
-  })
+  readFromGoogleSheet({ spreadsheetId, ranges: ['Taulukko1!A:A', 'Taulukko1!B:B'] })
+    .then(data => {
+      if (data) {
+        const flatObject = sheetValueRangesToFlatObject(data)
+        writeToFile('src/client/translations/sampo/localeEN.json', unflatten(flatObject))
+      }
+    })
+    .catch(error => console.error(error))
+
+  readFromGoogleSheet({ spreadsheetId, ranges: ['Taulukko1!A:A', 'Taulukko1!C:C'] })
+    .then(data => {
+      if (data) {
+        const flatObject = sheetValueRangesToFlatObject(data)
+        writeToFile('src/client/translations/sampo/localeFI.json', unflatten(flatObject))
+      }
+    })
+    .catch(error => console.error(error))
 }
-- 
GitLab