Ejemplo n.º 1
0
def get_sales():
    start, limit = clean_start_limit()
    sales = list()
    quantity = len( Sales.query.all() )
    for sale in Sale.query.all()[ start:start+limit ]:
        serializedSale = sale.serialize()
        serializedSale[ 'products' ] = [ {
            'id' : product.id,
            'name' : product.name,
            'description' : product.description,
            'price' : product.price
            } for product in sale.product_id ]
        sales.append( serializedSale )
    prev_link, next_link = create_next_prev_links( start, limit, quantity )
    response = {
        'quantity' : quantity,
        'paginate_link' : {
            'next' : '/products/sales' + next_link,
            'prev' : '/products/sales' + prev_link,
        },
        'sales' : sales
    }
    if prev_link == "":
        del response[ 'paginate_link' ][ 'prev' ]
    if next_link == "":
        del response[ 'paginate_link' ][ 'next' ]
    return jsonify( response )
Ejemplo n.º 2
0
def get_department( store_id, department_name ):
    start, limit = clean_start_limit()
    department = Department.query.filter( Department.store_id == store_id ).filter( Department.name == department_name ).first()
    if department is None:
        return jsonify( {
            'status_code' : 404,
            'message' : 'Department or Store does not exist'
        } )
    department_serialized = department.serialize()
    department_serialized[ 'employee' ] = [ employee.serialize( [ 'department_id' ] ) for employee in department.employee_id[ start:start+limit ] ]
    quantity = len( department.employee_id )
    prev_link, next_link = create_next_prev_links( start,limit, quantity )
    response = {
        'quantity' : quantity,
        'paginate_link' : {
            'next' : '/store/department/' + next_link,
            'prev' : '/store/department/' + prev_link
        },
        'department' : department_serialized,
        'store' : department.store.serialize( [ 'department' ] ),
    } 
    if prev_link == "":
        del response[ 'paginate_link' ][ 'prev' ]
    if next_link == "":
        del response[ 'paginate_link' ][ 'next' ]
    return jsonify( response )
Ejemplo n.º 3
0
def get_category_details( category_id ):
    start, limit = clean_start_limit()
    category = Category.query.get( category_id )
    if category is None:
        return jsonify( {
            'status_code' : 404,
            'message' : 'Category does not exist'
        } )
    categorySerialized = category.serialize()
    products = category.products[ start:start+limit ]
    quantity = len( category.products )
    categorySerialized[ 'products' ] = [ product.serialize( [ 'coupon' ] ) for product in products ]
    prev_link, next_link = create_next_prev_links( start, limit, quantity )
    response = {
        'product_quantity' : quantity,
        'paginate_link' : {
            'prev' : '/products/categories/' + str( category_id ) + prev_link,
            'next' : '/products/categories/' + str( category_id ) + next_link
        },
        'category' : categorySerialized
    }
    if prev_link == "":
        del response[ 'paginate_link' ][ 'prev' ]
    if next_link == "":
        del response[ 'paginate_link' ][ 'next' ]
    return jsonify( response )     
Ejemplo n.º 4
0
def get_clients():
    start, limit = clean_start_limit()
    clients = Client.query.all()[ start : start+limit ]
    clients = [ client.serialize() for client in clients ]
    quantity = len( Client.query.all() )
    prevLink, nextLink = create_next_prev_links( start, limit, quantity )
    response = {
        'quantity' : quantity,
        'paginate_link' : {
            'next' : '/client/' + nextLink,
            'prev' : '/client/' + prevLink
        },
        'client' : clients
    }
    return jsonify( response )
Ejemplo n.º 5
0
def get_store():
    start, limit = clean_start_limit()
    store = [ store.serialize() for store in Store.query.all()[ start:start+limit ] ]
    quantity = len(Store.query.all())
    prev_link, next_link = create_next_prev_links( start, limit, quantity )
    response = {
        'quantity' : quantity, 
        'paginate_link' : {
            'next' : '/store/' + next_link,
            'prev' : '/store/' + prev_link
        },
        'store' : store 
    }
    if prev_link == "":
        del response[ 'paginate_link' ][ 'prev' ]
    if next_link == "":
        del response[ 'paginate_link' ][ 'next' ]
    return jsonify( response ) 
Ejemplo n.º 6
0
def get_categories():
    start,limit = clean_start_limit()
    categories = [ category.serialize( [ 'products' ] ) for category in Category.query.all()[ start:start+limit ] ]
    quantity = len( Categories.query.all() ) 
    prev_link, next_link = create_next_prev_links( start, limit, quantity )
    response = {
        'quantity' : quantity,
        'paginate_link' : {
            'next' : '/products/categories/' + next_link,
            'prev' : '/products/categories/' + prev_link
        },
        'category' : categories
    }
    if prev_link == "":
        del response[ 'paginate_link' ][ 'prev' ]
    if next_link == "":
        del response[ 'paginate_link' ][ 'next' ]
    return jsonify( response )
Ejemplo n.º 7
0
def get_coupons():
    start, limit = clean_start_limit()
    quantity = len( Coupon.query.all() )
    coupons = [ coupon.serialize() for coupon in Coupon.query.all()[ start:start+limit ] ]
    prev_link, next_link = create_next_prev_links( start, limit, quantity)
    response = {
        'quantity' : len( coupons ),
        'paginate_link' : {
            'next' : '/products/coupons/' + next_link, 
            'prev' : '/products/coupons/' + prev_link
        },
        'coupons' : coupons  
    }
    if prev_link == "":
        del response[ 'paginate_link' ][ 'prev' ]
    if next_link == "":
        del response[ 'paginate_link' ][ 'next' ]
    return jsonify( response )
Ejemplo n.º 8
0
def get_employees():
    start, limit = clean_start_limit()
    employees = Employee.query.all()[ start : start+limit ]
    employeeSerialized = [ employee.serialize( [ 'department_id' ] ) for employee in employees ]
    quantity = len( Employee.query.all() )
    prev_link, next_link = create_next_prev_links( start, limit, quantity )
    response = {
        'quantity' : quantity,
        'paginate_link' : {
            'next' : '/employee/' + next_link,
            'prev' : '/employee/' + prev_link
        },
        'employee' : employeeSerialized
    }
    if prev_link == "":
        del response[ 'paginate_link' ][ 'prev' ]
    if next_link == "":
        del response[ 'paginate_link' ][ 'next' ]
    return jsonify( response )
Ejemplo n.º 9
0
def get_products():
    start, limit = clean_start_limit()
    quantity = len(Products.query.all())
    products = [product.serialize() for product in Product.query.all()[start:start+limit]]
    prev_link, next_link = create_next_prev_links(start, limit, quantity)
    response = { 
        "quantity" : quantity,
        "paginate_link" : {
            "next" : "/products/" + next_link,
            "prev" : "/products/" + prev_link
        }
    }
    if prev_link == "":
        del response['paginate_link']['prev']
    if next_link == "":
        del response['paginate_link']['next']
    for product in products:
        del product["coupon_id"]
        product_fix(product, exclude_list = ["client", "sale"])
    response["products"] = products
    return jsonify(response)