def get_products_ep(user, archived, locked): if not has_required_role(user, 'product manager'): return 'Недопустимо для текущего пользователя', 403 products = get_products(archived, locked) return [ProductModel(item).as_json() for item in products], 200
def lock_product_with_id_ep(user, id): if not has_required_role(user, 'product manager'): return 'Недопустимо для текущего пользователя', 403 try: product = lock_product_with_id(id) return ProductModel(product).as_json(), 200 except BaseLBSException as e: return e.response()
def edit_user_with_id_roles_ep(user, id, body): if not has_required_role(user, 'user manager'): return 'Not allowed for current user', 403 try: roles = edit_user_with_id_roles(id, body) return [RoleModel(role).as_json() for role in roles], 200 except BaseLBSException as e: return e.response()
def remove_product_with_id_ep(user, id): if not has_required_role(user, 'product manager'): return 'Недопустимо для текущего пользователя', 403 try: remove_product_with_id(id) return 'Успех', 200 except BaseLBSException as e: return e.response()
def get_user_with_id_ep(user, id): if not has_required_role(user, 'user manager'): return 'Not allowed for current user', 403 try: user = get_user_with_id(id) return UserModel(user).as_json(), 200 except BaseLBSException as e: return e.response()
def stock_lunchbox_with_id_ep(id, stock, user): if not has_required_role(user, 'lunchbox manager'): return 'Недопустимо для текущего пользователя', 403 try: box = stock_lunchbox_with_id(id, stock) return LunchboxWithProductIdsModel(box[0], box[1]).as_json(), 200 except BaseLBSException as e: return e.response()
def get_lunchbox_products_with_id_ep(id, user): if not has_required_role(user, 'lunchbox manager'): return 'Недопустимо для текущего пользователя', 403 try: products = get_lunchbox_products_with_id(id) return [ProductModel(x).as_json() for x in products], 200 except BaseLBSException as e: return e.response()
def add_product_ep(user, body): if not has_required_role(user, 'product manager'): return 'Недопустимо для текущего пользователя', 403 model = ProductEditModel(body) try: product = add_product(model) return ProductModel(product).as_json(), 200 except BaseLBSException as e: return e.response()
def add_user_ep(user, body): if not has_required_role(user, 'user manager'): return 'Not allowed for current user', 403 model = NewUserModel(body) try: user = add_user(model) return UserModel(user).as_json(), 200 except BaseLBSException as e: return e.response()
def add_lunchbox_ep(body, user): if not has_required_role(user, 'lunchbox manager'): return 'Недопустимо для текущего пользователя', 403 model = LunchboxEditModel(0, body) try: box = add_lunchbox(model) return LunchboxWithProductIdsModel(box[0], box[1]).as_json(), 200 except BaseLBSException as e: return e.response()
def get_lunchboxes_ep(user, locked, archived): if not has_required_role(user, 'lunchbox manager'): return 'Недопустимо для текущего пользователя', 403 boxes = get_lunchboxes(locked, archived) return [ LunchboxWithProductIdsModel(x[0], x[1]).as_json() for x in boxes.items() ]
def get_roles_ep(user): if not has_required_role(user, 'user manager'): return 'Not allowed for current user', 403 roles = get_roles() return [RoleModel(role).as_json() for role in roles], 200