Базовая реализация UserAPI
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
from aiohttp import ClientSession
|
||||
from json import dumps, loads
|
||||
import asyncio
|
||||
|
||||
from db import read, write
|
||||
CONFIG = asyncio.run(read())
|
||||
global url_prefix
|
||||
url_prefix = CONFIG['system_api_url']
|
||||
|
||||
async def call(api_url, data, pre=True, fix=True):
|
||||
url = (url_prefix + api_url) if pre else api_url
|
||||
async with ClientSession() as session:
|
||||
async with session.post(url, json=data) as response:
|
||||
text = await response.text()
|
||||
try:
|
||||
json = loads(text)
|
||||
if 'detail' in json:
|
||||
return json['detail']
|
||||
else:
|
||||
return json
|
||||
except:
|
||||
if fix:
|
||||
return text.replace('"', '')
|
||||
else:
|
||||
return text
|
||||
|
||||
async def check_user_token(token, username, user_token):
|
||||
data = {'token': token, 'username': username, 'user_token': user_token}
|
||||
return await call('api/check_user_token/', data)
|
||||
|
||||
async def user_in_db(token, username=None, creator_id=None, tg_id=None, ds_id=None, mine_name=None):
|
||||
data = {'token': token}
|
||||
if username:
|
||||
data['username'] = username
|
||||
if creator_id:
|
||||
data['creator_id'] = creator_id
|
||||
if tg_id:
|
||||
data['tg_id'] = tg_id
|
||||
if ds_id:
|
||||
data['ds_id'] = ds_id
|
||||
if mine_name:
|
||||
data['mine_name'] = mine_name
|
||||
return await call('api/user_in_db/', data)
|
||||
|
||||
async def transfer_coins(token, src_username, dst_username, amount):
|
||||
data = {'token': token, 'src_username': src_username, 'dst_username': dst_username, 'amount': amount}
|
||||
return await call('api/transfer_coins/', data)
|
||||
|
||||
async def get_stats(token):
|
||||
return await call('api/get_stats/', token)
|
||||
Reference in New Issue
Block a user