mirror of
https://github.com/Telecominfraproject/wlan-cloud-owprov.git
synced 2025-11-01 19:17:47 +00:00
Adding Signup
This commit is contained in:
@@ -135,11 +135,6 @@ namespace OpenWifi{
|
||||
InternalError(RESTAPI::Errors::CouldNotBeDeleted);
|
||||
}
|
||||
|
||||
static bool ValidDevClass(const std::string &D) {
|
||||
const static std::vector<std::string> Classes{ "any", "entity", "subscriber" , "venue" };
|
||||
return std::find(cbegin(Classes), cend(Classes), D)!=cend(Classes);
|
||||
}
|
||||
|
||||
void RESTAPI_inventory_handler::DoPost() {
|
||||
std::string SerialNumber = GetBinding(RESTAPI::Protocol::SERIALNUMBER,"");
|
||||
if(SerialNumber.empty()) {
|
||||
@@ -160,7 +155,7 @@ namespace OpenWifi{
|
||||
return BadRequest(RESTAPI::Errors::InvalidJSONDocument);
|
||||
}
|
||||
|
||||
if(!ValidDevClass(NewObject.devClass)) {
|
||||
if(!Provisioning::DeviceClass::Validate(NewObject.devClass.c_str())) {
|
||||
return BadRequest(RESTAPI::Errors::InvalidDeviceClass);
|
||||
}
|
||||
|
||||
@@ -394,7 +389,7 @@ namespace OpenWifi{
|
||||
return BadRequest(RESTAPI::Errors::InvalidJSONDocument);
|
||||
}
|
||||
|
||||
if(!ValidDevClass(NewObject.devClass)) {
|
||||
if(!Provisioning::DeviceClass::Validate(NewObject.devClass.c_str())) {
|
||||
return BadRequest(RESTAPI::Errors::InvalidDeviceClass);
|
||||
}
|
||||
|
||||
|
||||
@@ -287,6 +287,20 @@ namespace OpenWifi::uCentralProtocol {
|
||||
static const char *CONNECTIONIP = "connectionIp";
|
||||
static const char *TELEMETRY = "telemetry";
|
||||
static const char *BANDWIDTH = "bandwidth";
|
||||
}
|
||||
|
||||
namespace OpenWifi::uCentralProtocol::Events {
|
||||
|
||||
static const char *CONNECT = "connect";
|
||||
static const char *STATE = "state";
|
||||
static const char *HEALTHCHECK = "healthcheck";
|
||||
static const char *LOG = "log";
|
||||
static const char *CRASHLOG = "crashlog";
|
||||
static const char *PING = "ping";
|
||||
static const char *CFGPENDING = "cfgpending";
|
||||
static const char *RECOVERY = "recovery";
|
||||
static const char *TELEMETRY = "telemetry";
|
||||
static const char *DEVICEUPDATE = "deviceupdate";
|
||||
|
||||
enum EVENT_MSG {
|
||||
ET_UNKNOWN,
|
||||
@@ -303,29 +317,39 @@ namespace OpenWifi::uCentralProtocol {
|
||||
};
|
||||
|
||||
inline static EVENT_MSG EventFromString(const std::string & Method) {
|
||||
if (!Poco::icompare(Method, CONNECT)) {
|
||||
return ET_CONNECT;
|
||||
} else if (!Poco::icompare(Method, STATE)) {
|
||||
return ET_STATE;
|
||||
} else if (!Poco::icompare(Method, HEALTHCHECK)) {
|
||||
return ET_HEALTHCHECK;
|
||||
} else if (!Poco::icompare(Method, LOG)) {
|
||||
return ET_LOG;
|
||||
} else if (!Poco::icompare(Method, CRASHLOG)) {
|
||||
return ET_CRASHLOG;
|
||||
} else if (!Poco::icompare(Method, PING)) {
|
||||
return ET_PING;
|
||||
} else if (!Poco::icompare(Method, CFGPENDING)) {
|
||||
return ET_CFGPENDING;
|
||||
} else if (!Poco::icompare(Method, RECOVERY)) {
|
||||
return ET_RECOVERY;
|
||||
} else if (!Poco::icompare(Method, DEVICEUPDATE)) {
|
||||
return ET_DEVICEUPDATE;
|
||||
} else if (!Poco::icompare(Method, TELEMETRY)) {
|
||||
return ET_TELEMETRY;
|
||||
} else
|
||||
static std::vector<std::pair<const char *,EVENT_MSG>> Values{
|
||||
{ CFGPENDING , ET_CFGPENDING },
|
||||
{ CONNECT, ET_CONNECT },
|
||||
{ CRASHLOG, ET_CRASHLOG },
|
||||
{ DEVICEUPDATE, ET_DEVICEUPDATE },
|
||||
{ HEALTHCHECK, ET_HEALTHCHECK },
|
||||
{ LOG, ET_LOG },
|
||||
{ PING, ET_PING },
|
||||
{ RECOVERY, ET_RECOVERY },
|
||||
{ STATE, ET_STATE },
|
||||
{ TELEMETRY, ET_TELEMETRY }
|
||||
};
|
||||
|
||||
std::string L = Poco::toLower(Method);
|
||||
auto hint = std::find_if(cbegin(Values),cend(Values),[&](const std::pair<const char *,EVENT_MSG> &v) ->bool { return strcmp(v.first,L.c_str())==0; });
|
||||
if(hint == cend(Values))
|
||||
return ET_UNKNOWN;
|
||||
return hint->second;
|
||||
};
|
||||
}
|
||||
|
||||
namespace OpenWifi::Provisioning::DeviceClass {
|
||||
|
||||
static const char * ANY = "any";
|
||||
static const char * SUBSCRIBER = "subscriber";
|
||||
static const char * VENUE = "venue";
|
||||
static const char * ENTITY = "entity";
|
||||
|
||||
inline bool Validate(const char *s) {
|
||||
static std::vector<const char *> Values{ ANY, ENTITY, SUBSCRIBER, VENUE };
|
||||
return std::find(cbegin(Values), cend(Values), s) != cend(Values);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user