Completely refactor how importTypes work

This commit is contained in:
zkldi
2021-05-13 06:46:26 +01:00
parent 51a69321db
commit 2f053ca617
22 changed files with 272 additions and 150 deletions
+3 -1
View File
@@ -1,10 +1,12 @@
import { Router } from "express";
import authRouter from "./auth/auth";
import importRouter from "./import/import";
import irRouter from "./ir/ir";
const router = Router({ mergeParams: true });
const router: Router = Router({ mergeParams: true });
router.use("/auth", authRouter);
router.use("/import", importRouter);
router.use("/ir", irRouter);
export default router;
+2 -2
View File
@@ -97,8 +97,8 @@ router.post(
}
);
import ParseEamusementCSV from "../../score-import/import-types/file/csv_eamusement-iidx/parser";
import ParseBatchManual from "../../score-import/import-types/file/json_batch-manual/parser";
import ParseEamusementCSV from "../../score-import/import-types/file/csv/eamusement-iidx/parser";
import ParseBatchManual from "../../score-import/import-types/file/json/batch-manual/parser";
/**
* Resolves the data from a file upload into an iterable,
@@ -1,12 +1,39 @@
import { Router } from "express";
import { GetUserWithID } from "../../../core/user-core";
import CreateLogCtx from "../../../logger";
import { RequireLoggedIn } from "../../../middleware/require-logged-in";
import { ExpressWrappedScoreImportMain } from "../../../score-import/framework/express-wrapper";
import ParseDirectManual from "../../../score-import/import-types/ir/json/direct-manual/parser";
const router = Router({ mergeParams: true });
const router: Router = Router({ mergeParams: true });
const logger = CreateLogCtx("direct-manual.ts");
/**
* Imports scores in ir/json:direct-manual form.
* @name /api/ir/direct-manual/import
*/
router.post("/import", RequireLoggedIn, async (req, res) => {});
router.post("/import", RequireLoggedIn, async (req, res) => {
const userDoc = await GetUserWithID(req.session.ktchi!.userID);
if (!userDoc) {
logger.severe(
`User ${req.session.ktchi!.userID} does not have an associated user document.`
);
return res.status(500).json({
success: false,
description: "An internal error has occured.",
});
}
let responseData = await ExpressWrappedScoreImportMain(
userDoc,
true,
"ir/json:direct-manual",
(logger) => ParseDirectManual(req.body, logger)
);
return res.status(responseData.statusCode).json(responseData.body);
});
export default router;
+3
View File
@@ -1,5 +1,8 @@
import { Router } from "express";
import directManualIR from "./direct-manual/direct-manual";
const router: Router = Router({ mergeParams: true });
router.use("/direct-manual", directManualIR);
export default router;