ImagingTools Core SDK
CClientRequestGroupManagerComp.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// ImtCore includes
6#include <imtauth/IUserGroupManager.h>
7#include <imtauthgql/CClientRequestManagerCompBase.h>
8#include <GeneratedFiles/imtauthsdl/SDL/1.0/CPP/Groups.h>
9
10
11namespace imtauthgql
12{
13
14
15class CClientRequestGroupManagerComp:
16 public imtauthgql::CClientRequestManagerCompBase,
17 virtual public imtauth::IUserGroupManager
18{
19public:
20 typedef imtauthgql::CClientRequestManagerCompBase BaseClass;
21
22 I_BEGIN_COMPONENT(CClientRequestGroupManagerComp)
23 I_REGISTER_INTERFACE(imtauth::IUserGroupManager);
24 I_ASSIGN(m_userGroupFactoryCompPtr, "UserGroupFactory", "User group factory", true, "UserGroupFactory");
25 I_END_COMPONENT;
26
27 // reimplemented (imtauth::IUserGroupManager)
28 virtual QByteArrayList GetGroupIds() const override;
29 virtual QByteArray CreateGroup(const QString& groupName, const QString& description) override;
30 virtual bool RemoveGroup(const QByteArray& groupId) override;
31 virtual imtauth::IUserGroupInfoUniquePtr GetGroup(const QByteArray& groupId) const override;
32 virtual bool AddUsersToGroup(const QByteArray& groupId, const QByteArrayList& userIds) override;
33 virtual bool RemoveUsersFromGroup(const QByteArray& groupId, const QByteArrayList& userIds) override;
34 virtual bool AddRolesToGroup(const QByteArray& groupId, const QByteArrayList& roleIds) override;
35 virtual bool RemoveRolesFromGroup(const QByteArray& groupId, const QByteArrayList& roleIds) override;
36
37private:
38 bool GetGroupDataSdl(const QByteArray& groupId, sdl::imtauth::Groups::CGroupData::V1_0& groupData) const;
39 bool SetGroupDataSdl(const QByteArray& groupId, const sdl::imtauth::Groups::CGroupData::V1_0& groupData) const;
40
41private:
42 I_FACT(imtauth::IUserGroupInfo, m_userGroupFactoryCompPtr);
43};
44
45
46} // namespace imtauthgql
47
48
Authentication GraphQL API Layer Module.