diff --git a/server/src/api/ir/barbatos/barbatos.ts b/server/src/api/ir/barbatos/barbatos.ts new file mode 100644 index 000000000..8bd9f62a0 --- /dev/null +++ b/server/src/api/ir/barbatos/barbatos.ts @@ -0,0 +1,22 @@ +import { Router } from "express"; +import { GetUserWithIDGuaranteed } from "../../../common/user"; +import { RequireLoggedIn } from "../../../middleware/require-logged-in"; +import { ExpressWrappedScoreImportMain } from "../../../score-import/framework/express-wrapper"; +import ParseDirectManual from "../../../score-import/import-types/ir/direct-manual/parser"; + +const router: Router = Router({ mergeParams: true }); + +router.post("/import", RequireLoggedIn, async (req, res) => { + const userDoc = await GetUserWithIDGuaranteed(req.session.ktchi!.userID); + + let responseData = await ExpressWrappedScoreImportMain( + userDoc, + true, + "ir/direct-manual", + (logger) => ParseDirectManual(req.body, logger) + ); + + return res.status(responseData.statusCode).json(responseData.body); +}); + +export default router; diff --git a/server/src/api/ir/direct-manual/direct-manual.ts b/server/src/api/ir/direct-manual/direct-manual.ts index 177f81d0b..4b46a8f60 100644 --- a/server/src/api/ir/direct-manual/direct-manual.ts +++ b/server/src/api/ir/direct-manual/direct-manual.ts @@ -1,5 +1,5 @@ import { Router } from "express"; -import { GetUserWithID } from "../../../core/user-core"; +import { GetUserWithID, GetUserWithIDGuaranteed } from "../../../common/user"; import CreateLogCtx from "../../../logger"; import { RequireLoggedIn } from "../../../middleware/require-logged-in"; import { ExpressWrappedScoreImportMain } from "../../../score-import/framework/express-wrapper"; @@ -14,17 +14,7 @@ const logger = CreateLogCtx("direct-manual.ts"); * @name /api/ir/direct-manual/import */ 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.", - }); - } + const userDoc = await GetUserWithIDGuaranteed(req.session.ktchi!.userID); let responseData = await ExpressWrappedScoreImportMain( userDoc,