mirror of
https://github.com/cpvalente/ontime.git
synced 2026-08-21 23:19:09 +00:00
parseGoogleSheet from db
This commit is contained in:
@@ -17,6 +17,7 @@ import {
|
|||||||
UserFields,
|
UserFields,
|
||||||
EndAction,
|
EndAction,
|
||||||
TimerType,
|
TimerType,
|
||||||
|
GoogleSheet,
|
||||||
} from 'ontime-types';
|
} from 'ontime-types';
|
||||||
|
|
||||||
import fs from 'fs';
|
import fs from 'fs';
|
||||||
@@ -33,6 +34,7 @@ import {
|
|||||||
parseSettings,
|
parseSettings,
|
||||||
parseUserFields,
|
parseUserFields,
|
||||||
parseViewSettings,
|
parseViewSettings,
|
||||||
|
parseGoogleSheet,
|
||||||
} from './parserFunctions.js';
|
} from './parserFunctions.js';
|
||||||
import { parseExcelDate } from './time.js';
|
import { parseExcelDate } from './time.js';
|
||||||
|
|
||||||
@@ -368,6 +370,7 @@ export const parseJson = async (jsonData): Promise<DatabaseModel | null> => {
|
|||||||
returnData.osc = parseOsc(jsonData) ?? dbModel.osc;
|
returnData.osc = parseOsc(jsonData) ?? dbModel.osc;
|
||||||
// Import HTTP settings if any
|
// Import HTTP settings if any
|
||||||
// returnData.http = parseHttp(jsonData, enforce);
|
// returnData.http = parseHttp(jsonData, enforce);
|
||||||
|
returnData.googleSheet = parseGoogleSheet(jsonData, true);
|
||||||
|
|
||||||
return returnData as DatabaseModel;
|
return returnData as DatabaseModel;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import { generateId } from 'ontime-utils';
|
import { generateId } from 'ontime-utils';
|
||||||
import {
|
import {
|
||||||
Alias,
|
Alias,
|
||||||
|
GoogleSheet,
|
||||||
OntimeRundown,
|
OntimeRundown,
|
||||||
OSCSettings,
|
OSCSettings,
|
||||||
OscSubscription,
|
OscSubscription,
|
||||||
@@ -284,3 +285,24 @@ export const parseUserFields = (data): UserFields => {
|
|||||||
}
|
}
|
||||||
return { ...newUserFields };
|
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;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ class sheet {
|
|||||||
ret.worksheet = true;
|
ret.worksheet = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
logger.info(LogOrigin.Server, `Sheet State: ${ret}`);
|
logger.info(LogOrigin.Server, `Sheet State: ${JSON.stringify(ret)}`);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user