aboutsummaryrefslogtreecommitdiff
path: root/src/server/ApiManagers/SessionManager.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/ApiManagers/SessionManager.ts')
-rw-r--r--src/server/ApiManagers/SessionManager.ts61
1 files changed, 30 insertions, 31 deletions
diff --git a/src/server/ApiManagers/SessionManager.ts b/src/server/ApiManagers/SessionManager.ts
index e37f8c6db..c3139896f 100644
--- a/src/server/ApiManagers/SessionManager.ts
+++ b/src/server/ApiManagers/SessionManager.ts
@@ -1,67 +1,66 @@
-import ApiManager, { Registration } from "./ApiManager";
-import { Method, _permission_denied, AuthorizedCore, SecureHandler } from "../RouteManager";
-import RouteSubscriber from "../RouteSubscriber";
-import { sessionAgent } from "..";
-import { DashSessionAgent } from "../DashSession/DashSessionAgent";
+import ApiManager, { Registration } from './ApiManager';
+import { Method, _permissionDenied, AuthorizedCore, SecureHandler } from '../RouteManager';
+import RouteSubscriber from '../RouteSubscriber';
+import { sessionAgent } from '..';
+import { DashSessionAgent } from '../DashSession/DashSessionAgent';
-const permissionError = "You are not authorized!";
+const permissionError = 'You are not authorized!';
export default class SessionManager extends ApiManager {
-
- private secureSubscriber = (root: string, ...params: string[]) => new RouteSubscriber(root).add("session_key", ...params);
+ private secureSubscriber = (root: string, ...params: string[]) => new RouteSubscriber(root).add('session_key', ...params);
private authorizedAction = (handler: SecureHandler) => {
return (core: AuthorizedCore) => {
- const { req: { params }, res } = core;
+ const {
+ req: { params },
+ res,
+ } = core;
if (!process.env.MONITORED) {
- return res.send("This command only makes sense in the context of a monitored session.");
+ return res.send('This command only makes sense in the context of a monitored session.');
}
if (params.session_key !== process.env.session_key) {
- return _permission_denied(res, permissionError);
+ return _permissionDenied(res, permissionError);
}
return handler(core);
};
- }
+ };
protected initialize(register: Registration): void {
-
register({
method: Method.GET,
- subscription: this.secureSubscriber("debug", "to?"),
+ subscription: this.secureSubscriber('debug', 'to?'),
secureHandler: this.authorizedAction(async ({ req: { params }, res }) => {
const to = params.to || DashSessionAgent.notificationRecipient;
- const { error } = await sessionAgent.serverWorker.emit("debug", { to });
+ const { error } = await sessionAgent.serverWorker.emit('debug', { to });
res.send(error ? error.message : `Your request was successful: the server captured and compressed (but did not save) a new back up. It was sent to ${to}.`);
- })
+ }),
});
register({
method: Method.GET,
- subscription: this.secureSubscriber("backup"),
+ subscription: this.secureSubscriber('backup'),
secureHandler: this.authorizedAction(async ({ res }) => {
- const { error } = await sessionAgent.serverWorker.emit("backup");
- res.send(error ? error.message : "Your request was successful: the server successfully created a new back up.");
- })
+ const { error } = await sessionAgent.serverWorker.emit('backup');
+ res.send(error ? error.message : 'Your request was successful: the server successfully created a new back up.');
+ }),
});
register({
method: Method.GET,
- subscription: this.secureSubscriber("kill"),
+ subscription: this.secureSubscriber('kill'),
secureHandler: this.authorizedAction(({ res }) => {
- res.send("Your request was successful: the server and its session have been killed.");
- sessionAgent.killSession("an authorized user has manually ended the server session via the /kill route");
- })
+ res.send('Your request was successful: the server and its session have been killed.');
+ sessionAgent.killSession('an authorized user has manually ended the server session via the /kill route');
+ }),
});
register({
method: Method.GET,
- subscription: this.secureSubscriber("deleteSession"),
+ subscription: this.secureSubscriber('deleteSession'),
secureHandler: this.authorizedAction(async ({ res }) => {
- const { error } = await sessionAgent.serverWorker.emit("delete");
- res.send(error ? error.message : "Your request was successful: the server successfully deleted the database. Return to /home.");
- })
+ const { error } = await sessionAgent.serverWorker.emit('delete');
+ res.send(error ? error.message : 'Your request was successful: the server successfully deleted the database. Return to /home.');
+ }),
});
-
}
-
-} \ No newline at end of file
+}