Minor optimization and typofix

and add ctx to be rendered
This commit is contained in:
Tina_Azure
2023-04-22 23:08:57 +02:00
parent 1cd0ee05d2
commit 28b1375f01

View File

@ -48,11 +48,10 @@ int main(int argc, char *argv[]) {
* Freelancer Profile Page for customers
*/
CROW_ROUTE(app, "/customer/<string>").methods("POST"_method)
([databaseURI](const crow::request& postRequest, string freelancerName ) {
([configuration](const crow::request& postRequest, string freelancerName ) {
//Parses the request body and extracts the specified value
int freelancerID = stoi(Utilities::extractSingleValueFromRequestBody(postRequest.body.c_str(), "freelancerID"));
pqxx::connection databaseConnection(databaseURI);
pqxx::connection databaseConnection(configuration.databaseConnectionString);
pqxx::result resultFreelancer = Database::executePreparedStatement_SELECT_FREELANCER(databaseConnection, freelancerID);
//error handling if invalid ID was delivered
@ -71,7 +70,6 @@ int main(int argc, char *argv[]) {
if (resultFreelancer.size() != 0){
/*
* puts freelancer data into context
* todo::solve this with less hardcoding
*/
for (int i = 0; i < resultFreelancer.columns(); ++i) {
string freelancerColumn = resultFreelancer.column_name(i);
@ -89,10 +87,10 @@ int main(int argc, char *argv[]) {
* Page representing a freelancers Template
*/
CROW_ROUTE(app, "/customer/<string>/template/<string>").methods("POST"_method)
([databaseURI](const crow::request& postRequest, string freelancerName, string templateName ) {
([configuration](const crow::request& postRequest, string freelancerName, string templateName ) {
int templateID = stoi(Utilities::extractSingleValueFromRequestBody(postRequest.body.c_str(), "templateID"));
pqxx::connection databaseConnection(databaseURI);
pqxx::connection databaseConnection(configuration.databaseConnectionString);
pqxx::result resultTemplate = Database::executePreparedStatement_SELECT_TEMPLATE(databaseConnection, templateID);
crow::json::wvalue resultJsonTemplate = Database::convertResultRowToJSON(resultTemplate);
@ -119,10 +117,10 @@ int main(int argc, char *argv[]) {
* Page for entry of request data
*/
CROW_ROUTE(app, "/customer/<string>/template/<string>/request").methods("POST"_method)
([databaseURI](const crow::request& postRequest, string freelancerName, string templateName ) {
([configuration](const crow::request& postRequest, string freelancerName, string templateName ) {
int templateID = stoi(Utilities::extractSingleValueFromRequestBody(postRequest.body.c_str(), "templateID"));
pqxx::connection databaseConnection(databaseURI);
pqxx::connection databaseConnection(configuration.databaseConnectionString);
pqxx::result resultTemplate = Database::executePreparedStatement_SELECT_TEMPLATE(databaseConnection, templateID);
crow::json::wvalue resultJsonTemplate = Database::convertResultRowToJSON(resultTemplate);
@ -138,8 +136,8 @@ int main(int argc, char *argv[]) {
* executes the creation of a new request.
*/
CROW_ROUTE(app, "/customer/<string>/template/<string>/request/fulfilment").methods("POST"_method)
([databaseURI, configuration](const crow::request& postRequest, string freelancerName, string templateName ) {
pqxx::connection databaseConnection(databaseURI);
([configuration](const crow::request& postRequest, string freelancerName, string templateName ) {
pqxx::connection databaseConnection(configuration.databaseConnectionString);
string templateHTML = "customer_Freelancer_Template_Request_Fulfilment_ERROR.html";
Database::requestsItem newRequest;
@ -338,7 +336,7 @@ int main(int argc, char *argv[]) {
* Page for freelancer to sign up fulfillment
*/
CROW_ROUTE(app, "/freelancer/signup/fulfilment").methods("POST"_method)
([databaseURI, configuration](const crow::request& postRequest ) {
([configuration](const crow::request& postRequest ) {
crow::mustache::context ctx;
string postRequestBody = postRequest.body;
@ -364,7 +362,7 @@ int main(int argc, char *argv[]) {
if (requestFillCompletion) {
//check if email address hasn't been registered yet
pqxx::connection databaseConnection(databaseURI);
pqxx::connection databaseConnection(configuration.databaseConnectionString);
pqxx::result checkResult = Database::executePreparedStatement_SELECT_CHECK_EMAIL_EXISTS(databaseConnection, email);
int checkResultExtracted = stoi(checkResult.at(0).at(0).c_str());
@ -374,6 +372,7 @@ int main(int argc, char *argv[]) {
pwhash = Utilities::hashPassword(pwsalt, password);
int errorLevel = Database::executePreparedStatement_INSERT_NEW_FREELANCER(databaseConnection, email, name, pwsalt, pwhash);
if (errorLevel == 0) {
ctx["REGISTRATION_SUCCESS"] = true;
ctx["freelancername"] = name;
@ -390,7 +389,7 @@ int main(int argc, char *argv[]) {
else {
ctx["REGISTRATION_ERROR"] = true;
ctx["freelanceremail"] = email;
ctx["REGISTRATION_ERROR_EMAIL_ALREADY_IN_USE<"] = true;
ctx["REGISTRATION_ERROR_EMAIL_ALREADY_IN_USE"] = true;
}
}
else {
@ -402,7 +401,7 @@ int main(int argc, char *argv[]) {
auto page = crow::mustache::load(templateHTML);
return page.render();
return page.render(ctx);
});