(core) Export to Excel and Send to drive

Summary:
Implementing export to excel and send to Google Drive feature.

As part of this feature few things were implemented:
- Server side google authentication exposed on url: (docs, docs-s, or localhost:8080)/auth/google
- Exporting grist documents as an excel file (xlsx)
- Storing exported grist document (in excel format) in Google Drive as a spreadsheet document.

Server side google authentication requires one new environmental variables
- GOOGLE_CLIENT_SECRET (required) used by authentication handler

Test Plan: Browser tests for exporting to excel.

Reviewers: paulfitz, dsagal

Reviewed By: paulfitz

Differential Revision: https://phab.getgrist.com/D2924
This commit is contained in:
Jarosław Sadziński
2021-07-21 10:46:03 +02:00
parent 9cc034f606
commit 08295a696b
20 changed files with 1182 additions and 187 deletions

View File

@@ -133,7 +133,7 @@ export function undef<T extends Array<any>>(...list: T): Undef<T> {
*/
export function safeJsonParse(json: string, defaultVal: any): any {
try {
return JSON.parse(json);
return json !== '' && json !== undefined ? JSON.parse(json) : defaultVal;
} catch (e) {
return defaultVal;
}