feat(services): update user.service.ts
for better error handling and debugging
The updated `user.service.ts` now includes better error handling using optional chaining and also generates a JSDoc definition for HTML status codes. An extra logger trace has also been added, which provides token related information in debug mode. This will capture user login token details for debugging purposes. Also cleaned up code formatting for readability. Issue: #18 Signed-off-by: Mathis <yidhra@tuta.io>
This commit is contained in:
parent
b66a5aff6d
commit
8644b5add6
@ -5,9 +5,9 @@ import { ErrorType, type ISError } from "@interfaces/services/ISError";
|
||||
import CredentialService from "@services/credential.service";
|
||||
import JwtService from "@services/jwt.service";
|
||||
import MySqlService from "@services/mysql.service";
|
||||
import { isDebugMode } from "@utils/debugState";
|
||||
import { Logger } from "tslog";
|
||||
import { v4 } from "uuid";
|
||||
import {isDebugMode} from "@utils/debugState";
|
||||
|
||||
const logger = new Logger({
|
||||
name: "UserService",
|
||||
@ -203,7 +203,7 @@ async function login(inputData: IReqLogin): Promise<ISError | string> {
|
||||
message: dbUser.message,
|
||||
};
|
||||
}
|
||||
if (!dbUser.id) {
|
||||
if (!dbUser?.id) {
|
||||
return {
|
||||
error: ErrorType.NotFound,
|
||||
message: "User not found.",
|
||||
@ -219,6 +219,7 @@ async function login(inputData: IReqLogin): Promise<ISError | string> {
|
||||
message: "Invalid password.",
|
||||
};
|
||||
}
|
||||
// Generate the JSDoc definition for those html status code
|
||||
const token = await JwtService.sign(
|
||||
{
|
||||
sub: dbUser.id,
|
||||
@ -235,6 +236,10 @@ async function login(inputData: IReqLogin): Promise<ISError | string> {
|
||||
"1d",
|
||||
"user",
|
||||
);
|
||||
if (isDebugMode())
|
||||
logger.trace(
|
||||
`\n\n> New token for login of "${dbUser.username}".\n${token}`,
|
||||
);
|
||||
return token;
|
||||
} catch (err) {
|
||||
logger.error(`\n\n${err}\n`);
|
||||
|
Loading…
x
Reference in New Issue
Block a user