api.py 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. from flask import Flask, jsonify, request
  2. from xmpp import cli
  3. from function import query_select, query_insert, query_delete, query_update
  4. import jwt
  5. app = Flask(__name__)
  6. @app.route('/auth', methods=['POST'])
  7. def post_auth():
  8. request_data = request.get_json()
  9. result = query_select('''
  10. SELECT FROM rest_user
  11. WHERE ();
  12. ''', ())
  13. return jsonify(result), 201
  14. @app.route('/adduser', methods=['POST'])
  15. def get_add():
  16. request_data = request.get_json()
  17. result = query_insert('''
  18. INSERT INTO rest_user (name, birthday, lastlogintime, insys, idrole)
  19. VALUES (%s, %s, %s, %s, %s)
  20. RETURNING id;
  21. ''', \
  22. (request_data['name'], request_data['reg_date'],\
  23. request_data['log_time'], request_data['in_sys'],\
  24. request_data['role_id']))
  25. return jsonify(result), 201
  26. @app.route('/user/<int:id>', methods=['GET'])
  27. def get_user(id):
  28. return jsonify(query_select('''
  29. SELECT * FROM rest_user WHERE id = %s;
  30. ''', (id,), True)), 200
  31. @app.route('/users', methods=['GET'])
  32. def get_show_user():
  33. result = query_select('''
  34. SELECT rest_user.id, rest_user.name, rest_user.birthday, rest_user.insys, rest_role.name AS role_name, rest_user.lastlogintime
  35. FROM rest_user, rest_role
  36. WHERE rest_user.idrole = rest_role.id
  37. ORDER BY id ASC;
  38. ''', (), False)
  39. return jsonify(result), 200
  40. @app.route('/deleteuser', methods=['POST'])
  41. def delete_user():
  42. request_data = request.get_json()
  43. result = query_delete('''
  44. DELETE FROM rest_user
  45. WHERE id = %s;
  46. ''', (request_data['id'],))
  47. if(result):
  48. return "Успешное удаление!", 200
  49. else:
  50. return "Ошибка", 500
  51. @app.route('/updateuser', methods=['POST'])
  52. def test_api():
  53. try:
  54. request_data = request.get_json()
  55. result = query_update(f'''
  56. UPDATE rest_user
  57. SET name = %s
  58. WHERE id = %s;
  59. ''', (request_data['name'], request_data['id']))
  60. if(result):
  61. return "Успешное изменение!", 200
  62. else:
  63. return "Ошибка", 400
  64. except:
  65. return "Ошибка", 500
  66. @app.route('/testmessage', methods=['POST'])
  67. def send_mess():
  68. try:
  69. request_data = request.get_json()
  70. cli.send_message(request_data['from'], request_data['password'], request_data['to'], request_data['message'])
  71. return "Успешное изменение!", 200
  72. except:
  73. return "Ошибка", 500
  74. if __name__ == '__main__':
  75. #from waitress import serve
  76. #serve(app, host='127.0.0.2', port='8080')
  77. app.run(host='127.0.0.2', port='8080', debug=True, load_dotenv=True )