No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.

96 líneas
2.4KB

  1. from models.database import db
  2. import mysql.connector
  3. def get_users():
  4. """
  5. Retreive all registrered users from the database
  6. :return: users
  7. """
  8. db.connect()
  9. cursor = db.cursor()
  10. query = ("SELECT userid, username from users")
  11. try:
  12. cursor.execute(query)
  13. users = cursor.fetchall()
  14. except mysql.connector.Error as err:
  15. print("Failed executing query: {}".format(err))
  16. users = []
  17. exit(1)
  18. finally:
  19. cursor.close()
  20. db.close()
  21. return users
  22. def get_user_id_by_name(username):
  23. """
  24. Get the id of the unique username
  25. :param username: Name of the user
  26. :return: The id of the user
  27. """
  28. db.connect()
  29. cursor = db.cursor()
  30. query = ("SELECT userid from users WHERE username =\"" + username + "\"")
  31. cursor.execute(query)
  32. try:
  33. userid = cursor.fetchall()[0][0]
  34. except mysql.connector.Error as err:
  35. print("Failed executing query: {}".format(err))
  36. userid = None
  37. exit(1)
  38. finally:
  39. cursor.close()
  40. db.close()
  41. return userid
  42. def get_user_name_by_id(userid):
  43. """
  44. Get username from user id
  45. :param userid: The id of the user
  46. :return: The name of the user
  47. """
  48. db.connect()
  49. cursor = db.cursor()
  50. query = ("SELECT username from users WHERE userid =\"" + userid + "\"")
  51. cursor.execute(query)
  52. try:
  53. username = cursor.fetchall()[0][0]
  54. except mysql.connector.Error as err:
  55. print("Failed executing query: {}".format(err))
  56. username = None
  57. exit(1)
  58. finally:
  59. cursor.close()
  60. db.close()
  61. cursor.close()
  62. return username
  63. def match_user(username, password):
  64. """
  65. Check if user credentials are correct, return if exists
  66. :param username: The user attempting to authenticate
  67. :param password: The corresponding password
  68. :type username: str
  69. :type password: str
  70. :return: user
  71. """
  72. db.connect()
  73. cursor = db.cursor()
  74. query = ("SELECT userid, username from users where username = \"" + username +
  75. "\" and password = \"" + password + "\"")
  76. cursor.execute(query)
  77. try:
  78. user = cursor.fetchall()[0]
  79. except mysql.connector.Error as err:
  80. print("Failed executing query: {}".format(err))
  81. user = None
  82. exit(1)
  83. finally:
  84. cursor.close()
  85. db.close()
  86. return user