allow running without API_KEY env

This commit is contained in:
Jill 2024-02-29 12:55:33 +03:00
parent 8550458ff1
commit aafe27d551
3 changed files with 27 additions and 10 deletions

12
ids.js
View File

@ -93,11 +93,17 @@ async function fetchLevels(sheet) {
return levelObjs; return levelObjs;
} }
const doc = new GoogleSpreadsheet(IDS_ID, { apiKey: process.env.API_KEY }); let doc;
await doc.loadInfo(); // loads document properties and worksheets
console.log('loaded IDS spreadsheet'); export async function loadSpreadsheet() {
doc = new GoogleSpreadsheet(IDS_ID, { apiKey: process.env.API_KEY });
await doc.loadInfo(); // loads document properties and worksheets
console.log('loaded IDS spreadsheet');
}
export async function fetchAllLevels() { export async function fetchAllLevels() {
if (!doc) await loadSpreadsheet();
console.log('fetching IDS levels'); console.log('fetching IDS levels');
return { return {
regular: await fetchLevels(doc.sheetsById[IDS_REGULAR_LEVELS_ID]), regular: await fetchLevels(doc.sheetsById[IDS_REGULAR_LEVELS_ID]),

View File

@ -52,10 +52,15 @@ async function saveCache() {
} }
async function fetchSheets() { async function fetchSheets() {
const nlw = await fetchNLWLevels(); if (!process.env.API_KEY || process.env.API_KEY === '') {
const ids = await fetchIDSLevels(); console.warn('! API_KEY not set, going to rely on cache');
levels = { nlw, ids, metadata: levels.metadata }; } else {
await saveCache(); const nlw = await fetchNLWLevels();
const ids = await fetchIDSLevels();
levels = { nlw, ids, metadata: levels.metadata };
await saveCache();
}
await loadupMetadataQueue(); await loadupMetadataQueue();
} }

12
nlw.js
View File

@ -127,11 +127,17 @@ async function fetchLevels(sheet, platformer, pending) {
return levelObjs; return levelObjs;
} }
const doc = new GoogleSpreadsheet(NLW_ID, { apiKey: process.env.API_KEY }); let doc;
await doc.loadInfo(); // loads document properties and worksheets
console.log('loaded NLW spreadsheet'); async function loadSpreadsheet() {
doc = new GoogleSpreadsheet(NLW_ID, { apiKey: process.env.API_KEY });
await doc.loadInfo(); // loads document properties and worksheets
console.log('loaded NLW spreadsheet');
}
export async function fetchAllLevels() { export async function fetchAllLevels() {
if (!doc) await loadSpreadsheet();
console.log('fetching NLW levels'); console.log('fetching NLW levels');
return { return {
regular: await fetchLevels(doc.sheetsById[NLW_REGULAR_LEVELS_ID], false, false), regular: await fetchLevels(doc.sheetsById[NLW_REGULAR_LEVELS_ID], false, false),