ImagingTools Core SDK
CClientRequestRoleManagerComp.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/IRoleManager.h>
7#include <imtauthgql/CClientRequestManagerCompBase.h>
8#include <GeneratedFiles/imtauthsdl/SDL/1.0/CPP/Roles.h>
9
10
11namespace imtauthgql
12{
13
14
15class CClientRequestRoleManagerComp:
16 public imtauthgql::CClientRequestManagerCompBase,
17 virtual public imtauth::IRoleManager
18{
19public:
20 typedef imtauthgql::CClientRequestManagerCompBase BaseClass;
21
22 I_BEGIN_COMPONENT(CClientRequestRoleManagerComp)
23 I_REGISTER_INTERFACE(imtauth::IRoleManager);
24 I_ASSIGN(m_roleFactoryCompPtr, "RoleFactory", "Role factory", true, "RoleFactory");
25 I_END_COMPONENT;
26
27 // reimplemented (imtauth::IRoleManager)
28 virtual QByteArrayList GetRoleIds() const override;
29 virtual imtauth::IRoleUniquePtr GetRole(const QByteArray& roleId) const override;
30 virtual QByteArray CreateRole(
31 const QByteArray& productId,
32 const QString& roleName,
33 const QString& roleDescription = QString(),
34 const QByteArrayList& permissions = QByteArrayList()) override;
35 virtual bool RemoveRole(const QByteArray& roleId) override;
36 virtual QByteArrayList GetRolePermissions(const QByteArray& roleId) const override;
37 virtual bool AddPermissionsToRole(const QByteArray& roleId, const QByteArrayList& permissions) override;
38 virtual bool RemovePermissionsFromRole(const QByteArray& roleId, const QByteArrayList& permissions) override;
39
40private:
41 bool GetRoleDataSdl(const QByteArray& roleId, sdl::imtauth::Roles::CRoleData::V1_0& roleData) const;
42 bool SetRoleDataSdl(const QByteArray& roleId, const sdl::imtauth::Roles::CRoleData::V1_0& roleData) const;
43
44private:
45 I_FACT(imtauth::IRole, m_roleFactoryCompPtr);
46};
47
48
49} // namespace imtauthgql
50
51
Authentication GraphQL API Layer Module.