DmitrMakeev commited on
Commit
650eb81
·
verified ·
1 Parent(s): 1cb7504

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +5 -7
app.py CHANGED
@@ -1020,14 +1020,15 @@ def get_order_monitop():
1020
 
1021
 
1022
 
1023
-
1024
 
1025
  # Функция для валидации подписи ВК приложения
1026
  def is_valid(*, query: dict, secret: str) -> bool:
1027
  """Check VK Apps signature"""
1028
  vk_subset = OrderedDict(sorted(x for x in query.items() if x[0][:3] == "vk_"))
 
1029
  hash_code = b64encode(HMAC(secret.encode(), urlencode(vk_subset, doseq=True).encode(), sha256).digest())
1030
  decoded_hash_code = hash_code.decode('utf-8')[:-1].replace('+', '-').replace('/', '_')
 
1031
  return query["sign"] == decoded_hash_code
1032
 
1033
  # Чтение ордера по ключу и ВК ИД для приложения
@@ -1044,11 +1045,6 @@ def get_order():
1044
 
1045
  logging.debug(f"Received data: vk_id={vkid}, order={order}, apps_id={apps_id}, fullUrl={fullUrl}")
1046
 
1047
- # Проверяем наличие обязательных параметров
1048
- if not vkid or not order or not fullUrl:
1049
- logging.error("VK ID, order, and fullUrl are required")
1050
- return json.dumps({"error": "VK ID, order, and fullUrl are required"}), 400
1051
-
1052
  # Проверка подписи для приложения
1053
  if str(apps_id) not in api_key_apps_vk: # Приводим apps_id к строке
1054
  logging.error("Invalid apps_id")
@@ -1073,6 +1069,7 @@ def get_order():
1073
  # Ищем запись по vk_id
1074
  cursor.execute("SELECT orders FROM contacts WHERE vk_id = ?", (vkid,))
1075
  result = cursor.fetchone()
 
1076
 
1077
  # Если запись по vk_id не найдена, возвращаем значение "not" для ордера
1078
  if not result:
@@ -1081,11 +1078,13 @@ def get_order():
1081
  return jsonify(response), 200
1082
 
1083
  shop_st = result[0] if result[0] else '{}'
 
1084
  shop_st_data = json.loads(shop_st)
1085
  logging.debug(f"Existing record found. Loaded JSON: {shop_st_data}")
1086
 
1087
  # Ищем значение по ключу order
1088
  value = shop_st_data.get(order, 'not')
 
1089
 
1090
  # Возвращаем данные из столбца
1091
  response = {order: value}
@@ -1125,7 +1124,6 @@ def get_order():
1125
 
1126
 
1127
 
1128
-
1129
 
1130
 
1131
 
 
1020
 
1021
 
1022
 
 
1023
 
1024
  # Функция для валидации подписи ВК приложения
1025
  def is_valid(*, query: dict, secret: str) -> bool:
1026
  """Check VK Apps signature"""
1027
  vk_subset = OrderedDict(sorted(x for x in query.items() if x[0][:3] == "vk_"))
1028
+ logging.debug(f"Filtered VK params: {vk_subset}")
1029
  hash_code = b64encode(HMAC(secret.encode(), urlencode(vk_subset, doseq=True).encode(), sha256).digest())
1030
  decoded_hash_code = hash_code.decode('utf-8')[:-1].replace('+', '-').replace('/', '_')
1031
+ logging.debug(f"Calculated signature: {decoded_hash_code}")
1032
  return query["sign"] == decoded_hash_code
1033
 
1034
  # Чтение ордера по ключу и ВК ИД для приложения
 
1045
 
1046
  logging.debug(f"Received data: vk_id={vkid}, order={order}, apps_id={apps_id}, fullUrl={fullUrl}")
1047
 
 
 
 
 
 
1048
  # Проверка подписи для приложения
1049
  if str(apps_id) not in api_key_apps_vk: # Приводим apps_id к строке
1050
  logging.error("Invalid apps_id")
 
1069
  # Ищем запись по vk_id
1070
  cursor.execute("SELECT orders FROM contacts WHERE vk_id = ?", (vkid,))
1071
  result = cursor.fetchone()
1072
+ logging.debug(f"Database result: {result}")
1073
 
1074
  # Если запись по vk_id не найдена, возвращаем значение "not" для ордера
1075
  if not result:
 
1078
  return jsonify(response), 200
1079
 
1080
  shop_st = result[0] if result[0] else '{}'
1081
+ logging.debug(f"Shop_st: {shop_st}")
1082
  shop_st_data = json.loads(shop_st)
1083
  logging.debug(f"Existing record found. Loaded JSON: {shop_st_data}")
1084
 
1085
  # Ищем значение по ключу order
1086
  value = shop_st_data.get(order, 'not')
1087
+ logging.debug(f"Value for order {order}: {value}")
1088
 
1089
  # Возвращаем данные из столбца
1090
  response = {order: value}
 
1124
 
1125
 
1126
 
 
1127
 
1128
 
1129