added has_many for non object_ptr types

This commit is contained in:
Sascha Kühl
2026-01-16 15:54:21 +01:00
parent 5dae396842
commit 4c899ae2f2
8 changed files with 39 additions and 52 deletions
+2 -2
View File
@@ -27,10 +27,10 @@
template <> struct matador::utils::data_type_traits<work::core::UserInfo, void> {
static basic_type type(std::size_t /*size*/) { return basic_type::UInt64; }
static void read_value(attribute_reader &/*reader*/, const char * /*id*/, size_t /*index*/, nullptr_t &/*value*/) {
static void read_value(attribute_reader &/*reader*/, const char * /*id*/, size_t /*index*/, work::core::UserInfo &/*value*/) {
}
static void bind_value(attribute_writer &/*binder*/, size_t /*index*/, nullptr_t &/*value*/) {
static void bind_value(attribute_writer &/*binder*/, size_t /*index*/, work::core::UserInfo &/*value*/) {
}
};
+3 -3
View File
@@ -10,9 +10,9 @@ namespace work::models::admin {
struct LdapUserDirectory;
struct LdapGroupSchemaSettings : core::Model {
std::string group_object_filter;
std::string user_member_attribute;
matador::object::object_ptr<LdapUserDirectory> ldap_user_directory;
std::string group_object_filter{};
std::string user_member_attribute{};
matador::object::object_ptr<LdapUserDirectory> ldap_user_directory{};
template<typename Operator>
void process( Operator& op ) {
+2 -2
View File
@@ -33,8 +33,8 @@ struct LdapUserDirectory : UserDirectory {
field::belongs_to( op, "user_schema_settings", user_schema_settings, matador::utils::CascadeAllFetchLazy );
field::belongs_to( op, "group_schema_settings", group_schema_settings, matador::utils::CascadeAllFetchLazy );
field::belongs_to( op, "import_settings", import_settings, matador::utils::CascadeAllFetchLazy );
field::has_many( op, "ldap_users", users, "users_id", matador::utils::CascadeAllFetchLazy );
field::has_many( op, "ldap_groups", groups, "groups_id", matador::utils::CascadeAllFetchLazy );
field::has_many( op, "ldap_users", users, "users_id", matador::utils::CascadeAllFetchEager );
field::has_many( op, "ldap_groups", groups, "groups_id", matador::utils::CascadeAllFetchEager );
}
};
}
+5 -5
View File
@@ -10,11 +10,11 @@ namespace work::models::admin {
struct LdapUserDirectory;
struct LdapUserSchemaSettings : core::Model {
std::string user_object_filter;
std::string user_unique_id_attribute;
std::string user_member_of_attribute;
std::string user_name_attribute;
matador::object::object_ptr<LdapUserDirectory> ldap_user_directory;
std::string user_object_filter{};
std::string user_unique_id_attribute{};
std::string user_member_of_attribute{};
std::string user_name_attribute{};
matador::object::object_ptr<LdapUserDirectory> ldap_user_directory{};
template<typename Operator>
void process( Operator& op ) {
+2 -2
View File
@@ -7,8 +7,8 @@
namespace work::core {
struct Model {
uint64_t id;
uint64_t version;
uint64_t id{};
uint64_t version{};
template<typename Operator>
void process( Operator& op ) {