aboutsummaryrefslogtreecommitdiff
path: root/src/server
diff options
context:
space:
mode:
authorbob <bcz@cs.brown.edu>2020-02-11 20:08:48 -0500
committerbob <bcz@cs.brown.edu>2020-02-11 20:08:48 -0500
commit70072552bad2b82134fb6017c1435b6ea36548ab (patch)
tree58172e8cc48cb8a8c609f47b7dddea580e6ddf3b /src/server
parent99f66f02c64a195c77b6aa1780855104064fbda1 (diff)
parent6ae936260ac88860db4f060a0f3ae562a2d9ac66 (diff)
Merge branch 'master' of https://github.com/browngraphicslab/Dash-Web
Diffstat (limited to 'src/server')
-rw-r--r--src/server/ApiManagers/SessionManager.ts9
-rw-r--r--src/server/DashSession/DashSessionAgent.ts1
2 files changed, 10 insertions, 0 deletions
diff --git a/src/server/ApiManagers/SessionManager.ts b/src/server/ApiManagers/SessionManager.ts
index f1629b8f0..bcaa6598f 100644
--- a/src/server/ApiManagers/SessionManager.ts
+++ b/src/server/ApiManagers/SessionManager.ts
@@ -53,6 +53,15 @@ export default class SessionManager extends ApiManager {
})
});
+ register({
+ method: Method.GET,
+ subscription: this.secureSubscriber("delete"),
+ 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.");
+ })
+ });
+
}
} \ No newline at end of file
diff --git a/src/server/DashSession/DashSessionAgent.ts b/src/server/DashSession/DashSessionAgent.ts
index 85bfe14de..1ed98cdbe 100644
--- a/src/server/DashSession/DashSessionAgent.ts
+++ b/src/server/DashSession/DashSessionAgent.ts
@@ -37,6 +37,7 @@ export class DashSessionAgent extends AppliedSessionAgent {
monitor.addReplCommand("debug", [/\S+\@\S+/], async ([to]) => this.dispatchZippedDebugBackup(to));
monitor.on("backup", this.backup);
monitor.on("debug", async ({ to }) => this.dispatchZippedDebugBackup(to));
+ monitor.on("delete", WebSocket.deleteFields);
monitor.coreHooks.onCrashDetected(this.dispatchCrashReport);
return sessionKey;
}