def get_dag_runs_batch(session): """Get list of DAG Runs""" body = request.get_json() try: data = dagruns_batch_form_schema.load(body) except ValidationError as err: raise BadRequest(detail=str(err.messages)) appbuilder = current_app.appbuilder readable_dag_ids = appbuilder.sm.get_readable_dag_ids(g.user) query = session.query(DagRun) if data.get("dag_ids"): dag_ids = set(data["dag_ids"]) & set(readable_dag_ids) query = query.filter(DagRun.dag_id.in_(dag_ids)) else: query = query.filter(DagRun.dag_id.in_(readable_dag_ids)) dag_runs, total_entries = _fetch_dag_runs( query, data["end_date_gte"], data["end_date_lte"], data["execution_date_gte"], data["execution_date_lte"], data["start_date_gte"], data["start_date_lte"], data["page_limit"], data["page_offset"], order_by=data.get('order_by', "id"), ) return dagrun_collection_schema.dump( DAGRunCollection(dag_runs=dag_runs, total_entries=total_entries))
def get_dag_runs_batch(session): """ Get list of DAG Runs """ body = request.get_json() try: data = dagruns_batch_form_schema.load(body) except ValidationError as err: raise BadRequest(detail=str(err.messages)) query = session.query(DagRun) if data["dag_ids"]: query = query.filter(DagRun.dag_id.in_(data["dag_ids"])) dag_runs, total_entries = _fetch_dag_runs( query, session, data["end_date_gte"], data["end_date_lte"], data["execution_date_gte"], data["execution_date_lte"], data["start_date_gte"], data["start_date_lte"], data["page_limit"], data["page_offset"], ) return dagrun_collection_schema.dump(DAGRunCollection(dag_runs=dag_runs, total_entries=total_entries))
def get_dag_runs_batch(*, session: Session = NEW_SESSION) -> APIResponse: """Get list of DAG Runs""" body = get_json_request_dict() try: data = dagruns_batch_form_schema.load(body) except ValidationError as err: raise BadRequest(detail=str(err.messages)) appbuilder = get_airflow_app().appbuilder readable_dag_ids = appbuilder.sm.get_readable_dag_ids(g.user) query = session.query(DagRun) if data.get("dag_ids"): dag_ids = set(data["dag_ids"]) & set(readable_dag_ids) query = query.filter(DagRun.dag_id.in_(dag_ids)) else: query = query.filter(DagRun.dag_id.in_(readable_dag_ids)) states = data.get("states") if states: query = query.filter(DagRun.state.in_(states)) dag_runs, total_entries = _fetch_dag_runs( query, end_date_gte=data["end_date_gte"], end_date_lte=data["end_date_lte"], execution_date_gte=data["execution_date_gte"], execution_date_lte=data["execution_date_lte"], start_date_gte=data["start_date_gte"], start_date_lte=data["start_date_lte"], limit=data["page_limit"], offset=data["page_offset"], order_by=data.get("order_by", "id"), ) return dagrun_collection_schema.dump( DAGRunCollection(dag_runs=dag_runs, total_entries=total_entries))