def product_getbyid(): print('product/getbyid') data = {} keys = ['id'] try: for key in keys: data[key] = get_request(key, None) if data['id'] is None or data['id'] == '': return json_response({ 'success': False, 'errcode': model.ResponseCode.bad_param, 'message': model.ResponseText.bad_param, }) results = model.Product.get_by_id(int(data['id'])).to_dict() return json_response({ 'success': True, 'message': model.ResponseText.success, 'results': results }) except: return json_response({ 'success': False, 'errcode': model.ResponseCode.server_error, 'message': model.ResponseText.server_error, })
def product_delete(): print('product/delete') data = {} keys = ['id'] try: for key in keys: data[key] = get_request(key, None) if data['id'] is None or data['id'] == '': return json_response({ 'success': False, 'errcode': model.ResponseCode.bad_param, 'message': model.ResponseText.bad_param, }) product = model.Product.get_by_id(data['id']) product.status = 1 model.add(product) model.commit() return json_response({ 'success': True, 'message': model.ResponseText.success, }) except: return json_response({ 'success': False, 'errcode': model.ResponseCode.server_error, 'message': model.ResponseText.server_error, })
def farm_delete(): print('farm/delete') data = {} keys = ['id'] try: for key in keys: data[key] = get_request(key, None) if data['id'] is None or data['id'] == '': return json_response({ 'success': False, 'errcode': model.ResponseCode.bad_param, 'message': model.ResponseText.bad_param, }) farm = model.Farm.get_by_id(data['id']) model.delete(farm) model.commit() return json_response({ 'success': True, 'message': model.ResponseText.success, }) except: return json_response({ 'success': False, 'errcode': model.ResponseCode.server_error, 'message': model.ResponseText.server_error, })
def product_getbyparam(): print('admin/getbyparam') data = get_request_dict() try: if not ('ids' in data) or data['ids'] == '' or \ not ('lower_price' in data) or data['lower_price'] == '' or \ not ('upper_price' in data) or data['upper_price'] == '': return json_response({ 'success': False, 'errcode': model.ResponseCode.bad_param, 'message': model.ResponseText.bad_param, }) if not ('keyword' in data) or data['keyword'] == '': data['keyword'] = '' results = [ product.to_dict() for product in model.Product.getbyparam( data['ids'], data['lower_price'], data['upper_price'], data['keyword']) ] return json_response({ 'success': True, 'message': model.ResponseText.success, 'results': results }) except: return json_response({ 'success': False, 'errcode': model.ResponseCode.server_error, 'message': model.ResponseText.server_error, })
def signin(): print('auth/siginin') data = {} keys = ['email', 'password'] try: for key in keys: data[key] = get_request(key, None) password = hashlib.md5(data['password'].encode()).hexdigest() user = model.User.find_by_email_and_password(data['email'], password) if not user: return json_response({ 'success': False, 'errcode': model.ResponseCode.auth_error, 'message': model.ResponseText.auth_error, }) # if not user.email_verify: # return json_response({ # 'success': False, # 'errcode': model.ResponseCode.require_email_verify, # 'message': model.ResponseText.require_email_verify, # }) return json_response({ 'success': True, 'message': model.ResponseText.success, 'results': user.to_dict(), }) except: return json_response({ 'success': False, 'errcode': model.ResponseCode.server_error, 'message': model.ResponseText.server_error, })
def confirm_email(): print('auth/confirm_email') data = {} keys = ['token'] try: for key in keys: data[key] = get_request(key, None) if data['token'] is None or data['token'] == '': return json_response({ 'success': False, 'errcode': model.ResponseCode.bad_param, 'message': model.ResponseText.bad_param, }) user = model.User.find_by_token(data['token']) if not user: return json_response({ 'success': False, 'errcode': model.ResponseCode.no_exist, 'message': model.ResponseText.no_exist, }) user.email_verify = True model.add(user) model.commit() return json_response({ 'success': True, 'message': model.ResponseText.success, }) except: return json_response({ 'success': False, 'errcode': model.ResponseCode.server_error, 'message': model.ResponseText.server_error, })
def basket_getall(): print('basket/getall') try: data = {} keys = ['token'] for key in keys: data[key] = get_request(key, None) if data['token'] is None or data['token'] == '': return json_response({ 'success': False, 'errcode': model.ResponseCode.bad_param, 'message': model.ResponseText.bad_param, }) results = [basket.to_dict() for basket in model.Basket.get_by_status(0)] return json_response({ 'success': True, 'message': model.ResponseText.success, 'results': results }) except: return json_response({ 'success': False, 'errcode': model.ResponseCode.server_error, 'message': model.ResponseText.server_error, })
def basket_getbyids(): print('basket/getbyids') data = {} keys = ['token','ids'] try: for key in keys: data[key] = get_request(key, None) if data['ids'] is None or data['ids'] == '' or \ data['token'] is None or data['token'] == '': return json_response({ 'success': False, 'errcode': model.ResponseCode.bad_param, 'message': model.ResponseText.bad_param, }) basket = model.Basket.get_by_ids(data['ids']) results = [item.to_dict() for item in basket] return json_response({ 'success': True, 'message': model.ResponseText.success, 'results': results }) except: return json_response({ 'success': False, 'errcode': model.ResponseCode.server_error, 'message': model.ResponseText.server_error, })
def pcategory_delete(): print('category/delete') data = {} keys = ['id'] try: for key in keys: data[key] = get_request(key, None) if data['id'] is None or data['id'] == '': return json_response({ 'success': False, 'errcode': model.ResponseCode.bad_param, 'message': model.ResponseText.bad_param, }) category = model.PCategory.get_by_id(int(data['id'])) model.delete(category) model.commit() return json_response({ 'success': True, 'message': model.ResponseText.success, }) except: return json_response({ 'success': False, 'errcode': model.ResponseCode.server_error, 'message': model.ResponseText.server_error, })
def signup(): print('admin/signup') data = {} keys = ['email', 'password'] try: for key in keys: data[key] = get_request(key, None) if model.User.check_exist_by_email(data['email']): return json_response({ "success": False, "message": 'This email is alread used by another person.' }) password = hashlib.md5(data['password'].encode()).hexdigest() user = model.User(data['email'], password, 1) model.add(user) model.commit() return json_response({ 'success': True, 'message': 'Sign up success.', }) except: return json_response({ 'success': False, 'message': 'Error occurs. Please try again later.', })
def order_delete(): print('order/delete') data = {} keys = ['token', 'orderid'] try: for key in keys: data[key] = get_request(key, None) if data['orderid'] is None or data['orderid'] == '' or \ data['token'] is None or data['token'] == '': return json_response({ 'success': False, 'errcode': model.ResponseCode.bad_param, 'message': model.ResponseText.bad_param, }) user = model.User.find_by_token(data['token']) if not user: return json_response({ 'success': False, 'errcode': model.ResponseCode.no_exist, 'message': model.ResponseText.no_exist, }) order = model.Order.get_by_id(int(data['orderid'])) model.delete(order) model.commit() return json_response({ 'success': True, 'message': model.ResponseText.success, }) except: return json_response({ 'success': False, 'errcode': model.ResponseCode.server_error, 'message': model.ResponseText.server_error, })
def order_search(): print('order/search') data = get_request_dict() try: if not ('token' in data) or data['token'] == '': return json_response({ 'success': False, 'errcode': model.ResponseCode.bad_param, 'message': model.ResponseText.bad_param, }) user = model.User.find_by_token(data['token']) if not user: return json_response({ 'success': False, 'errcode': model.ResponseCode.no_exist, 'message': model.ResponseText.no_exist, }) if not ('keyword' in data) or data['keyword'] == '': data['keyword'] = '' results = [ order.to_dict() for order in model.Order.search(data['keyword']) ] return json_response({ 'success': True, 'message': model.ResponseText.success, 'results': results }) except: return json_response({ 'success': False, 'errcode': model.ResponseCode.server_error, 'message': model.ResponseText.server_error, })
def card_getall(): print('card/getall') data = {} try: data = get_request_dict() if not ('token' in data) or data['token'] == '': return json_response({ 'success': False, 'errcode': model.ResponseCode.bad_param, 'message': model.ResponseText.bad_param, }) user = model.User.find_by_token(data['token']) if not user: return json_response({ 'success': False, 'errcode': model.ResponseCode.no_exist, 'message': model.ResponseText.no_exist, }) results = [card.to_dict() for card in model.Card.get_all()] return json_response({ 'success': True, 'message': model.ResponseText.success, 'results': results }) except: return json_response({ 'success': False, 'errcode': model.ResponseCode.server_error, 'message': model.ResponseText.server_error, })
def farm_update(): print('farm/update') data = {} try: data = get_request_dict() if not ('id' in data) or data['id'] == '' or \ not ('token' in data) or data['token'] == '': return json_response({ 'success': False, 'errcode': model.ResponseCode.bad_param, 'message': model.ResponseText.bad_param, }) user = model.User.find_by_token(data['token']) if not user: return json_response({ 'success': False, 'errcode': model.ResponseCode.no_exist, 'message': model.ResponseText.no_exist, }) farm = model.Farm.get_by_id(data['id']) if ('name' in data) and data['name'] != '': farm.name = data['name'] if ('ownerid' in data) and data['ownerid'] != '': farm.ownerid = data['ownerid'] if ('photo' in data) and data['photo'] != '': farm.photo = data['photo'] if ('address' in data) and data['address'] != '': farm.address = data['address'] if ('city' in data) and data['city'] != '': farm.city = data['city'] if ('state' in data) and data['state'] != '': farm.state = data['state'] if ('zipcode' in data) and data['zipcode'] != '': farm.zipcode = data['zipcode'] if ('lat' in data) and data['lat'] != '': farm.lat = data['lat'] if ('lon' in data) and data['lon'] != '': farm.lon = data['lon'] if ('link_url' in data) and data['link_url'] != '': farm.link_url = data['link_url'] if ('link_phone' in data) and data['link_phone'] != '': farm.link_phone = data['link_phone'] if ('status' in data) and data['status'] != '': farm.status = data['status'] if ('employees' in data) and data['employees'] != '': farm.employees = data['employees'] model.add(farm) model.commit() return json_response({ 'success': True, 'message': model.ResponseText.success, 'results': farm.to_dict() }) except: return json_response({ 'success': False, 'errcode': model.ResponseCode.server_error, 'message': model.ResponseText.server_error, })
def introduction_update(): print('introduction/update') data = {} try: data = get_request_dict() if data['id'] is None or data['id'] == '': return json_response({ 'success': False, 'errcode': model.ResponseCode.bad_param, 'message': model.ResponseText.bad_param, }) introduction = model.Introduction.get_by_id(int(data['id'])) if ('title' in data) and data['title'] != '': introduction.title = data['title'] if ('subtitle' in data) and data['subtitle'] != '': introduction.subtitle = data['subtitle'] if ('price' in data) and data['price'] != '': introduction.price = data['price'] if ('description' in data) and data['description'] != '': introduction.description = data['description'] if ('image' in data) and data['image'] != '': introduction.image = data['image'] model.add(introduction) model.commit() return json_response({ 'success': True, 'message': model.ResponseText.success, }) except: return json_response({ 'success': False, 'errcode': model.ResponseCode.server_error, 'message': model.ResponseText.server_error, })
def profile_getbyuserid(): print('profile/getuser') data = {} keys = ['token'] try: for key in keys: data[key] = get_request(key, None) if data['token'] is None or data['token'] == '': return json_response({ 'success': False, 'errcode': model.ResponseCode.bad_param, 'message': model.ResponseText.bad_param, }) user = model.User.find_by_token(data['token']) if not user: return json_response({ 'success': False, 'errcode': model.ResponseCode.no_exist, 'message': model.ResponseText.no_exist, }) return json_response({ 'success': True, 'message': model.ResponseText.success, 'results' : user.to_dict() }) except: return json_response({ 'success': False, 'errcode': model.ResponseCode.server_error, 'message': model.ResponseText.server_error, })
def introduction_add(): print('introduction/add') data = {} keys = ['title', 'subtitle', 'description', 'image'] try: for key in keys: data[key] = get_request(key, None) if data['title'] is None or data['title'] == '': return json_response({ 'success': False, 'errcode': model.ResponseCode.bad_param, 'message': model.ResponseText.bad_param, }) introduction = model.Introduction(data['title']) if data['subtitle'] and data['subtitle'] != '': introduction.subtitle = data['subtitle'] if data['description'] and data['description'] != '': introduction.description = data['description'] if data['image'] and data['image'] != '': introduction.image = data['image'] model.add(introduction) model.commit() return json_response({ 'success': True, 'message': model.ResponseText.success, }) except: return json_response({ 'success': False, 'errcode': model.ResponseCode.server_error, 'message': model.ResponseText.server_error, })
def admin_getuserbyrole(): print('admin/getuserbyrole') data = {} keys = ['token', 'role'] try: for key in keys: data[key] = get_request(key, None) if data['token'] is None or data['token'] == '' or \ data['role'] is None or data['role'] == '': return json_response({ 'success': False, 'errcode': model.ResponseCode.bad_param, 'message': model.ResponseText.bad_param, }) user = model.User.find_by_token(data['token']) if not user: return json_response({ 'success': False, 'errcode': model.ResponseCode.no_exist, 'message': model.ResponseText.no_exist, }) results = [ person.to_dict() for person in model.User.get_by_role(data['role']) ] return json_response({ 'success': True, 'message': model.ResponseText.success, 'results': results }) except: return json_response({ 'success': False, 'errcode': model.ResponseCode.server_error, 'message': model.ResponseText.server_error, })
def unit_getbyid(): print('unit/getbyid') data = {} try: data = get_request_dict() if not ('token' in data) or data['token'] == '' or \ not ('unitid' in data) or data['unitid'] == '': return json_response({ 'success': False, 'errcode': model.ResponseCode.bad_param, 'message': model.ResponseText.bad_param, }) user = model.User.find_by_token(data['token']) if not user: return json_response({ 'success': False, 'errcode': model.ResponseCode.no_exist, 'message': model.ResponseText.no_exist, }) unit = model.Unit.get_by_id(data['unitid']) return json_response({ 'success': True, 'message': model.ResponseText.success, 'results': unit.to_dict() }) except: return json_response({ 'success': False, 'errcode': model.ResponseCode.server_error, 'message': model.ResponseText.server_error, })
def category_uploadimage(): print('category/uploadimage') data = {} try: if 'image' not in request.files: return json_response({ 'success': False, 'errcode': model.ResponseCode.bad_param, 'message': model.ResponseText.bad_param, }) file = request.files['image'] if not file or file.filename == '' or not allow_extention( file.filename): return json_response({ 'success': False, 'errcode': model.ResponseCode.bad_param, 'message': model.ResponseText.bad_param, }) filename = datetime.now().strftime( "%Y%m%d%H%M%S%f") + '.' + file.filename.rsplit('.', 1)[1] file.save( os.path.join(app.config['UPLOAD_FOLDER'], 'category', filename)) return json_response({ 'success': True, 'message': model.ResponseText.success, 'results': filename }) except: return json_response({ 'success': False, 'errcode': model.ResponseCode.server_error, 'message': model.ResponseText.server_error, })
def basket_delete(): print('basket/delete') data = {} keys = ['token','id'] try: for key in keys: data[key] = get_request(key, None) if data['id'] is None or data['id'] == '' or \ data['token'] is None or data['token'] == '': return json_response({ 'success': False, 'errcode': model.ResponseCode.bad_param, 'message': model.ResponseText.bad_param, }) basket = model.Basket.get_by_id(int(data['id'])) model.delete(basket) model.commit() return json_response({ 'success': True, 'message': model.ResponseText.success, }) except: return json_response({ 'success': False, 'errcode': model.ResponseCode.server_error, 'message': model.ResponseText.server_error, })
def basket_getbyuserid(): print('basket/getbyuserid') data = {} keys = ['token', 'userid'] try: for key in keys: data[key] = get_request(key, None) if data['userid'] is None or data['userid'] == '' or \ data['token'] is None or data['token'] == '': return json_response({ 'success': False, 'errcode': model.ResponseCode.bad_param, 'message': model.ResponseText.bad_param, }) # user = model.Basket.user_by_token(data['token']) # if not user: # return json_response({ # 'success': False, # 'errcode': model.ResponseCode.no_exist, # 'message': model.ResponseText.no_exist, # }) cart = model.Basket.get_by_userid(data['userid']) # cart = model.Basket.get_by_status(0) results = [order.to_dict() for order in cart] return json_response({ 'success': True, 'message': model.ResponseText.success, 'results': results }) except: return json_response({ 'success': False, 'errcode': model.ResponseCode.server_error, 'message': model.ResponseText.server_error, })
def order_getbyfarmid(): print('order/getbyfarmid') data = {} keys = ['token', 'farmid', 'offset', 'limit', 'keyword'] try: for key in keys: data[key] = get_request(key, None) if data['farmid'] is None or data['farmid'] == '' or \ data['token'] is None or data['token'] == '': return json_response({ 'success': False, 'errcode': model.ResponseCode.bad_param, 'message': model.ResponseText.bad_param, }) user = model.User.find_by_token(data['token']) if not user: return json_response({ 'success': False, 'errcode': model.ResponseCode.no_exist, 'message': model.ResponseText.no_exist, }) offset = 0 limit = 50000 keyword = '' if ('offset' in data) and data['offset'] != '': offset = int(data['offset']) if ('limit' in data) and data['limit'] != '': limit = int(data['limit']) if ('keyword' in data) and data['keyword'] != '': keyword = data['keyword'] print(keyword) orders = model.Order.get_by_farmid(data['farmid'], offset, limit, keyword)['data'] results = [] no = 1 for order in orders: result = order.to_dict() result['no'] = no results.append(result) no += 1 # results = [order.to_dict() for order in orders] allcount = model.Order.get_by_farmid(data['farmid'], offset, limit, keyword)['count'] return json_response({ 'success': True, 'message': model.ResponseText.success, 'results': results, 'allcount': allcount }) except: return json_response({ 'success': False, 'errcode': model.ResponseCode.server_error, 'message': model.ResponseText.server_error, })
def card_add(): print('card/add') data = {} try: data = get_request_dict() if not ('token' in data) or data['token'] == '' or \ not ('stripetoken' in data) or data['stripetoken'] == '' or \ not ('number' in data) or data['number'] == '' or \ not ('funding' in data) or data['funding'] == '' or \ not ('branch' in data) or data['branch'] == '': return json_response({ 'success': False, 'errcode': model.ResponseCode.bad_param, 'message': model.ResponseText.bad_param, }) user = model.User.find_by_token(data['token']) if not user: return json_response({ 'success': False, 'errcode': model.ResponseCode.no_exist, 'message': model.ResponseText.no_exist, }) card = model.Card() card.userid = user.id card.branch = data['branch'] card.number = data['number'] card.funding = data['funding'] try: customer = stripe.Customer.create(email=user.email, source=data['stripetoken']) card.customerid = customer.id except stripe.error.StripeError: return json_response({ 'success': False, 'errcode': model.ResponseCode.pay_error, 'message': model.ResponseText.pay_error, }) model.add(card) model.commit() return json_response({ 'success': True, 'message': model.ResponseText.success, 'results': card.to_dict() }) except: return json_response({ 'success': False, 'errcode': model.ResponseCode.server_error, 'message': model.ResponseText.server_error, })
def basket_add(): print('basket/add') data = {} keys = ['token', 'productid', 'count'] try: for key in keys: data[key] = get_request(key, None) if data['token'] is None or data['token'] == '' or \ data['productid'] is None or data['productid'] == '' or \ data['count'] is None or data['count'] == '': return json_response({ 'success': False, 'errcode': model.ResponseCode.bad_param, 'message': model.ResponseText.bad_param, }) user = model.Basket.user_by_token(data['token']) if not user: return json_response({ 'success': False, 'errcode': model.ResponseCode.no_exist, 'message': model.ResponseText.no_exist, }) product = model.Basket.get_by_id_status(data['productid'], 0) if product: product.count += int(data['count']) model.add(product) model.commit() return json_response({ 'success': True, 'message': model.ResponseText.success, }) basket = model.Basket() basket.userid = user.id basket.productid = data['productid'] basket.count = data['count'] basket.status = 0 model.add(basket) model.commit() return json_response({ 'success': True, 'message': model.ResponseText.success, }) except: return json_response({ 'success': False, 'errcode': model.ResponseCode.server_error, 'message': model.ResponseText.server_error, })
def farm_getall(): print('farm/getall') try: results = [farm.to_dict() for farm in model.Farm.get_all()] return json_response({ 'success': True, 'message': model.ResponseText.success, 'results': results }) except: return json_response({ 'success': False, 'errcode': model.ResponseCode.server_error, 'message': model.ResponseText.server_error, })
def product_getall(): print('product/getall') data = get_request_dict() try: results = [product.to_dict() for product in model.Product.get_all()] return json_response({ 'success': True, 'message': model.ResponseText.success, 'results': results }) except: return json_response({ 'success': False, 'errcode': model.ResponseCode.server_error, 'message': model.ResponseText.server_error, })
def profile_update(): print('profile/update') data = {} try: data = get_request_dict() if not ('token' in data) or data['token'] == '': return json_response({ 'success': False, 'errcode': model.ResponseCode.bad_param, 'message': model.ResponseText.bad_param, }) user = model.User.find_by_token(data['token']) if not user: return json_response({ 'success': False, 'errcode': model.ResponseCode.no_exist, 'message': model.ResponseText.no_exist, }) if ('fname' in data) and data['fname'] != '': user.fname = data['fname'] if ('lname' in data) and data['lname'] != '': user.lname = data['lname'] if ('avatar' in data) and data['avatar'] != '': user.avatar = data['avatar'] if ('address' in data) and data['address'] != '': user.address = data['address'] if ('city' in data) and data['city'] != '': user.city = data['city'] if ('state' in data) and data['state'] != '': user.state = data['state'] if ('zipcode' in data) and data['zipcode'] != '': user.zipcode = data['zipcode'] if ('phone' in data) and data['phone'] != '': user.phone = data['phone'] model.add(user) model.commit() return json_response({ 'success': True, 'message': model.ResponseText.success, 'results' : user.to_dict() }) except: return json_response({ 'success': False, 'errcode': model.ResponseCode.server_error, 'message': model.ResponseText.server_error, })
def pcategory_getall(): print('category/getall') try: results = [ category.to_dict() for category in model.PCategory.get_all() ] return json_response({ 'success': True, 'message': model.ResponseText.success, 'results': results }) except: return json_response({ 'success': False, 'errcode': model.ResponseCode.server_error, 'message': model.ResponseText.server_error, })
def introduction_getall(): print('introduction/getall') try: results = [ introduction.to_dict() for introduction in model.Introduction.get_all() ] return json_response({ 'success': True, 'message': model.ResponseText.success, 'results': results }) except: return json_response({ 'success': False, 'errcode': model.ResponseCode.server_error, 'message': model.ResponseText.server_error, })