{
    "rest": true,
    "allowMapping": false,
    "type": "projecttaskpredecessor",
    "id": "projecttaskpredecessor",
    "criteria": "projecttaskpredecessor ptp",
    "select": "ptp.successor as task_id, ptp.predecessor as predecessor_task_id, pred.title as predecessor_task_display, pred.startdatetime as predecessor_startdate, pred.enddate as predecessor_enddate, ptp.type as predecessor_type, ptp.lagdays AS lagdays",
    "where": "WHERE pred.startdatetime >= TO_DATE('{date_start}', 'YYYY-MM-DD')",
    "inner": "LEFT JOIN projecttask pred ON ptp.predecessor = pred.id",
    "group": "ORDER BY ptp.successor, ptp.predecessor",
    "keep": [],
    "ignore": ["id"],
    "custom_query": "SELECT ptp.successor as task_id, ptp.predecessor as predecessor_task_id, pred.title as predecessor_task_display, pred.startdatetime as predecessor_startdate, pred.enddate as predecessor_enddate, ptp.type as predecessor_type, ptp.lagdays AS lagdays FROM projecttaskpredecessor ptp LEFT JOIN projecttask pred ON ptp.predecessor = pred.id WHERE pred.startdatetime >= TO_DATE('{date_start}', 'YYYY-MM-DD') ORDER BY ptp.successor, ptp.predecessor",
    "mapping": {
        "enddate": "predecessor_enddate",
        "startdate": "predecessor_startdate",
        "projecttask": "task_id",
        "type": "predecessor_type",
        "lagdays": "lagdays",
        "predecessor_task_id": "predecessor_task_id"
    }
}
