Esempio n. 1
0
def add():
    try:
        uid = int(request.headers['Uid'])
        data = request.json
        if data is None:
            return response_error(MESSAGE.INVALID_DATA, CODE.INVALID_DATA)

        response_json = []
        for item in data:
            token = Token(symbol=item['symbol'],
                          name=item['name'],
                          decimal=int(item['decimal']),
                          contract_address=item['contract_address'],
                          created_user_id=uid)
            db.session.add(token)
            db.session.flush()

            task = Task(task_type=CONST.TASK_TYPE['ERC_20'],
                        data=json.dumps(token.to_json()),
                        action=CONST.TASK_ACTION['ADD_TOKEN'],
                        status=-1,
                        contract_address=g.ERC20_TOKEN_REGISTRY_SMART_CONTRACT,
                        contract_json=g.ERC20_TOKEN_REGISTRY_JSON)
            db.session.add(task)
            db.session.flush()

            response_json.append(token.to_json())

        db.session.commit()
        return response_ok(response_json)
    except Exception, ex:
        db.session.rollback()
        return response_error(ex.message)