aboutsummaryrefslogtreecommitdiff
path: root/src/server/ApiManagers/GeneralGoogleManager.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/ApiManagers/GeneralGoogleManager.ts')
-rw-r--r--src/server/ApiManagers/GeneralGoogleManager.ts19
1 files changed, 13 insertions, 6 deletions
diff --git a/src/server/ApiManagers/GeneralGoogleManager.ts b/src/server/ApiManagers/GeneralGoogleManager.ts
index a5240edbc..f94b77cac 100644
--- a/src/server/ApiManagers/GeneralGoogleManager.ts
+++ b/src/server/ApiManagers/GeneralGoogleManager.ts
@@ -1,10 +1,8 @@
import ApiManager, { Registration } from "./ApiManager";
import { Method, _permission_denied } from "../RouteManager";
import { GoogleApiServerUtils } from "../apis/google/GoogleApiServerUtils";
-import { Database } from "../database";
import RouteSubscriber from "../RouteSubscriber";
-
-const deletionPermissionError = "Cannot perform specialized delete outside of the development environment!";
+import { Database } from "../database";
const EndpointHandlerMap = new Map<GoogleApiServerUtils.Action, GoogleApiServerUtils.ApiRouter>([
["create", (api, params) => api.create(params)],
@@ -20,11 +18,11 @@ export default class GeneralGoogleManager extends ApiManager {
method: Method.GET,
subscription: "/readGoogleAccessToken",
secureHandler: async ({ user, res }) => {
- const token = await GoogleApiServerUtils.retrieveAccessToken(user.id);
- if (!token) {
+ const { credentials } = (await GoogleApiServerUtils.retrieveCredentials(user.id));
+ if (!credentials?.access_token) {
return res.send(GoogleApiServerUtils.generateAuthenticationUrl());
}
- return res.send(token);
+ return res.send(credentials);
}
});
@@ -37,6 +35,15 @@ export default class GeneralGoogleManager extends ApiManager {
});
register({
+ method: Method.GET,
+ subscription: "/revokeGoogleAccessToken",
+ secureHandler: async ({ user, res }) => {
+ await Database.Auxiliary.GoogleAccessToken.Revoke(user.id);
+ res.send();
+ }
+ });
+
+ register({
method: Method.POST,
subscription: new RouteSubscriber("googleDocs").add("sector", "action"),
secureHandler: async ({ req, res, user }) => {