11package handler
22
33import (
4+ "os"
45 "time"
56
67 jwt "github.com/dgrijalva/jwt-go"
78 "github.com/gofiber/fiber/v2"
9+ "github.com/joho/godotenv"
10+ "github.com/raydwaipayan/onlinejudge-server/server/types"
811)
912
10- // User user object
11- type User struct {
12- Username string `json:"username" form:"name"`
13- Password string `json:"password" form:"password"`
14- }
15-
16- //Register user registration handler
13+ //Register types.User registration handler
1714func Register (c * fiber.Ctx ) error {
18- u := new (User )
15+ u := new (types. User )
1916
2017 if err := c .BodyParser (u ); err != nil {
2118 return c .SendStatus (fiber .StatusBadRequest )
@@ -24,9 +21,10 @@ func Register(c *fiber.Ctx) error {
2421 return c .SendStatus (fiber .StatusOK )
2522}
2623
27- //Login user login handler
24+ //Login types.User login handler
2825func Login (c * fiber.Ctx ) error {
29- u := new (User )
26+ godotenv .Load ()
27+ u := new (types.User )
3028
3129 if err := c .BodyParser (u ); err != nil {
3230 return c .SendStatus (fiber .StatusBadRequest )
@@ -35,11 +33,11 @@ func Login(c *fiber.Ctx) error {
3533 token := jwt .New (jwt .SigningMethodHS256 )
3634
3735 claims := token .Claims .(jwt.MapClaims )
38- claims ["name " ] = u .Username
36+ claims ["email " ] = u .Email
3937 claims ["admin" ] = false
4038 claims ["exp" ] = time .Now ().Add (time .Hour * 96 ).Unix ()
4139
42- t , err := token .SignedString ([]byte ("secret" ))
40+ t , err := token .SignedString ([]byte (os . Getenv ( "SECRET_KEY" ) ))
4341 if err != nil {
4442 return c .SendStatus (fiber .StatusInternalServerError )
4543 }
0 commit comments