fixed login api
This commit is contained in:
@@ -83,6 +83,7 @@ func GetPasswordHash(db *sql.DB, username string) (string, error) {
|
||||
var passwordHash string
|
||||
err := db.QueryRow(query, username).Scan(&passwordHash)
|
||||
if err != nil {
|
||||
fmt.Printf("error getting password: %v\n", err)
|
||||
return "", fmt.Errorf("error getting password: %v", err)
|
||||
}
|
||||
|
||||
@@ -91,13 +92,14 @@ func GetPasswordHash(db *sql.DB, username string) (string, error) {
|
||||
|
||||
func GetUserId(db *sql.DB, username string) (string, error) {
|
||||
query := `
|
||||
SELECT user_id, username AS dbUsername FROM Accounts
|
||||
SELECT user_id FROM Accounts
|
||||
WHERE LOWER(username) = $1;
|
||||
`
|
||||
|
||||
var dbUsername string
|
||||
err := db.QueryRow(query, username).Scan(&dbUsername, &dbUsername)
|
||||
err := db.QueryRow(query, username).Scan(&dbUsername)
|
||||
if err != nil {
|
||||
fmt.Printf("Error getting password: %v\n", err)
|
||||
return "", fmt.Errorf("error getting user id: %v", err)
|
||||
}
|
||||
return dbUsername, err
|
||||
|
||||
@@ -72,7 +72,7 @@ func Signup(c *fiber.Ctx) error {
|
||||
}
|
||||
|
||||
func Login(c *fiber.Ctx) error {
|
||||
db, _ := database.InitDatabase()
|
||||
db := database.DB
|
||||
u := new(models.LoginStruct)
|
||||
|
||||
if err := c.BodyParser(u); err != nil {
|
||||
@@ -100,7 +100,7 @@ func Login(c *fiber.Ctx) error {
|
||||
}
|
||||
|
||||
// Verifies password matching
|
||||
passwordHash, _ := database.GetPasswordHash(db, u.Password)
|
||||
passwordHash, _ := database.GetPasswordHash(db, u.Username)
|
||||
if bcrypt.CompareHashAndPassword([]byte(passwordHash), []byte(u.Password)) != nil {
|
||||
return c.Status(fiber.StatusUnauthorized).JSON(fiber.Map{"error": "invalid password"})
|
||||
}
|
||||
@@ -124,5 +124,5 @@ func Login(c *fiber.Ctx) error {
|
||||
cookie.Expires = time.Now().Add(30 * 24 * time.Hour)
|
||||
cookie.HTTPOnly = true
|
||||
|
||||
return c.Status(fiber.StatusOK).JSON(fiber.Map{"message": "Successfully signed up", "username": u.Username, "user_id": userId})
|
||||
return c.Status(fiber.StatusOK).JSON(fiber.Map{"message": "Successfully logged in", "username": u.Username, "user_id": userId})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user