from fastapi import HTTPException

from model_server.session import Session

session = Session()

def validate_workflow_inputs(model_ids, inpaths):
    for mid in model_ids:
        if mid not in session.describe_loaded_models().keys():
            raise HTTPException(
                status_code=409,
                detail=f'Model {mid} has not been loaded'
            )
    for inpa in inpaths:
        if not inpa.exists():
            raise HTTPException(
                status_code=404,
                detail=f'Could not find file:\n{inpa}'
            )