def get_warehouse_settings(session: helpers.extend.session, user: hug.directives.user, response, id: int): """Gets a warehouse""" warehouse = helpers.get( "warehouse", session, queries.with_viewer_role(queries.user_warehouse(session, user, id))) return helpers.response.from_json(warehouse.settings)
def list_articles(session: helpers.extend.session, user: hug.directives.user, response, warehouse_id: int=None): """ Lists warehouse locations """ if warehouse_id is not None: return helpers.do_in_warehouse("article", queries.with_viewer_role(queries.user_warehouse(session, user, warehouse_id)), lambda warehouse: session.query(Article).filter_by(warehouse=warehouse).all()) else: return helpers.response.error("no_location_or_warehouse_specified", falcon.HTTP_400)
def list_references(session: helpers.extend.session, user: hug.directives.user, response, warehouse_id: int, name=None): """ Lists warehouse references """ def filter(warehouse): query = session.query(Reference).filter_by(warehouse=warehouse) if name: query = query.filter_by(name=name) return query.all() return helpers.do_in_warehouse( "reference", queries.with_viewer_role( queries.user_warehouse(session, user, warehouse_id)), filter)
def get_article(session: helpers.extend.session, user: hug.directives.user, response, id: int=None): """Gets a article""" return helpers.get("article", session, queries.with_viewer_role(queries.user_article(session, user, id)))
def get_reference(session: helpers.extend.session, user: hug.directives.user, response, id: int): """Gets a reference""" return helpers.get( "reference", session, queries.with_viewer_role(queries.user_reference(session, user, id)))
def get_location(session: helpers.extend.session, user: hug.directives.user, response, id: int): """Gets a location""" return helpers.get( "location", session, queries.with_viewer_role(queries.user_location(session, user, id)))
def get_category(session: helpers.extend.session, user: hug.directives.user, response, id: int): """Gets a category""" return helpers.get( "category", session, queries.with_viewer_role(queries.user_category(session, user, id)))
def list_warehouses(session: helpers.extend.session, user: hug.directives.user, response): """ Lists user warehouses """ return queries.with_viewer_role(queries.user_warehouses(session, user)).all()