database request to check if a reset key is expired
This commit is contained in:
@ -130,6 +130,12 @@ namespace Database {
|
|||||||
const static std::string PREPARED_STATEMENT_SELECT_FREELANCER_EMAIL_FROM_PASSWORD_RESET_KEY = "selectFreelancerEmailAddressFromPasswordResetKeys";
|
const static std::string PREPARED_STATEMENT_SELECT_FREELANCER_EMAIL_FROM_PASSWORD_RESET_KEY = "selectFreelancerEmailAddressFromPasswordResetKeys";
|
||||||
const static std::string SQL_STATEMENT_SELECT_FREELANCER_EMAIL_FROM_PASSWORD_RESET_KEY = "select freelanceremail from passwordresetkeys where passwordresetkey = $1;";
|
const static std::string SQL_STATEMENT_SELECT_FREELANCER_EMAIL_FROM_PASSWORD_RESET_KEY = "select freelanceremail from passwordresetkeys where passwordresetkey = $1;";
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Name and Statement for prepared statement to check if an reset key is expired
|
||||||
|
* returns 0 if key not expired
|
||||||
|
*/
|
||||||
|
const static std::string PREPARED_STATEMENT_SELECT_CHECK_FREELANCER_RESET_KEY_EXPIRED = "checkFreelancerResetKeyExpired";
|
||||||
|
const static std::string SQL_STATEMENT_SELECT_CHECK_FREELANCER_RESET_KEY_EXPIRED = "select count(*) from passwordresetkeys where passwordresetkey = $1 and expiration <= CURRENT_TIMESTAMP;";
|
||||||
/*
|
/*
|
||||||
* Statement to remove expired reset keys
|
* Statement to remove expired reset keys
|
||||||
*/
|
*/
|
||||||
@ -556,6 +562,21 @@ namespace Database {
|
|||||||
connection.unprepare(PREPARED_STATEMENT_SELECT_CHECK_FREELANCER_RESET_KEY);
|
connection.unprepare(PREPARED_STATEMENT_SELECT_CHECK_FREELANCER_RESET_KEY);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Executes the prepared statement SELECT_CHECK_FREELANCER_RESET_KEY_EXPIRED
|
||||||
|
* Takes an open pqxx::connection and the password reset key
|
||||||
|
* returns 0 if reset key is not expired
|
||||||
|
*/
|
||||||
|
pqxx::result executePreparedStatement_SELECT_CHECK_FREELANCER_RESET_KEY_EXPIRED(pqxx::connection &connection, const std::string& freelancerEmail) {
|
||||||
|
connection.prepare(PREPARED_STATEMENT_SELECT_CHECK_FREELANCER_RESET_KEY_EXPIRED, SQL_STATEMENT_SELECT_CHECK_FREELANCER_RESET_KEY_EXPIRED);
|
||||||
|
pqxx::work work(connection);
|
||||||
|
pqxx::result result = work.exec_prepared(PREPARED_STATEMENT_SELECT_CHECK_FREELANCER_RESET_KEY_EXPIRED, freelancerEmail);
|
||||||
|
work.commit();
|
||||||
|
connection.unprepare(PREPARED_STATEMENT_SELECT_CHECK_FREELANCER_RESET_KEY_EXPIRED);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Executes the prepared statement SELECT_FREELANCER_EMAIL_FROM_PASSWORD_RESET_KEY
|
* Executes the prepared statement SELECT_FREELANCER_EMAIL_FROM_PASSWORD_RESET_KEY
|
||||||
* Takes an open pqxx::connection and the password reset key
|
* Takes an open pqxx::connection and the password reset key
|
||||||
|
Reference in New Issue
Block a user