Initial RESTAPI

This commit is contained in:
stephb9959
2021-11-03 11:50:11 -07:00
parent f09f875891
commit b11098ebc5
6 changed files with 127 additions and 6 deletions

View File

@@ -3,9 +3,48 @@
//
#include "RESTAPI_operation_handler.h"
#include "Simulation.h"
namespace OpenWifi {
void RESTAPI_operation_handler::DoPost() {
}
std::string Op;
if(!HasParameter("operation", Op) ||
( Op != "start" && Op!= "stop" && Op != "cancel" && Op != "pause" && Op != "resume")) {
return BadRequest(RESTAPI::Errors::MissingOrInvalidParameters);
}
std::string Id;
if(HasParameter("id",Id) && Op=="start") {
return BadRequest(RESTAPI::Errors::MissingOrInvalidParameters);
}
std::string SimId;
if(HasParameter("simulationId",SimId) && Op!="start") {
return BadRequest(RESTAPI::Errors::MissingOrInvalidParameters);
}
std::string Error;
if(Op=="start") {
SimulationCoordinator()->StartSim(SimId,Id,Error);
} else if(Op=="stop") {
SimulationCoordinator()->StopSim(Id,Error);
} else if(Op=="pause") {
SimulationCoordinator()->PauseSim(Id,Error);
} else if(Op=="cancel") {
SimulationCoordinator()->CancelSim(Id,Error);
} else if(Op=="resume") {
SimulationCoordinator()->ResumeSim(Id,Error);
}
if(Error.empty()) {
OWLSObjects::SimulationStatus S;
SimulationCoordinator()->GetStatus(S);
Poco::JSON::Object Answer;
S.to_json(Answer);
return ReturnObject(Answer);
}
return BadRequest(Error);
}
}