aboutsummaryrefslogtreecommitdiff
path: root/src/server/ApiManagers/DataVizManager.ts
diff options
context:
space:
mode:
authorbobzel <zzzman@gmail.com>2023-05-10 11:14:57 -0400
committerbobzel <zzzman@gmail.com>2023-05-10 11:14:57 -0400
commit53273651cc8ed0f9e073fa30590e0bb172e492e8 (patch)
treef6b1fd36f99bfa951b99da8ab0e8c70560b031b5 /src/server/ApiManagers/DataVizManager.ts
parentabcf1167340f9f411e7712d11f2110625b0938d8 (diff)
parent97a743455e7fa3eee768b1d4d025b9dedc49f370 (diff)
Merge branch 'master' into collaboration-sarah
Diffstat (limited to 'src/server/ApiManagers/DataVizManager.ts')
-rw-r--r--src/server/ApiManagers/DataVizManager.ts26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/server/ApiManagers/DataVizManager.ts b/src/server/ApiManagers/DataVizManager.ts
new file mode 100644
index 000000000..0d43130d1
--- /dev/null
+++ b/src/server/ApiManagers/DataVizManager.ts
@@ -0,0 +1,26 @@
+import { csvParser, csvToString } from "../DataVizUtils";
+import { Method, _success } from "../RouteManager";
+import ApiManager, { Registration } from "./ApiManager";
+import { Directory, serverPathToFile } from "./UploadManager";
+import * as path from 'path';
+
+export default class DataVizManager extends ApiManager {
+ protected initialize(register: Registration): void {
+ register({
+ method: Method.GET,
+ subscription: "/csvData",
+ secureHandler: async ({ req, res }) => {
+ const uri = req.query.uri as string;
+
+ return new Promise<void>(resolve => {
+ const name = path.basename(uri);
+ const sPath = serverPathToFile(Directory.csv, name);
+ const parsedCsv = csvParser(csvToString(sPath));
+ _success(res, parsedCsv);
+ resolve();
+ });
+ }
+ });
+ }
+
+} \ No newline at end of file