mirror of
https://github.com/Telecominfraproject/wlan-cloud-owprov.git
synced 2025-10-29 17:52:28 +00:00
Adding OWAnalytics boards to DB
This commit is contained in:
@@ -365,6 +365,13 @@ components:
|
||||
items:
|
||||
type: string
|
||||
format: uuid
|
||||
boards:
|
||||
description: The list of OWAnalytics Boards created for this venue
|
||||
type: array
|
||||
items:
|
||||
type: string
|
||||
format: uuid
|
||||
|
||||
|
||||
VenueList:
|
||||
type: object
|
||||
|
||||
@@ -265,32 +265,20 @@ namespace OpenWifi{
|
||||
return BadRequest(ErrorText);
|
||||
}
|
||||
|
||||
__DBG__
|
||||
if(DB_.CreateRecord(NewObject)) {
|
||||
__DBG__
|
||||
SDK::GW::Device::SetOwnerShip(this, SerialNumber, NewObject.entity, NewObject.venue, NewObject.subscriber);
|
||||
SerialNumberCache()->AddSerialNumber(SerialNumber,NewObject.deviceType);
|
||||
|
||||
__DBG__
|
||||
MoveUsage(StorageService()->PolicyDB(),DB_,NewObject.managementPolicy,"",NewObject.info.id);
|
||||
__DBG__
|
||||
MoveUsage(StorageService()->LocationDB(),DB_,NewObject.location,"",NewObject.info.id);
|
||||
__DBG__
|
||||
MoveUsage(StorageService()->ContactDB(),DB_,NewObject.contact,"",NewObject.info.id);
|
||||
__DBG__
|
||||
MoveUsage(StorageService()->ConfigurationDB(),DB_,NewObject.deviceConfiguration,"",NewObject.info.id);
|
||||
__DBG__
|
||||
ManageMembership(StorageService()->EntityDB(),&ProvObjects::Entity::devices,NewObject.entity,"",NewObject.info.id);
|
||||
__DBG__
|
||||
ManageMembership(StorageService()->VenueDB(),&ProvObjects::Venue::devices,NewObject.venue,"",NewObject.info.id);
|
||||
__DBG__
|
||||
|
||||
ProvObjects::InventoryTag NewTag;
|
||||
__DBG__
|
||||
DB_.GetRecord("id",NewObject.info.id,NewTag);
|
||||
__DBG__
|
||||
Poco::JSON::Object Answer;
|
||||
NewTag.to_json(Answer);
|
||||
__DBG__
|
||||
return ReturnObject(Answer);
|
||||
}
|
||||
InternalError(RESTAPI::Errors::RecordNotCreated);
|
||||
@@ -443,6 +431,8 @@ namespace OpenWifi{
|
||||
ManageMembership(StorageService()->EntityDB(),&ProvObjects::Entity::devices,FromEntity,ToEntity,Existing.info.id);
|
||||
ManageMembership(StorageService()->VenueDB(),&ProvObjects::Venue::devices,FromVenue,ToVenue,Existing.info.id);
|
||||
|
||||
SDK::GW::Device::SetOwnerShip(this, SerialNumber, Existing.entity, Existing.venue, Existing.subscriber);
|
||||
|
||||
ProvObjects::InventoryTag NewObjectCreated;
|
||||
DB_.GetRecord("id", Existing.info.id, NewObjectCreated);
|
||||
Poco::JSON::Object Answer;
|
||||
|
||||
@@ -161,6 +161,7 @@ namespace OpenWifi::ProvObjects {
|
||||
field_to_json( Obj,"managementRoles", managementRoles);
|
||||
field_to_json( Obj,"maps", maps);
|
||||
field_to_json( Obj,"configurations", configurations);
|
||||
field_to_json( Obj,"boards", boards);
|
||||
}
|
||||
|
||||
bool Venue::from_json(const Poco::JSON::Object::Ptr &Obj) {
|
||||
@@ -184,6 +185,7 @@ namespace OpenWifi::ProvObjects {
|
||||
field_from_json( Obj,"managementRoles", managementRoles);
|
||||
field_from_json( Obj,"maps", maps);
|
||||
field_from_json( Obj,"configurations", configurations);
|
||||
field_from_json( Obj,"boards", boards);
|
||||
return true;
|
||||
} catch (...) {
|
||||
|
||||
|
||||
@@ -107,6 +107,7 @@ namespace OpenWifi::ProvObjects {
|
||||
Types::UUIDvec_t maps;
|
||||
Types::UUIDvec_t managementPolicies;
|
||||
Types::UUIDvec_t managementRoles;
|
||||
Types::UUIDvec_t boards;
|
||||
|
||||
void to_json(Poco::JSON::Object &Obj) const;
|
||||
bool from_json(const Poco::JSON::Object::Ptr &Obj);
|
||||
|
||||
@@ -153,6 +153,29 @@ namespace OpenWifi::SDK::GW {
|
||||
return false;
|
||||
}
|
||||
|
||||
bool SetOwnerShip(RESTAPIHandler *client, const std::string & SerialNumber,
|
||||
const std::string &entity,
|
||||
const std::string &venue,
|
||||
const std::string &subscriber ) {
|
||||
|
||||
Poco::JSON::Object Body;
|
||||
Body.set("serialNumber", SerialNumber);
|
||||
Body.set("subscriber", subscriber);
|
||||
Body.set("venue", venue);
|
||||
Body.set("entity", entity);
|
||||
OpenWifi::OpenAPIRequestPut R(OpenWifi::uSERVICE_GATEWAY,
|
||||
"/api/v1/device/" +SerialNumber,
|
||||
{},
|
||||
Body,
|
||||
10000);
|
||||
auto CallResponse = Poco::makeShared<Poco::JSON::Object>();
|
||||
auto ResponseStatus = R.Do(CallResponse, client ? client->UserInfo_.webtoken.access_token_ : "");
|
||||
if(ResponseStatus == Poco::Net::HTTPResponse::HTTP_OK) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
bool Configure(RESTAPIHandler *client, const std::string &Mac, Poco::JSON::Object::Ptr & Configuration, Poco::JSON::Object::Ptr & Response) {
|
||||
|
||||
Poco::JSON::Object Body;
|
||||
|
||||
@@ -22,7 +22,11 @@ namespace OpenWifi::SDK::GW {
|
||||
return SetSubscriber(nullptr, SerialNumber, uuid);
|
||||
}
|
||||
bool SetEntity(RESTAPIHandler *client, const std::string & SerialNumber, const std::string &uuid);
|
||||
|
||||
bool SetOwnerShip(RESTAPIHandler *client, const std::string & SerialNumber,
|
||||
const std::string &entity,
|
||||
const std::string &venue,
|
||||
const std::string &subscriber
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -41,7 +41,8 @@ namespace OpenWifi {
|
||||
ORM::Field{"configurations",ORM::FieldType::FT_TEXT},
|
||||
ORM::Field{"maps",ORM::FieldType::FT_TEXT},
|
||||
ORM::Field{"managementPolicies",ORM::FieldType::FT_TEXT},
|
||||
ORM::Field{"managementRoles",ORM::FieldType::FT_TEXT}
|
||||
ORM::Field{"managementRoles",ORM::FieldType::FT_TEXT},
|
||||
ORM::Field{"boards",ORM::FieldType::FT_TEXT}
|
||||
};
|
||||
|
||||
static ORM::IndexVec VenueDB_Indexes{
|
||||
@@ -62,6 +63,7 @@ namespace OpenWifi {
|
||||
"alter table " + TableName_ + " add column maps text",
|
||||
"alter table " + TableName_ + " add column managementRoles text",
|
||||
"alter table " + TableName_ + " add column managementPolicies text",
|
||||
"alter table " + TableName_ + " add column boards text",
|
||||
"alter table " + TableName_ + " rename column contact to contacts",
|
||||
};
|
||||
|
||||
@@ -123,6 +125,7 @@ template<> void ORM::DB< OpenWifi::VenueDBRecordType, OpenWifi::ProvObjects::
|
||||
Out.maps = OpenWifi::RESTAPI_utils::to_object_array(In.get<21>());
|
||||
Out.managementPolicies = OpenWifi::RESTAPI_utils::to_object_array(In.get<22>());
|
||||
Out.managementRoles = OpenWifi::RESTAPI_utils::to_object_array(In.get<23>());
|
||||
Out.boards = OpenWifi::RESTAPI_utils::to_object_array(In.get<24>());
|
||||
}
|
||||
|
||||
template<> void ORM::DB< OpenWifi::VenueDBRecordType, OpenWifi::ProvObjects::Venue>::Convert(const OpenWifi::ProvObjects::Venue &In, OpenWifi::VenueDBRecordType &Out) {
|
||||
@@ -150,4 +153,5 @@ template<> void ORM::DB< OpenWifi::VenueDBRecordType, OpenWifi::ProvObjects::
|
||||
Out.set<21>(OpenWifi::RESTAPI_utils::to_string(In.maps));
|
||||
Out.set<22>(OpenWifi::RESTAPI_utils::to_string(In.managementPolicies));
|
||||
Out.set<23>(OpenWifi::RESTAPI_utils::to_string(In.managementRoles));
|
||||
Out.set<24>(OpenWifi::RESTAPI_utils::to_string(In.boards));
|
||||
}
|
||||
|
||||
@@ -36,6 +36,7 @@ namespace OpenWifi {
|
||||
std::string,
|
||||
std::string,
|
||||
std::string,
|
||||
std::string,
|
||||
std::string
|
||||
> VenueDBRecordType;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user