Access public file submission alias
database access of creation of a submission alias
This commit is contained in:
32
src/main.cpp
32
src/main.cpp
@@ -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
|
||||
*/
|
||||
|
Reference in New Issue
Block a user