From f78ad6823543d8c45a7c8a235320b4f7e240db10 Mon Sep 17 00:00:00 2001 From: tanshu Date: Tue, 27 Apr 2021 07:22:04 +0530 Subject: [PATCH] Fix: The route to update sort order of Menu Categories was not written. --- barker/barker/routers/menu_category.py | 21 ++++++++++++++++++- .../menu-category/menu-category.service.ts | 2 +- deploy.sh | 2 +- 3 files changed, 22 insertions(+), 3 deletions(-) diff --git a/barker/barker/routers/menu_category.py b/barker/barker/routers/menu_category.py index 3ea0efc..a165822 100644 --- a/barker/barker/routers/menu_category.py +++ b/barker/barker/routers/menu_category.py @@ -7,7 +7,7 @@ from typing import List, Optional import barker.schemas.menu_category as schemas from fastapi import APIRouter, Depends, HTTPException, Security, status -from sqlalchemy import distinct, select +from sqlalchemy import distinct, select, update from sqlalchemy.exc import SQLAlchemyError from ..core.security import get_current_active_user as get_user @@ -21,6 +21,25 @@ from . import effective_date router = APIRouter() +@router.post("/list", response_model=List[schemas.MenuCategory]) +def sort_order( + data: List[schemas.MenuCategory], + user: UserToken = Security(get_user, scopes=["sections"]), +) -> List[schemas.MenuCategory]: + try: + with SessionFuture() as db: + for index, item in enumerate(data): + db.execute(update(MenuCategory).where(MenuCategory.id == item.id_).values(sort_order=index)) + db.commit() + query = select(MenuCategory).order_by(MenuCategory.sort_order).order_by(MenuCategory.name) + return [menu_category_info(item) for item in db.execute(query).scalars().all()] + except SQLAlchemyError as e: + raise HTTPException( + status_code=status.HTTP_500_INTERNAL_SERVER_ERROR, + detail=str(e), + ) + + @router.post("", response_model=schemas.MenuCategory) def save( data: schemas.MenuCategoryIn, diff --git a/bookie/src/app/menu-category/menu-category.service.ts b/bookie/src/app/menu-category/menu-category.service.ts index a784061..6bac7d1 100644 --- a/bookie/src/app/menu-category/menu-category.service.ts +++ b/bookie/src/app/menu-category/menu-category.service.ts @@ -52,7 +52,7 @@ export class MenuCategoryService { updateSortOrder(list: MenuCategory[]): Observable { return this.http - .post(url, list, httpOptions) + .post(`${url}/list`, list, httpOptions) .pipe( catchError(this.log.handleError(serviceName, 'updateSortOrder')), ) as Observable; diff --git a/deploy.sh b/deploy.sh index fc6c9d4..2fdfaf6 100755 --- a/deploy.sh +++ b/deploy.sh @@ -16,7 +16,7 @@ echo "No version bump" git push --tags fi -cd docker/app || exit +cd "$parent_path/docker/app" || exit docker build --tag barker:latest . cd "$parent_path/docker" || exit docker save barker:latest | bzip2 | pv | ssh tanshu@knox.tanshu.com 'bunzip2 | sudo docker load'