Beispiel #1
0
def getOrderByUser(username):
    orders = []
    for order in Order.query.filter_by(sellerName=username).all():
        order = from_sql(order)
        order['type'] = 'selling'
        orders.append(order)
    for order in Order.query.filter_by(buyerName=username).all():
        order = from_sql(order)
        order['type'] = 'buying'
        orders.append(order)
    for order in orders:
        post = getPost(order['postId'], 'Seller')
        order['product'] = post['title']
        order['price'] = post['price']
    return orders
Beispiel #2
0
def searchFavorite(username, postId, flag):
    user = User.query.get(username)
    if user:
        user = from_sql(user)
        if flag == "Seller":
            return str(postId) in user["favoriteSellerPosts"].split(DELIMITER)
        if flag == "Buyer":
            return str(postId) in user["favoriteBuyerPosts"].split(DELIMITER)
    return False
Beispiel #3
0
def getDetail(orderId):
    if Order.query.get(orderId) is None:
        return None
    order = from_sql(Order.query.get(orderId))
    postId = order['postId']
    post = searchSellerPosts(postId)
    orderDetail = {}
    for d in [post, order]:
        orderDetail.update(d)
    return orderDetail
Beispiel #4
0
def getMessagesByUser(username):
    try:
        query = Message.query.filter(
            or_(Message.senderUsername == username,
                Message.receiverUsername == username))
        messages = []
        for message in query.all():
            messages.append(from_sql(message))
        return messages
    except Exception as e:
        print e
        return None
Beispiel #5
0
def getReviewToUser(reviewee):
    res = Review.query.filter_by(reviewee=reviewee).all()
    reviews = []
    for r in res:
        reviews.append(from_sql(r))
    for r in reviews:
        orderId = r['orderId']
        order = Order.query.get(orderId)
        postId = order.postId
        post = SellerPost.query.get(postId)
        orderTitle = post.title
        r['orderTitle'] = orderTitle
    return reviews
Beispiel #6
0
def addReview(reviewer, reviewee, rating, content, orderId):
    time = datetime.datetime.now(pytz.timezone('US/Eastern'))
    review = Review(reviewer=reviewer,
                    reviewee=reviewee,
                    rating=rating,
                    content=content,
                    orderId=orderId,
                    time=time)
    try:
        db.session.add(review)
        db.session.commit()
        if not account.updateRating(reviewee, rating):
            return None
        return from_sql(review)
    except Exception as e:
        print e
        db.session.rollback()
        return None
Beispiel #7
0
def getMessages(currentUser=None, sender=None, receiver=None, read=None):
    try:
        query = Message.query
        if sender is not None:
            query = query.filter_by(senderUsername=sender)
        if receiver is not None:
            query = query.filter_by(receiverUsername=receiver)
        if read is not None:
            query = query.filter_by(seen=read)
        messages = []
        for message in query.all():
            messages.append(from_sql(message))
        query.filter_by(receiverUsername=currentUser).update(dict(seen=True))
        db.session.commit()
        return messages
    except Exception as e:
        print e
        db.session.rollback()
        return None
Beispiel #8
0
def searchUser(username):
    user = User.query.get(username)
    if user:
        return from_sql(user)
    return None
Beispiel #9
0
def getFavorite(username):
    user = User.query.get(username)
    if user:
        user = from_sql(user)
        return user['favoriteSellerPosts'].split(DELIMITER), user['favoriteBuyerPosts'].split(DELIMITER)
    return [], []
Beispiel #10
0
def getBuyerPostComments(postId):
    res = BuyerPostComment.query.filter_by(postId=postId).all()
    commentList = []
    for c in res:
        commentList.append(from_sql(c))
    return commentList