Rev 785 | Rev 1249 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
'''Created on 28-Apr-2010@author: ashish'''from shop2020.utils.Utils import log_entryfrom shop2020.model.v1.user.impl.UserDataAccessors import create_user, update_user, get_user_by_id, update_password,\set_user_as_logged_out, set_user_as_logged_in, remove_address_for_user,\add_address_for_user, delete_user, authenticate_user, user_exists, get_user_state, initialize, set_default_address,\create_anonymous_user, forgot_password, get_all_addresses_for_user, get_default_address_id, get_default_pincodefrom shop2020.model.v1.user.impl.CartDataAccessors import create_cart, get_cart,\get_cart_by_id, get_cart_by_user_id_and_status, get_carts_by_status,\get_carts_between, change_cart_status, add_item_to_cart,\change_item_status, add_address_to_cart, commit_cart,\validate_cart, merge_cart, delete_item_from_cart, check_out, reset_cartfrom shop2020.model.v1.user.impl.Converters import to_t_user, to_t_user_state, to_t_cart, to_t_addressfrom shop2020.thriftpy.model.v1.user.ttypes import ShoppingCartExceptionfrom shop2020.model.v1.user.impl.WidgetDataAccessor import update_my_research, get_browse_history,\update_browse_history, delete_item_from_my_research, merge_browse_history, get_my_researchfrom shop2020.model.v1.user.impl.WidgetConverters import to_t_widgetfrom shop2020.model.v1.user.impl import UserDataAccessors, CartDataAccessors,\WidgetDataAccessorclass UserContextServiceHandler:def __init__(self):initialize()"""service"""def createAnonymousUser(self, jsessionId):try:cart = create_cart(-1)return to_t_user(create_anonymous_user(jsessionId, cart))finally:UserDataAccessors.close_session()def getUserById(self, userId):"""Parameters:- userId"""try:return to_t_user(get_user_by_id(userId))finally:UserDataAccessors.close_session()def createUser(self, user):"""Parameters:- user"""try:cart = create_cart(-1)return to_t_user(create_user(user, cart))finally:UserDataAccessors.close_session()def updateUser(self, user):"""Parameters:- user"""try:return to_t_user(update_user(user))finally:UserDataAccessors.close_session()def deleteUser(self, userId):"""Parameters:- userId"""try:return delete_user(userId)finally:UserDataAccessors.close_session()def getUserState(self, userId):"""Parameters:- userId"""log_entry(self, "get State")try:return to_t_user_state(get_user_state(userId))finally:UserDataAccessors.close_session()def authenticateUser(self, email, password):"""Parameters:- password"""log_entry(self, "authenticate user")try:return to_t_user(authenticate_user(email, password))finally:UserDataAccessors.close_session()def userExists(self, email):"""Parameters:"""log_entry(self, "user exists")try:return user_exists(email)finally:UserDataAccessors.close_session()def addAddressForUser(self, userId, address, setDefault):"""Parameters:- userId- address- setDefault"""log_entry(self, "add address for user")try:return add_address_for_user(address, userId, setDefault)finally:UserDataAccessors.close_session()def removeAddressForUser(self, userid, addressId):"""Parameters:- userid- addressId"""log_entry(self, "removing address")try:return remove_address_for_user(userid, addressId)finally:UserDataAccessors.close_session()def setUserAsLoggedIn(self, userId, timestamp):"""Parameters:- userId- timestamp"""log_entry(self, "set_user_as_logged_in")try:return set_user_as_logged_in(userId, timestamp)finally:UserDataAccessors.close_session()def setUserAsLoggedOut(self, userId, timestamp):"""Parameters:- userId- timestamp"""log_entry(self, "set user as logged out")try:return set_user_as_logged_out(userId, timestamp)finally:UserDataAccessors.close_session()def setDefaultAddress(self, userId, addressId):"""Parameters:- userId- addressId"""try:return set_default_address(userId, addressId)finally:UserDataAccessors.close_session()def updatePassword(self, userid, oldPassword, newPassword):"""Parameters:- userid- oldPassword- newPassword"""log_entry(self, "updating password")try:return update_password(userid, oldPassword, newPassword)finally:UserDataAccessors.close_session()def forgotPassword(self, email, password):"""Parameters:"""log_entry(self, "forgot password")try:return forgot_password(email, password)finally:UserDataAccessors.close_session()def getAllAddressesForUser(self, userId):"""Parameters:- userId"""try:addresses = get_all_addresses_for_user(userId)t_addresses = list()for address in addresses:t_addresses.append(to_t_address(address))return t_addressesfinally:UserDataAccessors.close_session()def getDefaultAddressId(self, userId):"""Parameters:- userId"""try:return get_default_address_id(userId)finally:UserDataAccessors.close_session()def getDefaultPincode(self, userId):"""Parameters:- userId"""try:return get_default_pincode(userId)finally:UserDataAccessors.close_session()def createCart(self, userId):"""Parameters:- userId"""try:return create_cart(userId).idfinally:UserDataAccessors.close_session()def getCurrentCart(self, userId):"""Parameters:- userId"""try:cart = get_cart(userId)if cart:return to_t_cart(cart)else:raise ShoppingCartException(101, "not cart attached to this user")finally:CartDataAccessors.close_session()def getCart(self, cartId):"""Parameters:- cartId"""try:cart = get_cart_by_id(cartId)if cart:return to_t_cart(cart)else:raise ShoppingCartException(101, "not cart attached to this id")finally:CartDataAccessors.close_session()def getCartsForUser(self, userId, status):"""Parameters:- userId- status"""try:if not userId:raise ShoppingCartException(101, "user_id is not provided")carts = get_cart_by_user_id_and_status(userId, status)t_carts = []if carts:for cart in carts:t_carts.append(to_t_cart(cart))return t_cartsfinally:CartDataAccessors.close_session()def getCartsByStatus(self, status):"""Parameters:- status"""try:carts = get_carts_by_status(status)t_carts = []if carts:for cart in carts:t_carts.append(to_t_cart(cart))return t_cartsfinally:CartDataAccessors.close_session()def getCartsByTime(self, from_time, to_time, status):"""Parameters:- from_time- to_time- status"""try:carts = get_carts_between(from_time, to_time, status)t_carts = []if carts:for cart in carts:t_carts.append(to_t_cart(cart))return t_cartsfinally:CartDataAccessors.close_session()def changeCartStatus(self, cartId, status):"""Parameters:- cartId- status"""try:change_cart_status(cartId, status)finally:CartDataAccessors.close_session()def addItemToCart(self, cartId, itemId, quantity):"""Parameters:- cartId- itemId- quantity"""try:add_item_to_cart(cartId, itemId, quantity)finally:CartDataAccessors.close_session()def deleteItemFromCart(self, cartId, itemId):"""Parameters:- cartId- itemId"""try:delete_item_from_cart(cartId, itemId)finally:CartDataAccessors.close_session()def changeQuantity(self, cartId, itemId, quantity):"""Parameters:- cartId- itemId- quantity"""try:add_item_to_cart(cartId, itemId, quantity)finally:CartDataAccessors.close_session()def changeItemStatus(self, cartId, itemId, status):"""Parameters:- cartId- itemId"""try:return change_item_status(cartId, itemId, status)finally:CartDataAccessors.close_session()def addAddressToCart(self, cartId, addressId):"""Parameters:- cartId- addressId"""try:return add_address_to_cart(cartId, addressId)finally:CartDataAccessors.close_session()def createOrders(self, cartId):"""Parameters:- cartId"""try:return commit_cart(cartId)finally:CartDataAccessors.close_session()def validateCart(self, cartId):"""Parameters:- cartId"""try:return validate_cart(cartId)finally:CartDataAccessors.close_session()def mergeCart(self, fromCartId, toCartId):"""Parameters:- fromCartId- toCartId"""try:merge_cart(fromCartId, toCartId)finally:CartDataAccessors.close_session()def checkOut(self, cartId):"""Sets the checkedOutOn timestamp of the cart. Raises an exception if the specified cart can't be found.Parameters:- cartId"""try:return check_out(cartId)finally:CartDataAccessors.close_session()def resetCart(self, cartId, items):"""The second parameter is a map of item ids and their quantities which have been successfully processed.This methods removes the specified quantiry of the specified item from the cart.Parameters:- cartId- items"""try:return reset_cart(cartId, items)finally:CartDataAccessors.close_session()#Widget related methodsdef getMyResearch(self, userId):"""Parameters:- user_id"""try:return to_t_widget(get_my_research(userId))finally:WidgetDataAccessor.close_session()def updateMyResearch(self, userId, itemId):"""Parameters:- user_id- item_id"""try:return update_my_research(userId, itemId)finally:WidgetDataAccessor.close_session()def deleteItemFromMyResearch(self, userId, itemId):"""Parameters:- user_id- item_id"""try:return delete_item_from_my_research(userId, itemId)finally:WidgetDataAccessor.close_session()def updateBrowseHistory(self, userId, itemId):"""Parameters:- user_id- item_id"""try:update_browse_history(userId, itemId)finally:WidgetDataAccessor.close_session()def getBrowseHistory(self, userId):"""Parameters:- user_id"""try:return to_t_widget(get_browse_history(userId))finally:WidgetDataAccessor.close_session()def mergeBrowseHistory(self, fromUserId, toUserId):"""Parameters:- user_id"""try:return merge_browse_history(fromUserId, toUserId)finally:WidgetDataAccessor.close_session()def closeSession(self, ):CartDataAccessors.close_session()UserDataAccessors.close_session()WidgetDataAccessor.close_session()'''def addWidget(self, widget):"""Parameters:- widget"""try:add_widget(widget)finally:WidgetDataAccessor.close_session()def addItemToWidget(self, widget_id, items):"""Parameters:- widget_id- items"""try:add_items_to_widget(widget_id, items)finally:WidgetDataAccessor.close_session()def updateWidget(self, widgetId, enable):"""Parameters:- widgetId- enable"""try:update_widget(widgetId, enable)finally:WidgetDataAccessor.close_session()def updateWidgetItem(self, widgetId, enable):"""Parameters:- widgetId- enable"""try:update_widget(widgetId, enable)finally:WidgetDataAccessor.close_session()def deleteItemFromWidget(self, widget_id, item_id):"""Parameters:- widget_id- item_id"""try:return delete_item_from_widget(widget_id, item_id)finally:WidgetDataAccessor.close_session()def getWidget(self, type, userId, onlyEnabled):"""Parameters:- type- userId- onlyEnabled"""try:widget = get_widget_by_type(type, userId, onlyEnabled)return to_t_widget(widget)finally:WidgetDataAccessor.close_session()def updateRatings(self, item_id, type, rating, user_id):"""Parameters:- item_id- type- rating- user_id"""try:update_ratings(user_id, item_id, rating, type)finally:WidgetDataAccessor.close_session()def getRatings(self, item_id, user_id):"""Parameters:- item_id- user_id"""try:all_ratings, user_ratings = get_ratings(user_id, item_id)return to_t_ratings(user_ratings, all_ratings, item_id, user_id)finally:WidgetDataAccessor.close_session()'''