from sqlalchemy import Select, Delete, func from src.database.service import search_filter_sort_paginate from .model import OverhaulJob from typing import Optional from .schema import OverhaulJobCreate from src.database.core import DbSession from src.auth.service import CurrentUser async def get_all(*, common, overhaul_session_id: str): """Returns all documents.""" query = Select(OverhaulJob).where(OverhaulJob.overhaul_scope_id == overhaul_session_id) results = await search_filter_sort_paginate(model=query, **common) return results async def create(*, db_session: DbSession, overhaul_session_id, scope_job_in: OverhaulJobCreate): scope_jobs = [] if not overhaul_session_id: raise ValueError("assetnum parameter is required") for job_id in scope_job_in.job_ids: scope_equipment_job = OverhaulJob( overhaul_session_id=overhaul_session_id, job_id=job_id) scope_jobs.append(scope_equipment_job) db_session.add_all(scope_jobs) await db_session.commit() return scope_job_in.job_ids # async def update(*, db_session: DbSession, scope: OverhaulScope, scope_in: ScopeUpdate): # """Updates a document.""" # data = scope_in.model_dump() # update_data = scope_in.model_dump(exclude_defaults=True) # for field in data: # if field in update_data: # setattr(scope, field, update_data[field]) # await db_session.commit() # return scope # async def delete(*, db_session: DbSession, scope_id: str): # """Deletes a document.""" # query = Delete(OverhaulScope).where(OverhaulScope.id == scope_id) # await db_session.execute(query) # await db_session.commit()