Пример #1
0
 def update_with_data(user_id: int, donor_data: dict):
     if donor_data:
         query_text = 'UPDATE "Donor" SET ({columns}) = ({values}) WHERE "id" = ${user_param}'
         columns, values_len, values = create_query_text(donor_data)
         values.append(user_id)
         query = query_text.format(columns=columns,
                                   values=values_len,
                                   user_param=len(values))
         with pg.DB(**CONFIG_PARAMS) as conn:
             conn.query(query, *values)
Пример #2
0
 def upsert_request(request_info: dict):
     query_text = '''
     INSERT INTO "Request" ({columns})
     VALUES ({values})
     ON CONFLICT ("user_id")
     WHERE "registration_flag" Is FALSE
     DO UPDATE SET ({columns}) = ({values})'''
     columns, values_len, values = create_query_text(request_info)
     query = query_text.format(columns=columns, values=values_len)
     with pg.DB(**CONFIG_PARAMS) as conn:
         conn.query(query, *values)
Пример #3
0
 def update_request(request_info, user_id):
     query_text = '''
     UPDATE "Request"
     SET ({columns}) = ({values})
     WHERE "user_id" = ${user_id}
     AND "registration_flag" Is FALSE
     '''
     columns, values_len, values = create_query_text(request_info)
     values.append(user_id)
     query = query_text.format(columns=columns,
                               values=values_len,
                               user_id=len(values))
     print(query)
     with pg.DB(**CONFIG_PARAMS) as conn:
         conn.query(query, *values)
Пример #4
0
 def get_donor_data(user_id: int) -> tuple:
     """
     использовать только если донор есть в базе 
     :param user_id: 
     :return: неизменяймый список типа:
                         (id(int),
                         blood_type(smallint), 
                         rhesus(1/0),
                         birth_date(datetime.date(1994, 12, 07)),
                         longitude(real),
                         latitude(real))
     """
     query_text = 'SELECT * FROM "Donor" WHERE "id" = $1'
     with pg.DB(**CONFIG_PARAMS) as conn:
         return conn.query(query_text, user_id).getresult()[0]
Пример #5
0
 def try_exist(user_id: int):
     query_text = 'SELECT EXISTS (SELECT 1 FROM "Donor" WHERE "id" = $1)'
     with pg.DB(**CONFIG_PARAMS) as conn:
         return conn.query(query_text, user_id).getresult()[0][0]
Пример #6
0
 def new_donor(donor_info: dict):
     query_text = 'INSERT INTO "Donor" ({columns}) VALUES ({values})'
     columns, values_len, values = create_query_text(donor_info)
     query = query_text.format(columns=columns, values=values_len)
     with pg.DB(**CONFIG_PARAMS) as conn:
         conn.query(query, *values)