예제 #1
0
def update_lot_price(owner_id, bid_id, price):
    owner = UserStorage.get_by_id(owner_id)
    lot = LotStorage.get_by_id(bid_id)
    if owner != lot.owner:
        raise InvalidOwnership
    if LotStorage.lot_is_sold(lot):
        raise LotHasBeenSold
    return LotStorage.update_price(lot, price)
예제 #2
0
def update_bid_price(bidder_id, bid_id, price):
    bidder = UserStorage.get_by_id(bidder_id)
    bid = BidStorage.get_by_id(bid_id)
    if bidder != bid.bidder:
        raise InvalidOwnership
    if bid.accepted:
        raise BidHasBeenAccepted
    return BidStorage.update_price(bid, price)
예제 #3
0
def delete_lot(owner_id, lot_id):
    owner = UserStorage.get_by_id(owner_id)
    lot = LotStorage.get_by_id(lot_id)
    if owner != lot.owner:
        raise InvalidOwnership
    if not LotStorage.lot_is_sold(lot):
        return LotStorage.delete
    else:
        raise LotHasBeenSold
예제 #4
0
def accept_bid(owner_id, bid_id):
    owner = UserStorage.get_by_id(owner_id)
    bid = BidStorage.get_by_id(bid_id)
    real_owner = BidStorage.get_lot_owner(bid)

    if owner != real_owner:
        raise InvalidOwnership
    if LotStorage.lot_is_sold(bid.lot):
        raise
    return BidStorage.accept_by_lot_owner(bid)
예제 #5
0
def create_bid(bidder_id, lot_id, price):
    bidder = UserStorage.get_by_id(bidder_id)
    lot = LotStorage.get_by_id(lot_id)
    return BidStorage.create(bidder, lot, price)
예제 #6
0
def get_my_bids(bidder_id):
    bidder = UserStorage.get_by_id(bidder_id)
    return BidStorage.get_by_bidder(bidder)
예제 #7
0
def delete_animal(owner_id, animal_id):
    owner = UserStorage.get_by_id(owner_id)
    animal = AnimalStorage.get_by_id(animal_id)
    if owner != animal:
        raise InvalidOwnership
    return AnimalStorage.delete(animal)
def get_my_lots(owner_id):
    owner = UserStorage.get_by_id(owner_id)
    return LotStorage.get_by_owner(owner)
예제 #9
0
def delete_bid(bidder_id, bid_id):
    bidder = UserStorage.get_by_id(bidder_id)
    bid = BidStorage.get_by_id(bid_id)
    if bid.bidder != bidder:
        raise InvalidOwnership
    return BidStorage.delete(bid)
def get_balance(user_id):
    user = UserStorage.get_by_id(user_id)
    balance = UserBalanceStorage.get_user_balance(user)
    return balance
예제 #11
0
def create_lot(owner_id, animal_id, price):
    animal = AnimalStorage.get_by_id(animal_id)
    owner = UserStorage.get_by_id(owner_id)
    if owner != animal.owner:
        raise InvalidOwnership
    return LotStorage.create(animal, price)
def get_lots_bid(owner_id, lot_id):
    owner = UserStorage.get_by_id(owner_id)
    lot = LotStorage.get_by_id(lot_id)
    if lot.owner != owner:
        raise InvalidOwnership
    return BidStorage.get_by_lot(lot)
예제 #13
0
def create_animal(owner_id, animal_type, breed, nickname):
    owner = UserStorage.get_by_id(owner_id)
    return AnimalStorage.create(owner, animal_type, breed, nickname)