@@ -2,7 +2,8 @@ import { Request, Response } from "express";
22import bcrypt from 'bcrypt' ;
33import { AuthenticationError , ServerError } from "../lib/errors" ;
44import 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
78export 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 = / ^ B e a r e r ( .+ ) $ / 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