feat: succesfully write data to google sheet

This commit is contained in:
karishmas6
2024-10-18 00:29:21 +05:30
parent 3eddc87f21
commit 096a5fdf2c

View File

@@ -40,14 +40,15 @@ export async function updateGoogleSheet(robotId: string, runId: string) {
try { try {
const run = await Run.findOne({ where: { runId } }); const run = await Run.findOne({ where: { runId } });
console.log('Run found:', run);
if (!run) { if (!run) {
throw new Error(`Run not found for runId: ${runId}`); throw new Error(`Run not found for runId: ${runId}`);
} }
if (run.status === 'success' && run.serializableOutput) { const plainRun = run.toJSON();
const data = run.serializableOutput['item-0'] as { [key: string]: any }[];
if (plainRun.status === 'success' && plainRun.serializableOutput) {
const data = plainRun.serializableOutput['item-0'] as { [key: string]: any }[];
console.log('Serializable output data:', data); console.log('Serializable output data:', data);
const robot = await Robot.findOne({ where: { 'recording_meta.id': robotId } }); const robot = await Robot.findOne({ where: { 'recording_meta.id': robotId } });
@@ -57,8 +58,10 @@ export async function updateGoogleSheet(robotId: string, runId: string) {
throw new Error(`Robot not found for robotId: ${robotId}`); throw new Error(`Robot not found for robotId: ${robotId}`);
} }
const spreadsheetId = robot.google_sheet_id; const plainRobot = robot.toJSON();
if (robot.google_sheet_email && spreadsheetId) {
const spreadsheetId = plainRobot.google_sheet_id;
if (plainRobot.google_sheet_email && spreadsheetId) {
console.log(`Preparing to write data to Google Sheet for robot: ${robotId}, spreadsheetId: ${spreadsheetId}`); console.log(`Preparing to write data to Google Sheet for robot: ${robotId}, spreadsheetId: ${spreadsheetId}`);
const headers = Object.keys(data[0]); const headers = Object.keys(data[0]);
@@ -89,7 +92,9 @@ export async function writeDataToSheet(robotId: string, spreadsheetId: string, d
throw new Error(`Robot not found for robotId: ${robotId}`); throw new Error(`Robot not found for robotId: ${robotId}`);
} }
if (!robot.google_access_token || !robot.google_refresh_token) { const plainRobot = robot.toJSON();
if (!plainRobot.google_access_token || !plainRobot.google_refresh_token) {
throw new Error('Google Sheets access not configured for user'); throw new Error('Google Sheets access not configured for user');
} }
@@ -100,8 +105,8 @@ export async function writeDataToSheet(robotId: string, spreadsheetId: string, d
); );
oauth2Client.setCredentials({ oauth2Client.setCredentials({
access_token: robot.google_access_token, access_token: plainRobot.google_access_token,
refresh_token: robot.google_refresh_token, refresh_token: plainRobot.google_refresh_token,
}); });
// Log tokens and any refresh activity // Log tokens and any refresh activity