Access public file submission alias

database access of creation of a submission alias
This commit is contained in:
Tina_Azure
2023-08-14 18:29:55 +02:00
parent 89421d7ac5
commit 4937f99b28
4 changed files with 115 additions and 2 deletions

View File

@@ -1160,6 +1160,38 @@ int main(int argc, char *argv[]) {
}
});
/*
* Serves a freelancers file based on alias without login validation
*/
CROW_ROUTE(app, "/commissionSubmission/<int>/<string>").methods(crow::HTTPMethod::GET)
([&, configuration](const crow::request &postRequest, const int& freelancerID, const string& alias) {
pqxx::connection databaseConnection(configuration.databaseConnectionString);
Database::prepareStatement(databaseConnection, ID_SELECT_FREELANCER_FILE_SUBMISSION_PATH);
string submissionFilePath = Utilities::getFreelancerSubmissionAlias(configuration, freelancerID, alias);
if (submissionFilePath.empty())
return crow::response(404, "File does not exist.");
switch (Utilities::validateFileReadAccess(submissionFilePath)) {
case 1:
return crow::response(404, "File does not exist.");
break;
case 2:
return crow::response(500, "Filesystem Permission Error.");
break;
case 3:
return crow::response(400, "Invalid file request was executed.");
break;
}
crow::response fileResponse;
fileResponse.code = 200;
fileResponse.set_static_file_info(submissionFilePath);
return fileResponse;
});
/*
* Page for freelancer to view existing submissions
*/