def get_account_coin_autopayments(manager, wallet, account, user, coin): with QueryDataPostProcessor() as pp: try: coin = Coin.by_ticker(coin) except CoinNotDefinedException: return pp.process_raw(None).json() return pp.process(account.model.autopayments_for(coin)).json()
def address(self, address): hash, txout_type = Coin.by_ticker( self.coin).decode_address_and_type(address) if hash is None: raise ValueError('Cannot decode address %s for coin %s' % (address, self.coin)) self.pubkeyhash = hash self.txout_type = txout_type
def delete_account_coin_consolidationinfo(manager, wallet, account, user, coin): try: coin = Coin.by_ticker(coin) except CoinNotDefinedException: return '', NO_CONTENT current_value = account.model.consolidationinfo_for(coin) if current_value == None: return '', NO_CONTENT db = wallet._dbsession db.delete(current_value) db.commit() return '', NO_CONTENT
def delete_account_coin_autopayments(manager, wallet, account, user, coin): try: coin = Coin.by_ticker(coin) except CoinNotDefinedException: return '', NO_CONTENT current = account.model.autopayments_for(coin) if len(current) == 0: return '', NO_CONTENT db = wallet._dbsession for autopay_config in current: db.delete(autopay_config) db.commit() return '', NO_CONTENT
def add_account_coin_autopayment(manager, wallet, account, user, coin): try: coin = Coin.by_ticker(coin) except CoinNotDefinedException: return '', NOT_FOUND autopayment_info = SetAutoPayInfoRequest(request.get_json()) autopayment_info.set_context_info(account=account, coin=coin) db = wallet._dbsession autopayment = autopayment_info.dbobject() db.add(autopayment) db.commit() with QueryDataPostProcessor() as pp: return pp.process(autopayment).json()
def set_account_coin_consolidationinfo(manager, wallet, account, user, coin): try: coin = Coin.by_ticker(coin) except CoinNotDefinedException: return '', NOT_FOUND requestobj = SetConsolidationInfoRequest(request.get_json()) requestobj.set_context_info(account=account, coin=coin) db = wallet._dbsession current_value = account.model.consolidationinfo_for(coin) if current_value != None: db.delete(current_value) db.flush() consolidationinfo = requestobj.dbobject() db.add(consolidationinfo) db.commit() with QueryDataPostProcessor() as pp: return pp.process(consolidationinfo).json()
def set_account_coin_autopayments(manager, wallet, account, user, coin): try: coin = Coin.by_ticker(coin) except CoinNotDefinedException: return '', NOT_FOUND db = wallet._dbsession for autopayment in account.model.autopayments_for(coin): db.delete(autopayment) autopayments = [] for info in request.get_json(): autopayment_info = SetAutoPayInfoRequest(info) autopayment_info.set_context_info(account=account, coin=coin) autopayment = autopayment_info.dbobject() db.add(autopayment) autopayments.append(autopayment) db.commit() with QueryDataPostProcessor() as pp: return pp.process(autopayments).json()
def _dbsession(self): return connectionmanager.database_session(coin=Coin.by_ticker(self.coin))
def address(self): return Coin.by_ticker(self.coin).encode_address(self.pubkeyhash, self.txout_type)