lintel 0.2.0
Loading...
Searching...
No Matches
Public Member Functions | List of all members
lintel::GroupRepository Class Reference

#include <GroupRepository.h>

Inheritance diagram for lintel::GroupRepository:
lintel::PersistableBean

Public Member Functions

 GroupRepository (std::shared_ptr< DatabaseConnectionConfigurations > connectionConfigurations)
 
virtual ~GroupRepository ()=default
 
std::optional< Group > of (const std::string &groupName)
 
std::vector< Group > allOf ()
 
std::vector< Group > allOf (const std::string &groupName)
 
std::vector< Group > allOf (bool isVirtualGroup)
 
std::vector< Group > allOf (const std::string &groupName, bool isVirtualGroup)
 
void createOf (const Group &group)
 
void deleteOf (const Group &group)
 
void addGroupOf (const Group &group, const Group &add)
 
void removeGroupOf (const Group &group, const Group &remove)
 
void onAwake () override
 

Detailed Description

Repository for CRUD operations on Group entities stored in the database. Manages group hierarchy including parent-child group relationships.

Constructor & Destructor Documentation

◆ GroupRepository()

lintel::GroupRepository::GroupRepository ( std::shared_ptr< DatabaseConnectionConfigurations >  connectionConfigurations)
explicit

Constructor.

Parameters
connectionConfigurationsdatabase connection configuration

◆ ~GroupRepository()

virtual lintel::GroupRepository::~GroupRepository ( )
virtualdefault

Member Function Documentation

◆ addGroupOf()

void lintel::GroupRepository::addGroupOf ( const Group &  group,
const Group &  add 
)

Add a sub-group to an existing group.

Parameters
groupparent group
addsub-group to add

◆ allOf() [1/4]

std::vector< Group > lintel::GroupRepository::allOf ( )
Returns
all groups

◆ allOf() [2/4]

std::vector< Group > lintel::GroupRepository::allOf ( bool  isVirtualGroup)
Parameters
isVirtualGroupfilter by virtual status
Returns
groups matching the given virtual flag

◆ allOf() [3/4]

std::vector< Group > lintel::GroupRepository::allOf ( const std::string &  groupName)
Parameters
groupNamegroup name filter
Returns
groups matching the given name

◆ allOf() [4/4]

std::vector< Group > lintel::GroupRepository::allOf ( const std::string &  groupName,
bool  isVirtualGroup 
)
Parameters
groupNamegroup name filter
isVirtualGroupfilter by virtual status
Returns
groups matching both filters

◆ createOf()

void lintel::GroupRepository::createOf ( const Group &  group)

Create a new group.

Parameters
groupgroup to create

◆ deleteOf()

void lintel::GroupRepository::deleteOf ( const Group &  group)

Delete a group.

Parameters
groupgroup to delete

◆ of()

std::optional< Group > lintel::GroupRepository::of ( const std::string &  groupName)

Find a group by name.

Parameters
groupNamegroup name
Returns
the group if found

◆ onAwake()

void lintel::GroupRepository::onAwake ( )
overridevirtual

Initialize the repository (load groups from database).

Implements lintel::PersistableBean.

◆ removeGroupOf()

void lintel::GroupRepository::removeGroupOf ( const Group &  group,
const Group &  remove 
)

Remove a sub-group from an existing group.

Parameters
groupparent group
removesub-group to remove

The documentation for this class was generated from the following file: