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
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
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
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
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
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
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
def searchUser(username): user = User.query.get(username) if user: return from_sql(user) return None
def getFavorite(username): user = User.query.get(username) if user: user = from_sql(user) return user['favoriteSellerPosts'].split(DELIMITER), user['favoriteBuyerPosts'].split(DELIMITER) return [], []
def getBuyerPostComments(postId): res = BuyerPostComment.query.filter_by(postId=postId).all() commentList = [] for c in res: commentList.append(from_sql(c)) return commentList