package services import ( "authentication/db" "log" ) func GetUserID(email string) (string, error) { log.Print(email) query := `SELECT user_id FROM users WHERE email_address = ? AND is_deleted = 0 LIMIT 1;` var id string err := db.DB.QueryRow(query, email).Scan(&id) if err != nil { return "", err } return id, nil } func CheckEmailInDB(email string) (bool, error) { var exists bool query := `SELECT EXISTS ( SELECT 1 FROM users WHERE email_address = ? AND is_deleted = 0);` err := db.DB.QueryRow(query, email).Scan(&exists) if err != nil { return false, err } return exists, nil } func GetUserIDFromEmail(email string) (string, error) { log.Print(email) query := `SELECT user_id FROM ( SELECT user_id, 1 AS priority FROM users WHERE email_address = ? AND is_deleted = 0 ) t ORDER BY priority ASC LIMIT 1; ` var id string err := db.DB.QueryRow(query, email).Scan(&id) if err != nil { log.Println("Hello") return "", err } return id, nil } func GetRoleIDFromEmail(email string) (string, error) { log.Print(email) query := `SELECT role_id FROM ( SELECT r.id AS role_id, 1 AS priority FROM roles r JOIN users u ON u.role_id = r.id WHERE u.email_address = ? AND u.is_deleted = 0 ) t ORDER BY priority ASC LIMIT 1; ` var roleID string err := db.DB.QueryRow(query, email).Scan(&roleID) if err != nil { return "", err } return roleID, nil }