ImagingTools Core SDK
IUserGroupManager.h
1// SPDX-License-Identifier: LGPL-2.1-or-later OR GPL-2.0-or-later OR GPL-3.0-or-later OR LicenseRef-ImtCore-Commercial
2#pragma once
3
4
5// ACF includes
6#include <istd/IPolymorphic.h>
7
8// ImtCore includes
9#include <imtauth/IUserGroupInfo.h>
10
11
12namespace imtauth
13{
14
15
16class IUserGroupManager: virtual public istd::IPolymorphic
17{
18public:
19 virtual QByteArrayList GetGroupIds() const = 0;
20 virtual QByteArray CreateGroup(const QString& groupName, const QString& description) = 0;
21 virtual bool RemoveGroup(const QByteArray& groupId) = 0;
22 virtual IUserGroupInfoUniquePtr GetGroup(const QByteArray& groupId) const = 0;
23 virtual bool AddUsersToGroup(const QByteArray& groupId, const QByteArrayList& userIds) = 0;
24 virtual bool RemoveUsersFromGroup(const QByteArray& groupId, const QByteArrayList& userIds) = 0;
25 virtual bool AddRolesToGroup(const QByteArray& groupId, const QByteArrayList& roleIds) = 0;
26 virtual bool RemoveRolesFromGroup(const QByteArray& groupId, const QByteArrayList& roleIds) = 0;
27};
28
29
30} // namespace imtauth
31
32