From ee80e7be55828a986c03e762708f163417e2745e Mon Sep 17 00:00:00 2001 From: darkstack <1835601+darkstack@users.noreply.github.com> Date: Sun, 19 Nov 2023 13:16:17 +0100 Subject: [PATCH] unique id --- api/classes.py | 11 ++++++----- api/db.sql | 4 +++- api/serv.py | 16 ++++++++++++++-- 3 files changed, 23 insertions(+), 8 deletions(-) diff --git a/api/classes.py b/api/classes.py index 1ad78a3..5299632 100644 --- a/api/classes.py +++ b/api/classes.py @@ -43,11 +43,12 @@ class Donator(json.JSONEncoder): class Payment(json.JSONEncoder): id : int + id_hello : int amount: float name : str message : str def __init__(self,id,amount,message,name) -> None: - self.id = id + self.id_hello = id self.amount = amount self.name = name self.message = message @@ -55,9 +56,9 @@ class Payment(json.JSONEncoder): def save(self, conn : Connection): try: conn.cursor() - conn.execute("insert into orders values (:id,:amount,:message,:name)", + conn.execute("insert into orders (id_hello,amount,message,name) values (:id_hello,:amount,:message,:name)", { - "id" : self.id, + "id_hello" : self.id_hello, "amount" : self.amount, "message" : self.message, "name" : self.name @@ -71,10 +72,10 @@ class Payment(json.JSONEncoder): @staticmethod def get_all(conn: Connection): cur = conn.cursor() - cur.execute("select id,amount,message,name from orders") + cur.execute("select id,id_hello,amount,message,name from orders") data = cur.fetchall() if data is not None: - return [Payment(p[0],p[1],p[2],p[3]) for p in data] + return [Payment(p[1],p[2],p[3],p[4]) for p in data] return None diff --git a/api/db.sql b/api/db.sql index 14894b0..2cc6aaf 100644 --- a/api/db.sql +++ b/api/db.sql @@ -1,6 +1,8 @@ CREATE TABLE orders ( -id INTEGER NOT NULL UNIQUE, +id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL UNIQUE, +id_hello INTEGER, amount REAL NOT NULL, message TEXT, name TEXT + ); diff --git a/api/serv.py b/api/serv.py index 46b8bed..9664d8c 100755 --- a/api/serv.py +++ b/api/serv.py @@ -113,10 +113,22 @@ def notifications(): if request.json is not None: print(request.json) if request.json['eventType'] == 'Order': + name = '' + message = '' + try: + fields = request.json['data']['items'][0]['customFields'] + for f in fields: + if f['name'] == 'Message': + message = f['answer'] + if f['name'] == 'Pseudo': + name = f['answer'] + except: + print('Fail to parse'); + p = Payment(request.json['data']['id'], request.json['data']['amount']['total'], - request.json['data']['items'][0]['customFields'][0]['answer'], - request.json['data']['payer']['firstName']) + message, + name) p.save(get_db()); payments_list.append(p) notify_client_payment(p)