diff --git a/src/middlewares/auth.middleware.ts b/src/middlewares/auth.middleware.ts index 4d4f1c0..18845a6 100644 --- a/src/middlewares/auth.middleware.ts +++ b/src/middlewares/auth.middleware.ts @@ -37,7 +37,7 @@ export const testUser = { avaiblePWRequests: 645, pwRequestCount: 19, created: new Date(), - pw: 'secret', + pw: '5d146f72-e1b8-4440-a6e3-f22f31810316', loginCount: 3, createdBy: 1, } diff --git a/src/modules/api/submodules/userManagement.ts b/src/modules/api/submodules/userManagement.ts index 65969eb..a912a1c 100644 --- a/src/modules/api/submodules/userManagement.ts +++ b/src/modules/api/submodules/userManagement.ts @@ -18,7 +18,7 @@ ------------------------------------------------------------------------- */ -import { v4 as uuidv4 } from 'uuid' +import { v4 as uuidv4, v5 } from 'uuid' import type { Database } from 'better-sqlite3' import logger from '../../../utils/logger' @@ -280,6 +280,36 @@ function setup(data: SubmoduleData): Submodule { }) }) + const name = 'qmining' + app.get( + '/validationtoken', + (req: Request<{ token: string; userid: string }>, res: any) => { + logger.LogReq(req) + const user: User = req.session.user + const { token, userid } = req.query + + if (token && userid) { + const specifiedUser: User = dbtools.Select(userDB, 'users', { + id: +userid, + })[0] + const key = v5(name, specifiedUser.pw) + const isValid = key === token + + res.json({ + result: 'success', + isValid: isValid, + }) + } else { + const key = v5(name, user.pw) + + res.json({ + result: 'success', + key: key, + }) + } + } + ) + function getDayDiff(dateString: string | Date) { const msdiff = new Date().getTime() - new Date(dateString).getTime() return Math.floor(msdiff / (1000 * 3600 * 24)) diff --git a/src/standaloneUtils/rmDuplicates.js b/src/standaloneUtils/rmDuplicates.js index 5daf1d4..f8e0659 100644 --- a/src/standaloneUtils/rmDuplicates.js +++ b/src/standaloneUtils/rmDuplicates.js @@ -372,7 +372,7 @@ function difference({ dbA, dbB }) { hr() log( - `Result length: ${getResultDbLength()}, original length: ${dbLength}, removed ${removedTotal} questions` + `Result length: ${getResultDbLength().toLocaleString()}, original length: ${dbLength.toLocaleString()}, removed ${removedTotal.toLocaleString()} questions` ) return resultDb } diff --git a/submodules/qmining-page b/submodules/qmining-page index ed507dc..3252209 160000 --- a/submodules/qmining-page +++ b/submodules/qmining-page @@ -1 +1 @@ -Subproject commit ed507dc39f5d34703e53585a75a0138e70bcee3a +Subproject commit 32522097c0c0f442e93e00b54ed5dad495f8b093