27 #include <odb/callback.hxx> 56 #pragma db object callback(odb_callback) optimistic 57 class Group :
public std::enable_shared_from_this<Group>
61 explicit Group(
const std::string &group_name);
75 const std::string &name()
const;
76 void name(
const std::string &name);
78 const std::string &description()
const;
79 void description(
const std::string &desc);
81 const std::vector<UserPtr> &members()
const;
86 std::vector<UserLPtr> lazy_members()
const;
91 std::vector<Tools::ScheduleMappingLWPtr> lazy_schedules_mapping()
const;
123 friend class odb::access;
127 void odb_callback(odb::callback_event e, odb::database &)
const;
137 #pragma db value_not_null inverse(group_) 140 #pragma db value_not_null inverse(groups_) 153 #pragma db type("VARCHAR(128)")
This is the header file for a generated source file, GitSHA1.cpp.
static void validate(const Group &grp)
Validate the group's attributes.
A authentication group regroup users that share permissions.
IAccessProfilePtr profile_
std::shared_ptr< IAccessProfile > IAccessProfilePtr
std::shared_ptr< User > UserPtr
GroupRank
The rank of an User inside a Group.
GroupId id_
The group identifier.
std::shared_ptr< UserGroupMembership > UserGroupMembershipPtr
std::set< UserGroupMembershipPtr, UserGroupMembershipComparator > UserGroupMembershipSet
static void validate_name(const std::string &name)
This is class that can be used to access some object's internal.
Validate a Group object's attributes, throwing ModelException if some attributes are invalid...
std::vector< UserPtr > loaded_members_
This returns a vector of loaded User object.
UserGroupMembershipSet membership_
std::vector< Tools::ScheduleMappingLWPtr > schedules_mapping_
std::string description_
A (potentially long) description of the group.