Ejemplo n.º 1
0
def create_transfer(amount, sender_user, recipient_user, token, subtype=None):
    transfer = CreditTransfer(
        amount=amount,
        sender_user=sender_user,
        recipient_user=recipient_user,
        token=token,
        uuid=str(uuid4()))

    db.session.add(transfer)
    # Mimics before_request hook
    g.pending_transactions = []

    transfer.resolve_as_completed()
    
    # Mimics after_request hook
    for transaction, queue in g.pending_transactions:
        transaction.send_blockchain_payload_to_worker(queue=queue)

    transfer.transfer_type = TransferTypeEnum.PAYMENT
    transfer.transfer_subtype = subtype

    # Commit to prevent memory errors with large numbers of txns counts
    db.session.commit()

    return transfer
Ejemplo n.º 2
0
def create_transfer(amount, sender_user, recipient_user, token, subtype=None):
    transfer = CreditTransfer(
        amount=amount,
        sender_user=sender_user,
        recipient_user=recipient_user,
        token=token,
        uuid=str(uuid4()))

    db.session.add(transfer)

    transfer.resolve_as_completed()

    transfer.transfer_type = TransferTypeEnum.PAYMENT
    transfer.transfer_subtype = subtype

    return transfer
Ejemplo n.º 3
0
def create_transfer(amount, sender_user, recipient_user, token, subtype=None):
    transfer = CreditTransfer(
        amount=amount,
        sender_user=sender_user,
        recipient_user=recipient_user,
        token=token,
        uuid=str(uuid4()))

    db.session.add(transfer)

    transfer.resolve_as_completed()

    transfer.transfer_type = TransferTypeEnum.PAYMENT
    transfer.transfer_subtype = subtype

    # Commit to prevent memory errors with large numbers of txns counts
    db.session.commit()

    return transfer
Ejemplo n.º 4
0
def create_transfer(amount,
                    sender_user,
                    recipient_user,
                    token,
                    subtype=TransferSubTypeEnum.STANDARD,
                    transfer_usages=None,
                    created_offset=0,
                    transfer_mode=None):
    transfer = CreditTransfer(amount=amount,
                              sender_user=sender_user,
                              recipient_user=recipient_user,
                              token=token,
                              uuid=str(uuid4()))

    db.session.add(transfer)
    # Mimics before_request hook
    g.pending_transactions = []

    if transfer_usages:
        transfer.transfer_usages = transfer_usages

    transfer.resolve_as_complete_and_trigger_blockchain()

    transfer.transfer_type = TransferTypeEnum.PAYMENT
    transfer.transfer_subtype = subtype
    transfer.transfer_mode = transfer_mode

    transfer.created = datetime.utcnow() - timedelta(days=created_offset)

    # Commit to prevent memory errors with large numbers of txns counts
    db.session.commit()

    # Mimic after request hook midway through process
    for transaction, queue in g.pending_transactions:
        transaction.send_blockchain_payload_to_worker(queue=queue)

    return transfer