aboutsummaryrefslogtreecommitdiff
path: root/src/server
diff options
context:
space:
mode:
Diffstat (limited to 'src/server')
-rw-r--r--src/server/ActionUtilities.ts8
-rw-r--r--src/server/ApiManagers/DownloadManager.ts (renamed from src/server/ApiManagers/ExportManager.ts)0
-rw-r--r--src/server/ApiManagers/GeneralGoogleManager.ts16
-rw-r--r--src/server/ApiManagers/GooglePhotosManager.ts1
-rw-r--r--src/server/apis/google/GoogleApiServerUtils.ts12
-rw-r--r--src/server/authentication/config/passport.ts2
-rw-r--r--src/server/credentials/google_project_credentials.json11
-rw-r--r--src/server/index.ts13
8 files changed, 30 insertions, 33 deletions
diff --git a/src/server/ActionUtilities.ts b/src/server/ActionUtilities.ts
index 9a009791b..b418772a6 100644
--- a/src/server/ActionUtilities.ts
+++ b/src/server/ActionUtilities.ts
@@ -25,4 +25,10 @@ export const write_text_file = (relativePath: string, contents: any) => {
return new Promise<void>((resolve, reject) => {
fs.writeFile(target, contents, (err) => err ? reject(err) : resolve());
});
-}; \ No newline at end of file
+};
+
+export async function log_execution(startMessage: string, endMessage: string, contents: () => void | Promise<void>) {
+ console.log('\x1b[36m%s\x1b[0m', `${startMessage}...`);
+ await contents();
+ console.log(endMessage);
+} \ No newline at end of file
diff --git a/src/server/ApiManagers/ExportManager.ts b/src/server/ApiManagers/DownloadManager.ts
index fc6ba0d22..fc6ba0d22 100644
--- a/src/server/ApiManagers/ExportManager.ts
+++ b/src/server/ApiManagers/DownloadManager.ts
diff --git a/src/server/ApiManagers/GeneralGoogleManager.ts b/src/server/ApiManagers/GeneralGoogleManager.ts
index 89efebf78..171912185 100644
--- a/src/server/ApiManagers/GeneralGoogleManager.ts
+++ b/src/server/ApiManagers/GeneralGoogleManager.ts
@@ -5,11 +5,7 @@ import { Database } from "../database";
import RouteSubscriber from "../RouteSubscriber";
const deletionPermissionError = "Cannot perform specialized delete outside of the development environment!";
-const ServicesApiKeyMap = new Map<string, string | undefined>([
- ["face", process.env.FACE],
- ["vision", process.env.VISION],
- ["handwriting", process.env.HANDWRITING]
-]);
+
const EndpointHandlerMap = new Map<GoogleApiServerUtils.Action, GoogleApiServerUtils.ApiRouter>([
["create", (api, params) => api.create(params)],
["retrieve", (api, params) => api.get(params)],
@@ -54,15 +50,6 @@ export default class GeneralGoogleManager extends ApiManager {
});
register({
- method: Method.GET,
- subscription: new RouteSubscriber("/cognitiveServices").add('requestedservice'),
- onValidation: ({ req, res }) => {
- let service = req.params.requestedservice;
- res.send(ServicesApiKeyMap.get(service));
- }
- });
-
- register({
method: Method.POST,
subscription: new RouteSubscriber("/googleDocs").add("sector", "action"),
onValidation: async ({ req, res, user }) => {
@@ -79,5 +66,6 @@ export default class GeneralGoogleManager extends ApiManager {
res.send(undefined);
}
});
+
}
} \ No newline at end of file
diff --git a/src/server/ApiManagers/GooglePhotosManager.ts b/src/server/ApiManagers/GooglePhotosManager.ts
index 67eb92a18..c7af69375 100644
--- a/src/server/ApiManagers/GooglePhotosManager.ts
+++ b/src/server/ApiManagers/GooglePhotosManager.ts
@@ -110,5 +110,6 @@ export default class GooglePhotosManager extends ApiManager {
_invalid(res, requestError);
}
});
+
}
} \ No newline at end of file
diff --git a/src/server/apis/google/GoogleApiServerUtils.ts b/src/server/apis/google/GoogleApiServerUtils.ts
index b3657ee43..b0f3ba993 100644
--- a/src/server/apis/google/GoogleApiServerUtils.ts
+++ b/src/server/apis/google/GoogleApiServerUtils.ts
@@ -48,7 +48,7 @@ export namespace GoogleApiServerUtils {
* allow us to build OAuth2 clients with Dash's
* application specific credentials.
*/
- let installed: OAuth2ClientOptions;
+ let oAuthOptions: OAuth2ClientOptions;
/**
* This is a global authorization client that is never
@@ -69,7 +69,7 @@ export namespace GoogleApiServerUtils {
export function processProjectCredentials(): void {
const { client_secret, client_id, redirect_uris } = GoogleCredentialsLoader.ProjectCredentials;
// initialize the global authorization client
- installed = {
+ oAuthOptions = {
clientId: client_id,
clientSecret: client_secret,
redirectUri: redirect_uris[0]
@@ -201,7 +201,7 @@ export namespace GoogleApiServerUtils {
* @returns the newly created, potentially certified, OAuth2 client instance
*/
function generateClient(credentials?: Credentials): OAuth2Client {
- const client = new google.auth.OAuth2(installed);
+ const client = new google.auth.OAuth2(oAuthOptions);
credentials && client.setCredentials(credentials);
return client;
}
@@ -341,10 +341,12 @@ export namespace GoogleApiServerUtils {
*/
async function refreshAccessToken(credentials: Credentials, userId: string): Promise<Credentials> {
let headerParameters = { headers: { 'Content-Type': 'application/x-www-form-urlencoded' } };
+ const { client_id, client_secret } = GoogleCredentialsLoader.ProjectCredentials;
let url = `https://oauth2.googleapis.com/token?${qs.stringify({
refreshToken: credentials.refresh_token,
- grant_type: "refresh_token",
- ...installed
+ client_id,
+ client_secret,
+ grant_type: "refresh_token"
})}`;
const { access_token, expires_in } = await new Promise<any>(async resolve => {
const response = await request.post(url, headerParameters);
diff --git a/src/server/authentication/config/passport.ts b/src/server/authentication/config/passport.ts
index 0b15c3a36..726df7fd7 100644
--- a/src/server/authentication/config/passport.ts
+++ b/src/server/authentication/config/passport.ts
@@ -40,7 +40,7 @@ export let isAuthenticated = (req: Request, res: Response, next: NextFunction) =
export let isAuthorized = (req: Request, res: Response, next: NextFunction) => {
const provider = req.path.split("/").slice(-1)[0];
- if (_.find((req.user).tokens, { kind: provider })) {
+ if (_.find((req.user as any).tokens!, { kind: provider })) {
next();
} else {
res.redirect(`/auth/${provider}`);
diff --git a/src/server/credentials/google_project_credentials.json b/src/server/credentials/google_project_credentials.json
index 5d9c62eb1..955c5a3c1 100644
--- a/src/server/credentials/google_project_credentials.json
+++ b/src/server/credentials/google_project_credentials.json
@@ -1,14 +1,11 @@
{
"installed": {
- "client_id": "1005546247619-kqpnvh42mpa803tem8556b87umi4j9r0.apps.googleusercontent.com",
- "project_id": "brown-dash",
+ "client_id": "343179513178-ud6tvmh275r2fq93u9eesrnc66t6akh9.apps.googleusercontent.com",
+ "project_id": "quickstart-1565056383187",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://oauth2.googleapis.com/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
- "client_secret": "WshLb5TH9SdFVGGbQcnYj7IU",
- "redirect_uris": [
- "urn:ietf:wg:oauth:2.0:oob",
- "http://localhost"
- ]
+ "client_secret": "w8KIFSc0MQpmUYHed4qEzn8b",
+ "redirect_uris": ["urn:ietf:wg:oauth:2.0:oob", "http://localhost"]
}
} \ No newline at end of file
diff --git a/src/server/index.ts b/src/server/index.ts
index 773b84403..01ebf0ac1 100644
--- a/src/server/index.ts
+++ b/src/server/index.ts
@@ -13,11 +13,12 @@ import UtilManager from './ApiManagers/UtilManager';
import SearchManager from './ApiManagers/SearchManager';
import UserManager from './ApiManagers/UserManager';
import { WebSocket } from './Websocket/Websocket';
-import DownloadManager from './ApiManagers/ExportManager';
+import DownloadManager from './ApiManagers/DownloadManager';
import { GoogleCredentialsLoader } from './credentials/CredentialsLoader';
import DeleteManager from "./ApiManagers/DeleteManager";
import PDFManager from "./ApiManagers/PDFManager";
import UploadManager from "./ApiManagers/UploadManager";
+import { log_execution } from "./ActionUtilities";
import GeneralGoogleManager from "./ApiManagers/GeneralGoogleManager";
import GooglePhotosManager from "./ApiManagers/GooglePhotosManager";
@@ -55,8 +56,7 @@ async function preliminaryFunctions() {
* with the server
*/
function routeSetter(router: RouteManager) {
- // initialize API Managers
- [
+ const managers = [
new UserManager(),
new UploadManager(),
new DownloadManager(),
@@ -66,7 +66,10 @@ function routeSetter(router: RouteManager) {
new UtilManager(),
new GeneralGoogleManager(),
new GooglePhotosManager(),
- ].forEach(manager => manager.register(router));
+ ];
+
+ // initialize API Managers
+ managers.forEach(manager => manager.register(router));
// initialize the web socket (bidirectional communication: if a user changes
// a field on one client, that change must be broadcast to all other clients)
@@ -103,6 +106,6 @@ function routeSetter(router: RouteManager) {
}
(async function start() {
- await preliminaryFunctions();
+ await log_execution("starting execution of preliminary functions", "completed preliminary functions", preliminaryFunctions);
await initializeServer({ listenAtPort: 1050, routeSetter });
})();