std::shared_ptr<Person> Person::find_by_username(const std::string &suser, IDataManager &oMan) { std::shared_ptr<Person> oRet; Person oPers; oPers.username(suser); oPers.check_id(); std::string id = oPers.id(); if (id.empty()) { Value v = oMan.read_doc(id, true); if (v.is_object()) { Object *pObj = v.as_object(); if (pObj != nullptr) { std::string sx = pObj->get_string(DomainConstants::ID); if (sx == id) { oRet = std::make_shared<Person>(v); } }// pObj } } return oRet; }