package gov.nysenate.openleg.dao.hearing; import gov.nysenate.openleg.dao.base.BasicSqlQuery; import gov.nysenate.openleg.dao.base.SqlTable; public enum SqlPublicHearingQuery implements BasicSqlQuery { SELECT_PUBLIC_HEARING_IDS( "SELECT filename FROM ${schema}." + SqlTable.PUBLIC_HEARING ), SELECT_PUBLIC_HEARING_BY_ID( "SELECT * FROM ${schema}." + SqlTable.PUBLIC_HEARING + "\n" + "WHERE filename = :filename" ), UPDATE_PUBLIC_HEARING( "UPDATE ${schema}." + SqlTable.PUBLIC_HEARING + "\n" + "SET title = :title, date = :date, address = :address, text = :text, " + "start_time = :startTime, end_time = :endTime, " + "modified_date_time = :modifiedDateTime, published_date_time = :publishedDateTime" + "\n" + "WHERE filename = :filename" ), INSERT_PUBLIC_HEARING( "INSERT INTO ${schema}." + SqlTable.PUBLIC_HEARING + "\n" + "(filename, date, title, address, text, start_time, end_time)" + "\n" + "VALUES (:filename, :date, :title, :address, :text, :startTime, :endTime)" ), SELECT_PUBLIC_HEARING_COMMITTEES( "SELECT * FROM ${schema}." + SqlTable.PUBLIC_HEARING_COMMITTEE + "\n" + "WHERE filename = :filename" ), DELETE_PUBLIC_HEARING_COMMITTEE( "DELETE FROM ${schema}." + SqlTable.PUBLIC_HEARING_COMMITTEE + "\n" + "WHERE filename = :filename AND committee_name = :committeeName " + "AND committee_chamber = :committeeChamber::chamber)" ), INSERT_PUBLIC_HEARING_COMMITTEES( "INSERT INTO ${schema}." + SqlTable.PUBLIC_HEARING_COMMITTEE + "\n" + "(filename, committee_name, committee_chamber) " + "VALUES (:filename, :committeeName, :committeeChamber::chamber)" ), SELECT_PUBLIC_HEARING_UPDATES( "SELECT filename, modified_date_time, COUNT(*) OVER() as total_updated " + "FROM ${schema}." + SqlTable.PUBLIC_HEARING + "\n" + "WHERE modified_date_time BETWEEN :startDateTime AND :endDateTime" ); private String sql; SqlPublicHearingQuery(String sql) { this.sql = sql; } @Override public String getSql() { return this.sql; } }