parseGoogleSheet from db

This commit is contained in:
arc-alex
2023-11-24 16:49:37 +01:00
parent d32d8a547d
commit 111df94d6d
3 changed files with 26 additions and 1 deletions
+3
View File
@@ -17,6 +17,7 @@ import {
UserFields,
EndAction,
TimerType,
GoogleSheet,
} from 'ontime-types';
import fs from 'fs';
@@ -33,6 +34,7 @@ import {
parseSettings,
parseUserFields,
parseViewSettings,
parseGoogleSheet,
} from './parserFunctions.js';
import { parseExcelDate } from './time.js';
@@ -368,6 +370,7 @@ export const parseJson = async (jsonData): Promise<DatabaseModel | null> => {
returnData.osc = parseOsc(jsonData) ?? dbModel.osc;
// Import HTTP settings if any
// returnData.http = parseHttp(jsonData, enforce);
returnData.googleSheet = parseGoogleSheet(jsonData, true);
return returnData as DatabaseModel;
};
+22
View File
@@ -1,6 +1,7 @@
import { generateId } from 'ontime-utils';
import {
Alias,
GoogleSheet,
OntimeRundown,
OSCSettings,
OscSubscription,
@@ -284,3 +285,24 @@ export const parseUserFields = (data): UserFields => {
}
return { ...newUserFields };
};
/**
* Parse Google Sheet portion of an entry
* @param {object} data - data object
* @param {boolean} enforce - whether to create a definition if one is missing
* @returns {object} - event object data
*/
export const parseGoogleSheet = (data, enforce) => {
const newSheet: GoogleSheet = {
id: '',
worksheet: '',
};
if ('googleSheet' in data) {
console.log('Found Google Sheet definition, importing...');
newSheet.id ??= data.googleSheet?.id;
newSheet.worksheet ??= data.googleSheet?.worksheet;
return newSheet;
} else if (enforce) {
return newSheet;
}
};
+1 -1
View File
@@ -42,7 +42,7 @@ class sheet {
ret.worksheet = true;
}
}
logger.info(LogOrigin.Server, `Sheet State: ${ret}`);
logger.info(LogOrigin.Server, `Sheet State: ${JSON.stringify(ret)}`);
return ret;
}