query/demo/work/admin/LdapUserSchemaSettings.hpp

34 lines
1.1 KiB
C++

#ifndef LDAP_USER_SCHEMA_SETTINGS_HPP
#define LDAP_USER_SCHEMA_SETTINGS_HPP
#include "../core/Model.hpp"
#include "matador/utils/base_class.hpp"
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;
template<typename Operator>
void process( Operator& op ) {
namespace field = matador::access;
field::process(op, *matador::base_class<Model>( this ));
field::has_one(op, "ldap_user_directory", ldap_user_directory, matador::utils::default_foreign_attributes);
field::attribute(op, "user_object_filter", user_object_filter, 511);
field::attribute(op, "user_unique_id_attribute", user_unique_id_attribute, 511);
field::attribute(op, "user_member_of_attribute", user_member_of_attribute, 511);
field::attribute(op, "user_name_attribute", user_name_attribute, 511);
}
};
}
#endif //LDAP_USER_SCHEMA_SETTINGS_HPP