Пример #1
0
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
Пример #2
0
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()
Пример #3
0
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()
Пример #4
0
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()
Пример #5
0
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()
Пример #6
0
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()
Пример #7
0
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()
Пример #8
0
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()
Пример #9
0
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()
Пример #10
0
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()
Пример #11
0
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()
    ]
Пример #12
0
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