diff --git a/build b/build index bea0d09..274ccca 100644 --- a/build +++ b/build @@ -1 +1 @@ -207 \ No newline at end of file +209 \ No newline at end of file diff --git a/openapi/ow_prov.yaml b/openapi/ow_prov.yaml index 1c2c5fc..0d6a7ac 100644 --- a/openapi/ow_prov.yaml +++ b/openapi/ow_prov.yaml @@ -358,6 +358,12 @@ components: type: string format: uuid example: each uuid is preceded by ent, or ven to say that the elemenet is entity or venue + owner: + type: string + format: uuid + managementPolicy: + type: string + format: uuid LocationList: type: object @@ -415,6 +421,12 @@ components: items: type: string format: uuid + owner: + type: string + format: uuid + managementPolicy: + type: string + format: uuid ContactList: type: object diff --git a/src/RESTAPI_ProvObjects.cpp b/src/RESTAPI_ProvObjects.cpp index 0e70852..868aa31 100644 --- a/src/RESTAPI_ProvObjects.cpp +++ b/src/RESTAPI_ProvObjects.cpp @@ -209,6 +209,8 @@ namespace OpenWifi::ProvObjects { RESTAPI_utils::field_to_json( Obj,"mobiles",mobiles); RESTAPI_utils::field_to_json( Obj,"geoCode",geoCode); RESTAPI_utils::field_to_json( Obj,"inUse",inUse); + RESTAPI_utils::field_to_json( Obj,"owner",owner); + RESTAPI_utils::field_to_json( Obj,"managementPolicy",managementPolicy); } bool Location::from_json(const Poco::JSON::Object::Ptr &Obj) { @@ -227,6 +229,8 @@ namespace OpenWifi::ProvObjects { RESTAPI_utils::field_from_json( Obj,"mobiles",mobiles); RESTAPI_utils::field_from_json( Obj,"geoCode",geoCode); RESTAPI_utils::field_from_json( Obj,"inUse",inUse); + RESTAPI_utils::field_from_json( Obj,"owner",owner); + RESTAPI_utils::field_from_json( Obj,"managementPolicy",managementPolicy); return true; } catch (...) { @@ -249,6 +253,8 @@ namespace OpenWifi::ProvObjects { RESTAPI_utils::field_to_json( Obj,"secondaryEmail",secondaryEmail); RESTAPI_utils::field_to_json( Obj,"accessPIN",accessPIN); RESTAPI_utils::field_to_json( Obj,"inUse",inUse); + RESTAPI_utils::field_to_json( Obj,"owner",owner); + RESTAPI_utils::field_to_json( Obj,"managementPolicy",managementPolicy); } bool Contact::from_json(const Poco::JSON::Object::Ptr &Obj) { @@ -269,6 +275,8 @@ namespace OpenWifi::ProvObjects { RESTAPI_utils::field_from_json( Obj,"secondaryEmail",secondaryEmail); RESTAPI_utils::field_from_json( Obj,"accessPIN",accessPIN); RESTAPI_utils::field_from_json( Obj,"inUse",inUse); + RESTAPI_utils::field_from_json( Obj,"owner",owner); + RESTAPI_utils::field_from_json( Obj,"managementPolicy",managementPolicy); return true; } catch (...) { diff --git a/src/RESTAPI_ProvObjects.h b/src/RESTAPI_ProvObjects.h index 68c348e..e88e1f3 100644 --- a/src/RESTAPI_ProvObjects.h +++ b/src/RESTAPI_ProvObjects.h @@ -159,10 +159,12 @@ namespace OpenWifi::ProvObjects { std::string state; std::string postal; std::string country; - Types::StringVec phones; - Types::StringVec mobiles; - std::string geoCode; - Types::StringVec inUse; + Types::StringVec phones; + Types::StringVec mobiles; + std::string geoCode; + Types::StringVec inUse; + Types::UUID_t owner; + Types::UUID_t managementPolicy; void to_json(Poco::JSON::Object &Obj) const; bool from_json(const Poco::JSON::Object::Ptr &Obj); @@ -224,6 +226,8 @@ namespace OpenWifi::ProvObjects { std::string secondaryEmail; std::string accessPIN; Types::StringVec inUse; + Types::UUID_t owner; + Types::UUID_t managementPolicy; void to_json(Poco::JSON::Object &Obj) const; bool from_json(const Poco::JSON::Object::Ptr &Obj); diff --git a/src/storage_contact.cpp b/src/storage_contact.cpp index e37a75c..1579103 100644 --- a/src/storage_contact.cpp +++ b/src/storage_contact.cpp @@ -36,7 +36,9 @@ namespace OpenWifi { ORM::Field{"secondaryEmail",ORM::FieldType::FT_TEXT}, ORM::Field{"accessPIN",ORM::FieldType::FT_TEXT}, ORM::Field{"inUse",ORM::FieldType::FT_TEXT}, - ORM::Field{"tags",ORM::FieldType::FT_TEXT} + ORM::Field{"tags",ORM::FieldType::FT_TEXT}, + ORM::Field{"managementPolicy",ORM::FieldType::FT_TEXT}, + ORM::Field{"owner",ORM::FieldType::FT_TEXT} }; static ORM::IndexVec ContactDB_Indexes{ @@ -51,14 +53,13 @@ namespace OpenWifi { } -template<> void ORM::DB< OpenWifi::ContactDBRecordType, OpenWifi::ProvObjects::Contact>::Convert(OpenWifi::ContactDBRecordType &In, OpenWifi::ProvObjects::Contact &Out) { +template<> void ORM::DB::Convert(OpenWifi::ContactDBRecordType &In, OpenWifi::ProvObjects::Contact &Out) { Out.info.id = In.get<0>(); Out.info.name = In.get<1>(); Out.info.description = In.get<2>(); Out.info.notes = OpenWifi::RESTAPI_utils::to_object_array(In.get<3>()); Out.info.created = In.get<4>(); Out.info.modified = In.get<5>(); - Out.type = OpenWifi::ProvObjects::contact_from_string(In.get<6>()); Out.title = In.get<7>(); Out.salutation = In.get<8>(); @@ -73,9 +74,11 @@ template<> void ORM::DB< OpenWifi::ContactDBRecordType, OpenWifi::ProvObjects Out.accessPIN = In.get<17>(); OpenWifi::Types::from_string(In.get<18>(), Out.inUse); Out.info.tags = OpenWifi::RESTAPI_utils::to_taglist(In.get<19>()); + Out.managementPolicy = In.get<20>(); + Out.owner = In.get<21>(); } -template<> void ORM::DB< OpenWifi::ContactDBRecordType, OpenWifi::ProvObjects::Contact>::Convert(OpenWifi::ProvObjects::Contact &In, OpenWifi::ContactDBRecordType &Out) { +template<> void ORM::DB::Convert(OpenWifi::ProvObjects::Contact &In, OpenWifi::ContactDBRecordType &Out) { Out.set<0>(In.info.id); Out.set<1>(In.info.name); Out.set<2>(In.info.description); @@ -96,4 +99,6 @@ template<> void ORM::DB< OpenWifi::ContactDBRecordType, OpenWifi::ProvObjects Out.set<17>(In.accessPIN); Out.set<18>(OpenWifi::Types::to_string(In.inUse)); Out.set<19>(OpenWifi::RESTAPI_utils::to_string(In.info.tags)); + Out.set<20>(In.managementPolicy); + Out.set<21>(In.owner); } diff --git a/src/storage_contact.h b/src/storage_contact.h index 5fa8398..047ffc4 100644 --- a/src/storage_contact.h +++ b/src/storage_contact.h @@ -34,6 +34,8 @@ namespace OpenWifi { std::string, std::string, std::string, + std::string, + std::string, std::string > ContactDBRecordType; diff --git a/src/storage_location.cpp b/src/storage_location.cpp index 443f757..1e1bbb3 100644 --- a/src/storage_location.cpp +++ b/src/storage_location.cpp @@ -34,7 +34,9 @@ namespace OpenWifi { ORM::Field{"mobiles",ORM::FieldType::FT_TEXT}, ORM::Field{"geoCode",ORM::FieldType::FT_TEXT}, ORM::Field{"inUse",ORM::FieldType::FT_TEXT}, - ORM::Field{"tags",ORM::FieldType::FT_TEXT} + ORM::Field{"tags",ORM::FieldType::FT_TEXT}, + ORM::Field{"managementPolicy",ORM::FieldType::FT_TEXT}, + ORM::Field{"owner",ORM::FieldType::FT_TEXT} }; static ORM::IndexVec LocationDB_Indexes{ @@ -68,6 +70,8 @@ template<> void ORM::DB(); OpenWifi::Types::from_string(In.get<16>(), Out.inUse); Out.info.tags = OpenWifi::RESTAPI_utils::to_taglist(In.get<17>()); + Out.managementPolicy = In.get<18>(); + Out.owner = In.get<19>(); } template<> void ORM::DB::Convert(OpenWifi::ProvObjects::Location &In, OpenWifi::LocationDBRecordType &Out) { @@ -89,4 +93,6 @@ template<> void ORM::DB(In.geoCode); Out.set<16>(OpenWifi::Types::to_string(In.inUse)); Out.set<17>(OpenWifi::RESTAPI_utils::to_string(In.info.tags)); + Out.set<18>(In.managementPolicy); + Out.set<19>(In.owner); } diff --git a/src/storage_location.h b/src/storage_location.h index 4b14b63..1b9d9c2 100644 --- a/src/storage_location.h +++ b/src/storage_location.h @@ -32,6 +32,8 @@ namespace OpenWifi { std::string, std::string, std::string, + std::string, + std::string, std::string > LocationDBRecordType;