Skip to content
This repository was archived by the owner on Sep 4, 2024. It is now read-only.

Commit e1f95c1

Browse files
Refacotored auth controller
1 parent 2537d0d commit e1f95c1

File tree

1 file changed

+22
-42
lines changed

1 file changed

+22
-42
lines changed

controllers/auth.ts

Lines changed: 22 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@ import { Request, Response } from "express";
22
import bcrypt from 'bcrypt';
33
import { AuthenticationError, ServerError } from "../lib/errors";
44
import JWT from "../lib/jwt";
5-
import { getUserByEmail, saveUser, User, userToJSON } from "../models/users";
5+
import { addUserAuthToken, getUserByEmail, saveUser, User, userToJSON } from "../models/users";
6+
import generateSuccessResponse from "../lib/generate-success-response";
67

78
export default class AuthController {
89
static async login(req: Request, res: Response) {
@@ -19,13 +20,10 @@ export default class AuthController {
1920
return res.status(401).json(AuthenticationError((e as Error).message));
2021
}
2122

22-
res.status(200).json({
23-
success: true,
24-
payload: {
25-
data: userToJSON(user),
26-
access_token: JWT.generateAccessToken(user),
27-
token_type: 'bearer'
28-
}
23+
return generateSuccessResponse(res, {
24+
data: userToJSON(user),
25+
access_token: JWT.generateAccessToken(user),
26+
token_type: 'bearer'
2927
});
3028
}
3129

@@ -40,50 +38,32 @@ export default class AuthController {
4038
return res.status(500).json(ServerError((e as Error).message));
4139
}
4240

43-
res.status(201).json({
44-
success: true,
45-
payload: {
46-
data: userToJSON(user),
47-
access_token: JWT.generateAccessToken(user),
48-
token_type: 'bearer'
49-
}
50-
});
41+
return generateSuccessResponse(res, {
42+
data: userToJSON(user),
43+
access_token: JWT.generateAccessToken(user),
44+
token_type: 'bearer'
45+
}, 201);
5146
}
5247

5348
static async logout(req: Request, res: Response) {
54-
// const authUser = req.app.get('authUser') as User;
55-
56-
// try {
57-
// let matches = /^Bearer (.+)$/i.exec(String(req.get('Authorization'))) as RegExpExecArray;
58-
// let token = matches[1].trim();
59-
49+
const authUser = req.app.get('authUser') as User;
6050

61-
// // Add token to list of invalidated tokens.
62-
// let userAuthToken = new UserAuthToken;
63-
// userAuthToken.user_id = authUser.id;
64-
// userAuthToken.token = token;
65-
// await userAuthToken.save();
66-
// } catch (e) {
67-
// res.status(500).json(ServerError((e as Error).message));
68-
// return;
69-
// }
51+
try {
52+
let matches = /^Bearer (.+)$/i.exec(String(req.get('Authorization'))) as RegExpExecArray;
53+
let token = matches[1].trim();
54+
await addUserAuthToken(Number(authUser.id), token);
55+
} catch (e) {
56+
return res.status(500).json(ServerError((e as Error).message));
57+
}
7058

71-
// res.status(200).json({
72-
// success: true,
73-
// payload: {
74-
// data: {}
75-
// }
76-
// });
59+
return generateSuccessResponse(res, {});
7760
}
7861

7962
static async getMe(req: Request, res: Response) {
8063
const user = req.app.get('authUser') as User;
8164

82-
res.json({
83-
success: true,
84-
payload: {
85-
data: userToJSON(user)
86-
}
65+
return generateSuccessResponse(res, {
66+
data: userToJSON(user)
8767
});
8868
}
8969
}

0 commit comments

Comments
 (0)