49 lines
1.3 KiB
Python
49 lines
1.3 KiB
Python
|
# standard imports
|
||
|
import json
|
||
|
import logging
|
||
|
|
||
|
# third-party imports
|
||
|
import celery
|
||
|
|
||
|
# local imports
|
||
|
from cic_ussd.metadata import blockchain_address_to_metadata_pointer
|
||
|
from cic_ussd.metadata.user import UserMetadata
|
||
|
|
||
|
celery_app = celery.current_app
|
||
|
logg = logging.getLogger()
|
||
|
|
||
|
|
||
|
@celery_app.task
|
||
|
def query_user_metadata(blockchain_address: str):
|
||
|
"""
|
||
|
:param blockchain_address:
|
||
|
:type blockchain_address:
|
||
|
:return:
|
||
|
:rtype:
|
||
|
"""
|
||
|
identifier = blockchain_address_to_metadata_pointer(blockchain_address=blockchain_address)
|
||
|
user_metadata_client = UserMetadata(identifier=identifier)
|
||
|
user_metadata_client.query()
|
||
|
|
||
|
|
||
|
@celery_app.task
|
||
|
def create_user_metadata(blockchain_address: str, data: dict):
|
||
|
"""
|
||
|
:param blockchain_address:
|
||
|
:type blockchain_address:
|
||
|
:param data:
|
||
|
:type data:
|
||
|
:return:
|
||
|
:rtype:
|
||
|
"""
|
||
|
identifier = blockchain_address_to_metadata_pointer(blockchain_address=blockchain_address)
|
||
|
user_metadata_client = UserMetadata(identifier=identifier)
|
||
|
user_metadata_client.create(data=data)
|
||
|
|
||
|
|
||
|
@celery_app.task
|
||
|
def edit_user_metadata(blockchain_address: str, data: bytes, engine: str):
|
||
|
identifier = blockchain_address_to_metadata_pointer(blockchain_address=blockchain_address)
|
||
|
user_metadata_client = UserMetadata(identifier=identifier)
|
||
|
user_metadata_client.edit(data=data, engine=engine)
|