forked from OpenWF/SpaceNinjaServer
chore: remove toLoginRequest (#651)
This commit is contained in:
parent
9e21105474
commit
25c8179a88
@ -1,20 +1,16 @@
|
|||||||
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
||||||
import { RequestHandler } from "express";
|
import { RequestHandler } from "express";
|
||||||
|
|
||||||
import { config } from "@/src/services/configService";
|
import { config } from "@/src/services/configService";
|
||||||
import buildConfig from "@/static/data/buildConfig.json";
|
import buildConfig from "@/static/data/buildConfig.json";
|
||||||
|
|
||||||
import { toLoginRequest } from "@/src/helpers/loginHelpers";
|
|
||||||
import { Account } from "@/src/models/loginModel";
|
import { Account } from "@/src/models/loginModel";
|
||||||
import { createAccount, isCorrectPassword, isNameTaken } from "@/src/services/loginService";
|
import { createAccount, isCorrectPassword, isNameTaken } from "@/src/services/loginService";
|
||||||
import { IDatabaseAccountJson, ILoginResponse } from "@/src/types/loginTypes";
|
import { IDatabaseAccountJson, ILoginRequest, ILoginResponse } from "@/src/types/loginTypes";
|
||||||
import { DTLS, groups, HUB, platformCDNs } from "@/static/fixed_responses/login_static";
|
import { DTLS, groups, HUB, platformCDNs } from "@/static/fixed_responses/login_static";
|
||||||
import { logger } from "@/src/utils/logger";
|
import { logger } from "@/src/utils/logger";
|
||||||
|
|
||||||
export const loginController: RequestHandler = async (request, response) => {
|
export const loginController: RequestHandler = async (request, response) => {
|
||||||
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-argument
|
const loginRequest = JSON.parse(String(request.body)) as ILoginRequest; // parse octet stream of json data to json object
|
||||||
const body = JSON.parse(request.body); // parse octet stream of json data to json object
|
|
||||||
const loginRequest = toLoginRequest(body);
|
|
||||||
|
|
||||||
const account = await Account.findOne({ email: loginRequest.email }); //{ _id: 0, __v: 0 }
|
const account = await Account.findOne({ email: loginRequest.email }); //{ _id: 0, __v: 0 }
|
||||||
const nonce = Math.round(Math.random() * Number.MAX_SAFE_INTEGER);
|
const nonce = Math.round(Math.random() * Number.MAX_SAFE_INTEGER);
|
||||||
|
@ -1,35 +0,0 @@
|
|||||||
import { ILoginRequest } from "@/src/types/loginTypes";
|
|
||||||
import { parseEmail, parseNumber, parseString } from "./general";
|
|
||||||
|
|
||||||
const toLoginRequest = (loginRequest: unknown): ILoginRequest => {
|
|
||||||
if (!loginRequest || typeof loginRequest !== "object") {
|
|
||||||
throw new Error("incorrect or missing login request data");
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO: function that checks whether every field of interface is in object
|
|
||||||
if (
|
|
||||||
"email" in loginRequest &&
|
|
||||||
"password" in loginRequest &&
|
|
||||||
"time" in loginRequest &&
|
|
||||||
"s" in loginRequest &&
|
|
||||||
"lang" in loginRequest &&
|
|
||||||
"date" in loginRequest &&
|
|
||||||
"ClientType" in loginRequest &&
|
|
||||||
"PS" in loginRequest
|
|
||||||
) {
|
|
||||||
return {
|
|
||||||
email: parseEmail(loginRequest.email),
|
|
||||||
password: parseString(loginRequest.password),
|
|
||||||
time: parseNumber(loginRequest.time),
|
|
||||||
s: parseString(loginRequest.s),
|
|
||||||
lang: parseString(loginRequest.lang),
|
|
||||||
date: parseNumber(loginRequest.date),
|
|
||||||
ClientType: parseString(loginRequest.ClientType),
|
|
||||||
PS: parseString(loginRequest.PS)
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
throw new Error("incorrect login request");
|
|
||||||
};
|
|
||||||
|
|
||||||
export { toLoginRequest };
|
|
Loading…
x
Reference in New Issue
Block a user