mirror of
https://github.com/Telecominfraproject/wlan-cloud-owprov.git
synced 2025-10-29 17:52:28 +00:00
Adding operator tables.
This commit is contained in:
@@ -1156,12 +1156,14 @@ components:
|
||||
$ref: '#/components/schemas/ObjectInfo'
|
||||
serialNumber:
|
||||
type: string
|
||||
realMacAddress:
|
||||
type: string
|
||||
operatorId:
|
||||
type: string
|
||||
format: uuid
|
||||
deviceType:
|
||||
type: string
|
||||
subscriber:
|
||||
subscriberId:
|
||||
type: string
|
||||
format: uuid
|
||||
qrCode:
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
#include "StorageService.h"
|
||||
#include "framework/MicroService.h"
|
||||
#include "framework/ConfigurationValidator.h"
|
||||
#include "sdks/SDK_sec.h"
|
||||
|
||||
namespace OpenWifi {
|
||||
|
||||
@@ -521,6 +522,13 @@ namespace OpenWifi {
|
||||
return (V=="on" || V=="off" || V=="inherit");
|
||||
}
|
||||
|
||||
inline bool ValidRRM(const std::string &V, RESTAPIHandler &H) {
|
||||
if(V=="on" || V=="off" || V=="inherit")
|
||||
return true;
|
||||
H.BadRequest(RESTAPI::Errors::InvalidRRM);
|
||||
return false;
|
||||
}
|
||||
|
||||
inline bool ValidSourceIP([[maybe_unused]] const std::vector<std::string> & IPs) {
|
||||
return true;
|
||||
}
|
||||
@@ -538,9 +546,87 @@ namespace OpenWifi {
|
||||
C=="corporate");
|
||||
}
|
||||
|
||||
inline bool ValidContactType(const std::string &contact, RESTAPIHandler &H) {
|
||||
auto C = Poco::toLower(contact);
|
||||
if (C=="subscriber" || C=="user" || C=="installer" || C=="csr" ||
|
||||
C=="manager" || C=="businessowner" || C=="technician" ||
|
||||
C=="corporate")
|
||||
return true;
|
||||
H.BadRequest(RESTAPI::Errors::InvalidContactType);
|
||||
return false;
|
||||
}
|
||||
|
||||
inline bool ValidLocationType(const std::string &location) {
|
||||
auto C = Poco::toLower(location);
|
||||
return (C=="service" || C=="equipment" || C=="auto" || C=="manual" ||
|
||||
C=="special" || C=="unknown" || C=="corporate");
|
||||
}
|
||||
|
||||
inline bool ValidLocationType(const std::string &location, RESTAPIHandler &H) {
|
||||
auto C = Poco::toLower(location);
|
||||
if((C=="service" || C=="equipment" || C=="auto" || C=="manual" ||
|
||||
C=="special" || C=="unknown" || C=="corporate"))
|
||||
return true;
|
||||
H.BadRequest(RESTAPI::Errors::InvalidLocationType);
|
||||
return false;
|
||||
}
|
||||
|
||||
template <typename DBType> bool ValidDbId(const Types::UUID_t &uuid, DBType & DB, bool AllowEmpty , const std::string &Error , RESTAPIHandler & H) {
|
||||
if(!AllowEmpty && uuid.empty()) {
|
||||
H.BadRequest(Error);
|
||||
return false;
|
||||
}
|
||||
if(uuid.empty())
|
||||
return true;
|
||||
if(!DB.Exists("id",uuid)) {
|
||||
H.BadRequest(Error);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
inline bool ValidSubscriberId( const Types::UUID_t & uuid, bool AllowEmpty, RESTAPIHandler &H ) {
|
||||
if(!AllowEmpty && uuid.empty()) {
|
||||
H.BadRequest(RESTAPI::Errors::InvalidSubscriberId);
|
||||
return false;
|
||||
}
|
||||
if(uuid.empty())
|
||||
return true;
|
||||
SecurityObjects::UserInfo NewSubInfo;
|
||||
if(!SDK::Sec::Subscriber::Get(&H, uuid, NewSubInfo)) {
|
||||
H.BadRequest(RESTAPI::Errors::InvalidSubscriberId);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
inline bool ValidSubscriberId( const Types::UUID_t & uuid, bool AllowEmpty, std::string & email, RESTAPIHandler &H ) {
|
||||
if(!AllowEmpty && uuid.empty()) {
|
||||
H.BadRequest(RESTAPI::Errors::InvalidSubscriberId);
|
||||
return false;
|
||||
}
|
||||
if(uuid.empty())
|
||||
return true;
|
||||
SecurityObjects::UserInfo NewSubInfo;
|
||||
if(!SDK::Sec::Subscriber::Get(&H, uuid, NewSubInfo)) {
|
||||
H.BadRequest(RESTAPI::Errors::InvalidSubscriberId);
|
||||
return false;
|
||||
}
|
||||
email = NewSubInfo.email;
|
||||
return true;
|
||||
}
|
||||
|
||||
inline bool ValidSerialNumber(const std::string &serialNumber, bool AllowEmpty, RESTAPIHandler &H) {
|
||||
if(!AllowEmpty && serialNumber.empty()) {
|
||||
H.BadRequest(RESTAPI::Errors::InvalidSerialNumber);
|
||||
return false;
|
||||
}
|
||||
|
||||
if(!Utils::ValidSerialNumber(serialNumber)) {
|
||||
H.BadRequest(RESTAPI::Errors::InvalidSerialNumber);
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -50,33 +50,11 @@ namespace OpenWifi {
|
||||
return BadRequest(RESTAPI::Errors::InvalidJSONDocument);
|
||||
}
|
||||
|
||||
if(RawObject->has("type")) {
|
||||
if(!NewObject.type.empty()) {
|
||||
if (ValidContactType(NewObject.type)) {
|
||||
return BadRequest(RESTAPI::Errors::InvalidContactType);
|
||||
}
|
||||
NewObject.type = Poco::toLower(NewObject.type);
|
||||
} else {
|
||||
NewObject.type.clear();
|
||||
}
|
||||
}
|
||||
|
||||
if(NewObject.operatorId.empty() || !StorageService()->OperatorDB().Exists("id",NewObject.operatorId)) {
|
||||
return BadRequest(RESTAPI::Errors::MissingUUID);
|
||||
}
|
||||
|
||||
if(!NewObject.subscriberId.empty()) {
|
||||
SecurityObjects::UserInfo NewSubInfo;
|
||||
if(!SDK::Sec::Subscriber::Get(this, NewObject.subscriberId, NewSubInfo)) {
|
||||
return BadRequest(RESTAPI::Errors::InvalidSubscriberId);
|
||||
}
|
||||
NewObject.primaryEmail = NewSubInfo.email;
|
||||
} else {
|
||||
NewObject.primaryEmail.clear();
|
||||
}
|
||||
|
||||
if(RawObject->has("managementPolicy") && !StorageService()->PolicyDB().Exists("id",NewObject.managementPolicy)) {
|
||||
return BadRequest(RESTAPI::Errors::UnknownManagementPolicyUUID);
|
||||
if( !ValidDbId(NewObject.operatorId,StorageService()->OperatorDB(), false, RESTAPI::Errors::InvalidOperatorId, *this ) ||
|
||||
!ValidDbId(NewObject.managementPolicy,StorageService()->PolicyDB(), false, RESTAPI::Errors::UnknownManagementPolicyUUID, *this ) ||
|
||||
!ValidContactType(NewObject.type,*this) ||
|
||||
!ValidSubscriberId(NewObject.subscriberId,true,NewObject.primaryEmail,*this)) {
|
||||
return;
|
||||
}
|
||||
|
||||
ProvObjects::CreateObjectInfo(RawObject, UserInfo_.userinfo, NewObject.info);
|
||||
@@ -104,33 +82,14 @@ namespace OpenWifi {
|
||||
return BadRequest(RESTAPI::Errors::InvalidJSONDocument);
|
||||
}
|
||||
|
||||
if(RawObject->has("managementPolicy") && !StorageService()->PolicyDB().Exists("id",UpdateObj.managementPolicy)) {
|
||||
return BadRequest(RESTAPI::Errors::UnknownManagementPolicyUUID);
|
||||
}
|
||||
|
||||
if(!UpdateObj.subscriberId.empty()) {
|
||||
SecurityObjects::UserInfo NewSubInfo;
|
||||
if(!SDK::Sec::Subscriber::Get(this, UpdateObj.subscriberId, NewSubInfo)) {
|
||||
return BadRequest(RESTAPI::Errors::InvalidSubscriberId);
|
||||
}
|
||||
UpdateObj.primaryEmail = NewSubInfo.email;
|
||||
} else {
|
||||
UpdateObj.primaryEmail.clear();
|
||||
}
|
||||
|
||||
if(RawObject->has("type")) {
|
||||
if(!UpdateObj.type.empty()) {
|
||||
if (ValidContactType(UpdateObj.type)) {
|
||||
return BadRequest(RESTAPI::Errors::InvalidContactType);
|
||||
}
|
||||
Existing.type = Poco::toLower(UpdateObj.type);
|
||||
} else {
|
||||
Existing.type.clear();
|
||||
}
|
||||
if( !ValidContactType(UpdateObj.type,*this) ||
|
||||
!ValidDbId(UpdateObj.managementPolicy,StorageService()->PolicyDB(), true, RESTAPI::Errors::UnknownManagementPolicyUUID, *this ) ||
|
||||
!ValidSubscriberId(UpdateObj.subscriberId,true,Existing.primaryEmail,*this)
|
||||
) {
|
||||
return;
|
||||
}
|
||||
|
||||
ProvObjects::UpdateObjectInfo(RawObject, UserInfo_.userinfo, Existing.info);
|
||||
|
||||
AssignIfPresent(RawObject,"type",Existing.type);
|
||||
AssignIfPresent(RawObject,"title",Existing.title);
|
||||
AssignIfPresent(RawObject,"salutation",Existing.salutation);
|
||||
|
||||
@@ -49,30 +49,11 @@ namespace OpenWifi {
|
||||
return BadRequest(RESTAPI::Errors::InvalidJSONDocument);
|
||||
}
|
||||
|
||||
if(RawObject->has("type")) {
|
||||
if(!NewObject.type.empty()) {
|
||||
if (ValidLocationType(NewObject.type)) {
|
||||
return BadRequest(RESTAPI::Errors::InvalidLocationType);
|
||||
}
|
||||
NewObject.type = Poco::toLower(NewObject.type);
|
||||
} else {
|
||||
NewObject.type.clear();
|
||||
}
|
||||
}
|
||||
|
||||
if(NewObject.operatorId.empty() || !StorageService()->OperatorDB().Exists("id",NewObject.operatorId)) {
|
||||
return BadRequest(RESTAPI::Errors::MissingUUID);
|
||||
}
|
||||
|
||||
if(!NewObject.subscriberId.empty()) {
|
||||
SecurityObjects::UserInfo NewSubInfo;
|
||||
if(!SDK::Sec::Subscriber::Get(this, NewObject.subscriberId, NewSubInfo)) {
|
||||
return BadRequest(RESTAPI::Errors::InvalidSubscriberId);
|
||||
}
|
||||
}
|
||||
|
||||
if(RawObject->has("managementPolicy") && !StorageService()->PolicyDB().Exists("id",NewObject.managementPolicy)) {
|
||||
return BadRequest(RESTAPI::Errors::UnknownManagementPolicyUUID);
|
||||
if( !ValidDbId(NewObject.operatorId,StorageService()->OperatorDB(), false, RESTAPI::Errors::InvalidOperatorId, *this ) ||
|
||||
!ValidDbId(NewObject.managementPolicy,StorageService()->PolicyDB(), true, RESTAPI::Errors::UnknownManagementPolicyUUID, *this ) ||
|
||||
!ValidSubscriberId(NewObject.subscriberId,true, *this) ||
|
||||
!ValidLocationType(NewObject.type,*this)) {
|
||||
return;
|
||||
}
|
||||
|
||||
ProvObjects::CreateObjectInfo(RawObject, UserInfo_.userinfo, NewObject.info);
|
||||
@@ -100,33 +81,17 @@ namespace OpenWifi {
|
||||
return BadRequest(RESTAPI::Errors::InvalidJSONDocument);
|
||||
}
|
||||
|
||||
if(RawObject->has("type")) {
|
||||
if(!UpdateObj.type.empty()) {
|
||||
if (ValidLocationType(UpdateObj.type)) {
|
||||
return BadRequest(RESTAPI::Errors::InvalidLocationType);
|
||||
}
|
||||
Existing.type = Poco::toLower(UpdateObj.type);
|
||||
} else {
|
||||
Existing.type.clear();
|
||||
}
|
||||
}
|
||||
|
||||
if(RawObject->has("managementPolicy") && !StorageService()->PolicyDB().Exists("id",UpdateObj.managementPolicy)) {
|
||||
return BadRequest(RESTAPI::Errors::UnknownManagementPolicyUUID);
|
||||
}
|
||||
|
||||
if(!UpdateObj.subscriberId.empty()) {
|
||||
SecurityObjects::UserInfo NewSubInfo;
|
||||
if(!SDK::Sec::Subscriber::Get(this, UpdateObj.subscriberId, NewSubInfo)) {
|
||||
return BadRequest(RESTAPI::Errors::InvalidSubscriberId);
|
||||
}
|
||||
} else {
|
||||
if(RawObject->has("subscriberId") && UpdateObj.subscriberId.empty())
|
||||
Existing.subscriberId.clear();
|
||||
if( !ValidLocationType(UpdateObj.type,*this) ||
|
||||
!ValidDbId(UpdateObj.managementPolicy,StorageService()->PolicyDB(), true, RESTAPI::Errors::UnknownManagementPolicyUUID, *this ) ||
|
||||
!ValidSubscriberId(UpdateObj.subscriberId,true,*this)
|
||||
) {
|
||||
return;
|
||||
}
|
||||
|
||||
ProvObjects::UpdateObjectInfo(RawObject, UserInfo_.userinfo, Existing.info);
|
||||
|
||||
AssignIfPresent(RawObject,"type",Existing.type);
|
||||
AssignIfPresent(RawObject,"subscriberId", Existing.subscriberId);
|
||||
AssignIfPresent(RawObject,"managementPolicy", Existing.managementPolicy);
|
||||
AssignIfPresent(RawObject,"buildingName",Existing.buildingName);
|
||||
AssignIfPresent(RawObject,"addressLines",Existing.addressLines);
|
||||
AssignIfPresent(RawObject,"city",Existing.city);
|
||||
|
||||
@@ -3,12 +3,13 @@
|
||||
//
|
||||
|
||||
#include "RESTAPI_sub_devices_handler.h"
|
||||
#include "RESTAPI/RESTAPI_db_helpers.h"
|
||||
#include "sdks/SDK_sec.h"
|
||||
|
||||
namespace OpenWifi {
|
||||
|
||||
void RESTAPI_sub_devices_handler::DoGet() {
|
||||
|
||||
auto uuid = GetParameter("uuid");
|
||||
auto uuid = GetBinding("uuid");
|
||||
if(uuid.empty()) {
|
||||
return BadRequest(RESTAPI::Errors::MissingUUID);
|
||||
}
|
||||
@@ -24,13 +25,65 @@ namespace OpenWifi {
|
||||
}
|
||||
|
||||
void RESTAPI_sub_devices_handler::DoDelete() {
|
||||
auto uuid = GetBinding("uuid");
|
||||
if(uuid.empty()) {
|
||||
return BadRequest(RESTAPI::Errors::MissingUUID);
|
||||
}
|
||||
|
||||
if(!DB_.Exists("id",uuid)) {
|
||||
return NotFound();
|
||||
}
|
||||
|
||||
DB_.DeleteRecord("id",uuid);
|
||||
return OK();
|
||||
}
|
||||
|
||||
void RESTAPI_sub_devices_handler::DoPost() {
|
||||
|
||||
auto RawObject = ParseStream();
|
||||
SubscriberDeviceDB::RecordName NewObject;
|
||||
if(!NewObject.from_json(RawObject)) {
|
||||
return BadRequest(RESTAPI::Errors::InvalidJSONDocument);
|
||||
}
|
||||
|
||||
if( !ValidDbId(NewObject.managementPolicy, StorageService()->PolicyDB(), true , RESTAPI::Errors::UnknownManagementPolicyUUID, *this) ||
|
||||
!ValidDbId(NewObject.contact, StorageService()->OpContactDB(), true, RESTAPI::Errors::InvalidContactId, *this) ||
|
||||
!ValidDbId(NewObject.location, StorageService()->OpLocationDB(), true, RESTAPI::Errors::InvalidLocationId, *this) ||
|
||||
!ValidDbId(NewObject.operatorId, StorageService()->OperatorDB(), true, RESTAPI::Errors::InvalidOperatorId, *this) ||
|
||||
!ValidDbId(NewObject.serviceClass, StorageService()->ServiceClassDB(), true, RESTAPI::Errors::InvalidServiceClassId, *this) ||
|
||||
!ValidSubscriberId(NewObject.subscriberId, true, *this) ||
|
||||
!ValidRRM(NewObject.rrm,*this) ||
|
||||
!ValidSerialNumber(NewObject.serialNumber,false,*this)
|
||||
) {
|
||||
return;
|
||||
}
|
||||
|
||||
ProvObjects::CreateObjectInfo(RawObject,UserInfo_.userinfo,NewObject.info);
|
||||
if(DB_.CreateRecord(NewObject)) {
|
||||
SubscriberDeviceDB::RecordName New;
|
||||
DB_.GetRecord("id",NewObject.info.id,New);
|
||||
Poco::JSON::Object Answer;
|
||||
New.to_json(Answer);
|
||||
return ReturnObject(Answer);
|
||||
}
|
||||
return InternalError("Count not create record.");
|
||||
|
||||
}
|
||||
|
||||
void RESTAPI_sub_devices_handler::DoPut() {
|
||||
auto uuid = GetBinding("uuid");
|
||||
|
||||
auto RawObject = ParseStream();
|
||||
SubscriberDeviceDB::RecordName UpdateObj;
|
||||
if(!UpdateObj.from_json(RawObject)) {
|
||||
return BadRequest(RESTAPI::Errors::InvalidJSONDocument);
|
||||
}
|
||||
|
||||
SubscriberDeviceDB::RecordName Existing;
|
||||
if(!DB_.GetRecord("id",uuid,Existing)) {
|
||||
return NotFound();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -927,7 +927,7 @@ namespace OpenWifi::ProvObjects {
|
||||
field_to_json( Obj,"serialNumber", serialNumber);
|
||||
field_to_json( Obj,"deviceType", deviceType);
|
||||
field_to_json( Obj,"operatorId", operatorId);
|
||||
field_to_json( Obj,"subscriber", subscriber);
|
||||
field_to_json( Obj,"subscriberId", subscriberId);
|
||||
field_to_json( Obj,"location", location);
|
||||
field_to_json( Obj,"contact", contact);
|
||||
field_to_json( Obj,"managementPolicy", managementPolicy);
|
||||
@@ -940,6 +940,7 @@ namespace OpenWifi::ProvObjects {
|
||||
field_to_json( Obj,"billingCode", billingCode);
|
||||
field_to_json( Obj,"configuration", configuration);
|
||||
field_to_json( Obj,"suspended", suspended);
|
||||
field_to_json( Obj,"realMacAddress", realMacAddress);
|
||||
}
|
||||
|
||||
bool SubscriberDevice::from_json(const Poco::JSON::Object::Ptr &Obj) {
|
||||
@@ -948,7 +949,7 @@ namespace OpenWifi::ProvObjects {
|
||||
field_from_json( Obj,"serialNumber", serialNumber);
|
||||
field_from_json( Obj,"deviceType", deviceType);
|
||||
field_from_json( Obj,"operatorId", operatorId);
|
||||
field_from_json( Obj,"subscriber", subscriber);
|
||||
field_from_json( Obj,"subscriberId", subscriberId);
|
||||
field_from_json( Obj,"location", location);
|
||||
field_from_json( Obj,"contact", contact);
|
||||
field_from_json( Obj,"managementPolicy", managementPolicy);
|
||||
@@ -961,6 +962,7 @@ namespace OpenWifi::ProvObjects {
|
||||
field_from_json( Obj,"billingCode", billingCode);
|
||||
field_from_json( Obj,"configuration", configuration);
|
||||
field_from_json( Obj,"suspended", suspended);
|
||||
field_from_json( Obj,"realMacAddress", realMacAddress);
|
||||
return true;
|
||||
} catch(...) {
|
||||
|
||||
|
||||
@@ -601,7 +601,7 @@ namespace OpenWifi::ProvObjects {
|
||||
std::string serialNumber;
|
||||
std::string deviceType;
|
||||
Types::UUID_t operatorId;
|
||||
Types::UUID_t subscriber;
|
||||
Types::UUID_t subscriberId;
|
||||
Types::UUID_t location;
|
||||
Types::UUID_t contact;
|
||||
Types::UUID_t managementPolicy;
|
||||
@@ -614,6 +614,7 @@ namespace OpenWifi::ProvObjects {
|
||||
std::string billingCode;
|
||||
DeviceConfigurationElementVec configuration;
|
||||
bool suspended=false;
|
||||
std::string realMacAddress;
|
||||
|
||||
void to_json(Poco::JSON::Object &Obj) const;
|
||||
bool from_json(const Poco::JSON::Object::Ptr &Obj);
|
||||
|
||||
@@ -1933,7 +1933,7 @@ namespace OpenWifi {
|
||||
return true;
|
||||
}
|
||||
|
||||
[[nodiscard]] inline const std::string & GetBinding(const std::string &Name, const std::string &Default) {
|
||||
[[nodiscard]] inline const std::string & GetBinding(const std::string &Name, const std::string &Default="") {
|
||||
auto E = Bindings_.find(Poco::toLower(Name));
|
||||
if (E == Bindings_.end())
|
||||
return Default;
|
||||
|
||||
@@ -92,8 +92,12 @@ namespace OpenWifi::RESTAPI::Errors {
|
||||
static const std::string InvalidBillingCode{"Empty of invalid billing code."};
|
||||
static const std::string InvalidBillingPeriod{"Invalid billing period."};
|
||||
static const std::string InvalidSubscriberId{"Invalid subscriber ID"};
|
||||
static const std::string InvalidContactId{"Invalid contact ID"};
|
||||
static const std::string InvalidLocationId{"Invalid location ID"};
|
||||
static const std::string InvalidContactType{"Invalid contact type"};
|
||||
static const std::string InvalidLocationType{"Invalid location type"};
|
||||
static const std::string InvalidOperatorId{"Invalid operator ID"};
|
||||
static const std::string InvalidServiceClassId{"Invalid service class ID"};
|
||||
}
|
||||
|
||||
namespace OpenWifi::RESTAPI::Protocol {
|
||||
|
||||
@@ -21,7 +21,7 @@ namespace OpenWifi {
|
||||
ORM::Field{"serialNumber",ORM::FieldType::FT_TEXT},
|
||||
ORM::Field{"deviceType",ORM::FieldType::FT_TEXT},
|
||||
ORM::Field{"operatorId",ORM::FieldType::FT_TEXT},
|
||||
ORM::Field{"subscriber",ORM::FieldType::FT_TEXT},
|
||||
ORM::Field{"subscriberId",ORM::FieldType::FT_TEXT},
|
||||
ORM::Field{"location",ORM::FieldType::FT_TEXT},
|
||||
ORM::Field{"contact",ORM::FieldType::FT_TEXT},
|
||||
ORM::Field{"managementPolicy",ORM::FieldType::FT_TEXT},
|
||||
@@ -33,14 +33,17 @@ namespace OpenWifi {
|
||||
ORM::Field{"locale",ORM::FieldType::FT_TEXT},
|
||||
ORM::Field{"billingCode",ORM::FieldType::FT_TEXT},
|
||||
ORM::Field{"configuration",ORM::FieldType::FT_TEXT},
|
||||
ORM::Field{"suspended",ORM::FieldType::FT_BOOLEAN}
|
||||
ORM::Field{"suspended",ORM::FieldType::FT_BOOLEAN},
|
||||
ORM::Field{"realMacAddress",ORM::FieldType::FT_TEXT}
|
||||
};
|
||||
|
||||
static ORM::IndexVec SubscriberDeviceDB_Indexes{
|
||||
{ std::string("subscriber_device_name_index"),
|
||||
ORM::IndexEntryVec{
|
||||
{std::string("name"),
|
||||
ORM::Indextype::ASC} } }
|
||||
ORM::IndexEntryVec{ {std::string("name"), ORM::Indextype::ASC} } },
|
||||
{ std::string("subscriber_device_serialNumber_index"),
|
||||
ORM::IndexEntryVec{ {std::string("serialNumber"), ORM::Indextype::ASC} } } ,
|
||||
{ std::string("subscriber_device_realMacAddress_index"),
|
||||
ORM::IndexEntryVec{ {std::string("realMacAddress"), ORM::Indextype::ASC} } }
|
||||
};
|
||||
|
||||
SubscriberDeviceDB::SubscriberDeviceDB( OpenWifi::DBType T, Poco::Data::SessionPool & P, Poco::Logger &L) :
|
||||
@@ -66,7 +69,7 @@ template<> void ORM::DB< OpenWifi::SubDeviceDBRecordType, OpenWifi::ProvObjec
|
||||
Out.serialNumber = In.get<6>();
|
||||
Out.deviceType = In.get<7>();
|
||||
Out.operatorId = In.get<8>();
|
||||
Out.subscriber = In.get<9>();
|
||||
Out.subscriberId = In.get<9>();
|
||||
Out.location = In.get<10>();
|
||||
Out.contact = In.get<11>();
|
||||
Out.managementPolicy = In.get<12>();
|
||||
@@ -79,6 +82,7 @@ template<> void ORM::DB< OpenWifi::SubDeviceDBRecordType, OpenWifi::ProvObjec
|
||||
Out.billingCode = In.get<19>();
|
||||
Out.configuration = OpenWifi::RESTAPI_utils::to_object_array<OpenWifi::ProvObjects::DeviceConfigurationElement>(In.get<20>());
|
||||
Out.suspended = In.get<21>();
|
||||
Out.realMacAddress = In.get<22>();
|
||||
}
|
||||
|
||||
template<> void ORM::DB< OpenWifi::SubDeviceDBRecordType, OpenWifi::ProvObjects::SubscriberDevice>::Convert(const OpenWifi::ProvObjects::SubscriberDevice &In, OpenWifi::SubDeviceDBRecordType &Out) {
|
||||
@@ -91,7 +95,7 @@ template<> void ORM::DB< OpenWifi::SubDeviceDBRecordType, OpenWifi::ProvObjec
|
||||
Out.set<6>(In.serialNumber);
|
||||
Out.set<7>(In.deviceType);
|
||||
Out.set<8>(In.operatorId);
|
||||
Out.set<9>(In.subscriber);
|
||||
Out.set<9>(In.subscriberId);
|
||||
Out.set<10>(In.location);
|
||||
Out.set<11>(In.contact);
|
||||
Out.set<12>(In.managementPolicy);
|
||||
@@ -104,4 +108,5 @@ template<> void ORM::DB< OpenWifi::SubDeviceDBRecordType, OpenWifi::ProvObjec
|
||||
Out.set<19>(In.billingCode);
|
||||
Out.set<20>(OpenWifi::RESTAPI_utils::to_string(In.configuration));
|
||||
Out.set<21>(In.suspended);
|
||||
Out.set<22>(In.realMacAddress);
|
||||
}
|
||||
|
||||
@@ -41,7 +41,8 @@ namespace OpenWifi {
|
||||
std::string,
|
||||
std::string,
|
||||
std::string,
|
||||
bool
|
||||
bool,
|
||||
std::string
|
||||
> SubDeviceDBRecordType;
|
||||
|
||||
class SubscriberDeviceDB : public ORM::DB<SubDeviceDBRecordType, ProvObjects::SubscriberDevice> {
|
||||
|
||||
Reference in New Issue
Block a user