1
1
const jwt = require ( "jsonwebtoken" ) ;
2
2
3
- // Constants .
3
+ // JWT constants .
4
4
const JWT_PRIVATE_KEY = process . env . JWT_PRIVATE_KEY ;
5
- const JWT_EXPIRATION_TIME = "1h" ;
5
+ const JWT_EXPIRATION_TIME_IN_HOURS = "1h" ;
6
+ const JWT_RS256_ALGORITHM = "RS256" ;
7
+
8
+ // HTTP constants.
9
+ const HTTP_SUCCESS_STATUS_CODE = 200 ;
10
+ const HTTP_BAD_REQUEST_STATUS_CODE = 400 ;
11
+ const HTTP_INTERNAL_SERVER_ERROR_STATUS_CODE = 500 ;
12
+ const HTTP_HEADER_CONTENT_TYPE_KEY = "content-type" ;
13
+ const HTTP_HEADER_JSON_CONTENT_TYPE = "application/json" ;
14
+
15
+ // General constants.
16
+ const STRING_TYPE = "string" ;
6
17
7
18
exports . handler = async ( event ) => {
8
19
try {
9
20
// Gets event body.
10
21
const body =
11
- typeof event . body === "string" ? JSON . parse ( event . body ) : event . body ;
22
+ typeof event . body === STRING_TYPE ? JSON . parse ( event . body ) : event . body ;
12
23
13
24
// Client will be identified by national id.
14
25
const nationalId = body . nationalId ;
15
26
16
27
if ( ! nationalId ) {
17
28
return {
18
- statusCode : 400 ,
29
+ statusCode : HTTP_BAD_REQUEST_STATUS_CODE ,
19
30
} ;
20
31
}
21
32
} catch ( error ) {
22
33
return {
23
- statusCode : 400 ,
34
+ statusCode : HTTP_BAD_REQUEST_STATUS_CODE ,
24
35
} ;
25
36
}
26
37
@@ -39,8 +50,8 @@ exports.handler = async (event) => {
39
50
sub : 1111111111 ,
40
51
} ,
41
52
options : {
42
- expiresIn : JWT_EXPIRATION_TIME ,
43
- algorithm : "RS256" ,
53
+ expiresIn : JWT_EXPIRATION_TIME_IN_HOURS ,
54
+ algorithm : JWT_RS256_ALGORITHM ,
44
55
} ,
45
56
} ;
46
57
@@ -52,14 +63,15 @@ exports.handler = async (event) => {
52
63
) ;
53
64
54
65
return {
55
- headers : { "content-type" : "application/json" } ,
56
- statusCode : 200 ,
66
+ headers : {
67
+ [ HTTP_HEADER_CONTENT_TYPE_KEY ] : HTTP_HEADER_JSON_CONTENT_TYPE ,
68
+ } ,
69
+ statusCode : HTTP_SUCCESS_STATUS_CODE ,
57
70
body : JSON . stringify ( { token } ) ,
58
71
} ;
59
72
} catch ( error ) {
60
73
return {
61
- statusCode : 500 ,
62
- body : "asd " + error ,
74
+ statusCode : HTTP_INTERNAL_SERVER_ERROR_STATUS_CODE ,
63
75
} ;
64
76
}
65
77
} ;
0 commit comments