zxs 1 napja
szülő
commit
b191d9eed4
3 módosított fájl, 17 hozzáadás és 5 törlés
  1. 1 2
      robot/robotics/mvc.hpp
  2. 13 0
      robot/robotics/sql_linq.hpp
  3. 3 3
      robot/robotics/utils.hpp

+ 1 - 2
robot/robotics/mvc.hpp

@@ -1524,8 +1524,7 @@ namespace robotics {
 					result->class_name = className;
 					result->is_list = true;
 					for (auto it : values) {
-						std::map<std::string, std::string> elem;
-						web_reflect::get_object_value(it, elem);
+						std::map<std::string, std::string> elem = web_reflect::get_object_value(it);
 						result->class_value.push_back(elem);
 					}
 					return result;

+ 13 - 0
robot/robotics/sql_linq.hpp

@@ -714,6 +714,11 @@ namespace robotics {
                 int index = 0;
                 for (auto const& it : props) {
                     v3::sql_expression item;
+                    rttr::variant no_sql = it.get_metadata("NoSql");
+                    if (no_sql.get_type() == rttr::type::get<bool>() && no_sql.get_value<bool>()) {
+                        continue;
+                    }
+
                     if (it.get_type() == rttr::type::get<int>() ||
                         it.get_type() == rttr::type::get<bool>() ||
                         it.get_type() == rttr::type::get<double>() ||
@@ -730,6 +735,14 @@ namespace robotics {
                         it.get_type() == rttr::type::get<std::vector<std::int64_t>>() ||
                         it.get_type() == rttr::type::get<std::vector<std::string>>() ||
                         it.get_type() == rttr::type::get<std::vector<v3::datetime>>()) {
+                        std::string prop_name;
+                        rttr::variant prop_var_name = it.get_metadata("Sql");
+                        if (prop_var_name.get_type() == rttr::type::get<std::string>()) {
+                            prop_name = prop_var_name.get_value<std::string>();
+                        }
+                        else {
+                            prop_name = std::string(it.get_name());
+                        }
                         item.name = it.get_name().data();
                         item.values.push_back(it.get_value(value));
                         item.symbol = v3::sql_expression::Equal;

+ 3 - 3
robot/robotics/utils.hpp

@@ -249,7 +249,7 @@ namespace robotics {
 					hash.process_byte(c);
 				}
 				hash.get_digest(digest_type.n_);
-				digest_char = digest_type;
+				/*digest_char = digest_type;
 				digest_char.c_[0] = digest_type.c_[3];
 				digest_char.c_[1] = digest_type.c_[2];
 				digest_char.c_[2] = digest_type.c_[1];
@@ -265,9 +265,9 @@ namespace robotics {
 				digest_char.c_[12] = digest_type.c_[15];
 				digest_char.c_[13] = digest_type.c_[14];
 				digest_char.c_[14] = digest_type.c_[13];
-				digest_char.c_[15] = digest_type.c_[12];
+				digest_char.c_[15] = digest_type.c_[12];*/
 				std::string result;
-				boost::algorithm::hex(&digest_char.c_[0], &digest_char.c_[0] + sizeof(boost::uuids::detail::md5::digest_type), std::back_inserter(result));
+				boost::algorithm::hex(&digest_type.c_[0], &digest_type.c_[0] + sizeof(boost::uuids::detail::md5::digest_type), std::back_inserter(result));
 				return result;
 			}
 			/**