aboutsummaryrefslogtreecommitdiff
path: root/src/server/index.ts
diff options
context:
space:
mode:
authorSam Wilkins <samwilkins333@gmail.com>2019-08-13 22:15:47 -0400
committerSam Wilkins <samwilkins333@gmail.com>2019-08-13 22:15:47 -0400
commit2b829d1028a61869858ecd48e2f1801819e17488 (patch)
tree2140fff63d1308d7672b7fec173aa053ae44787a /src/server/index.ts
parent2ed0c3e1203794ddaa0b17ed908432582d0198d1 (diff)
robust google doc export api and cleanup
Diffstat (limited to 'src/server/index.ts')
-rw-r--r--src/server/index.ts25
1 files changed, 17 insertions, 8 deletions
diff --git a/src/server/index.ts b/src/server/index.ts
index 4ccb61681..abaa29658 100644
--- a/src/server/index.ts
+++ b/src/server/index.ts
@@ -42,6 +42,7 @@ import AdmZip from 'adm-zip';
import * as YoutubeApi from "./apis/youtube/youtubeApiSample";
import { Response } from 'express-serve-static-core';
import { GoogleApiServerUtils } from "./apis/google/GoogleApiServerUtils";
+import { GaxiosResponse } from 'gaxios';
const MongoStore = require('connect-mongo')(session);
const mongoose = require('mongoose');
const probe = require("probe-image-size");
@@ -170,6 +171,13 @@ const read_text_file = (relativePath: string) => {
});
};
+const write_text_file = (relativePath: string, contents: any) => {
+ let target = path.join(__dirname, relativePath);
+ return new Promise<void>((resolve, reject) => {
+ fs.writeFile(target, contents, (err) => err ? reject(err) : resolve());
+ });
+};
+
app.get("/version", (req, res) => {
exec('"C:\\Program Files\\Git\\bin\\git.exe" rev-parse HEAD', (err, stdout, stderr) => {
if (err) {
@@ -790,21 +798,22 @@ const credentials = path.join(__dirname, "./credentials/google_docs_credentials.
const token = path.join(__dirname, "./credentials/google_docs_token.json");
app.post(RouteStore.googleDocs + ":action", (req, res) => {
- let parameters = req.body;
-
GoogleApiServerUtils.Docs.GetEndpoint({ credentials, token }).then(endpoint => {
- let results: Promise<any> | undefined;
+ let results: Promise<GaxiosResponse> | undefined;
+ let documents = endpoint.documents;
+ let parameters = req.body;
switch (req.params.action) {
case "create":
- results = endpoint.documents.create(parameters).then(generated => generated.data.documentId);
+ results = documents.create(parameters);
break;
case "retrieve":
- results = endpoint.documents.get(parameters).then(response => response.data);
+ results = documents.get(parameters);
+ break;
+ case "update":
+ results = documents.batchUpdate(parameters);
break;
- default:
- results = undefined;
}
- results && results.then(final => res.send(final));
+ !results ? res.send(undefined) : results.then(response => res.send(response.data));
});
});