Spaces:
Running
Running
Update app.py
Browse files
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 |
|