from sqlalchemy.orm import Session from sqlalchemy import asc from typing import List from app.model.bussiness_model import ProjectImage as piModel from app.model.schemas.project_image_schemas import ProjectImage, ProjectImagePager from app.db.page_util import get_pager def get_image_pager(image: ProjectImagePager, session: Session): query = session.query(piModel).filter(piModel.project_id == image.project_id).order_by(asc(piModel.id)) pager = get_pager(query, image.pagerNum, image.pagerSize) pager.data = [ProjectImage.from_orm(image) for image in pager.data] return pager def get_image_list(project_id: int, session: Session): query = session.query(piModel).filter(piModel.project_id == project_id).order_by(asc(piModel.id)) image_list = [ProjectImage.from_orm(image).dict() for image in query.all()] return image_list def add_image(image: ProjectImage, session: Session): session.add(image) session.commit() return image def add_image_batch(images: List[ProjectImage], session: Session): for image in images: session.add(image) session.commit() def del_image(image_id: str, session: Session): row_del = session.query(piModel).filter_by(id=image_id).delete() session.commit() return row_del