ImagingTools Core SDK
CClientRequestUserManagerComp.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/IUserManager.h>
7#include <imtauthgql/CClientRequestManagerCompBase.h>
8#include <imtauthgql/CUserRepresentationController.h>
9
10
11namespace imtauthgql
12{
13
14
15class CClientRequestUserManagerComp:
16 public imtauthgql::CClientRequestManagerCompBase,
17 virtual public imtauth::IUserManager
18{
19public:
20 typedef imtauthgql::CClientRequestManagerCompBase BaseClass;
21
22 I_BEGIN_COMPONENT(CClientRequestUserManagerComp)
23 I_REGISTER_INTERFACE(imtauth::IUserManager);
24 I_ASSIGN(m_userFactoryCompPtr, "UserFactory", "User factory", true, "UserFactory");
25 I_END_COMPONENT;
26
27 // reimplemented (imtauth::IUserManager)
28 virtual QByteArrayList GetUserIds() const override;
29 virtual QList<User> GetUserList() const override;
30 virtual QByteArray GetUserObjectId(const QByteArray& login) const override;
31 virtual imtauth::IUserInfoUniquePtr GetUser(const QByteArray& userId) const override;
32 virtual bool RemoveUser(const QByteArray& userId) override;
33 virtual QByteArray CreateUser(const QString& userName, const QByteArray& login, const QByteArray& password, const QString& email) override;
34 virtual bool ChangeUserPassword(const QByteArray& login, const QByteArray& oldPassword, const QByteArray& newPassword) override;
35 virtual bool AddRolesToUser(const QByteArray& userId, const QByteArray& productId, const QByteArrayList& roleIds) override;
36 virtual bool RemoveRolesFromUser(const QByteArray& userId, const QByteArray& productId, const QByteArrayList& roleIds) override;
37 virtual QByteArrayList GetUserPermissions(const QByteArray& userId, const QByteArray& productId) const override;
38 virtual bool GetUserAuthSystem(const QByteArray& login, imtauth::IUserInfo::SystemInfo& systemInfo) const override;
39
40private:
41 bool GetUserDataSdl(const QByteArray& userId, sdl::imtauth::Users::CUserData::V1_0& userData) const;
42 bool SetUserDataSdl(const QByteArray& userId, const sdl::imtauth::Users::CUserData::V1_0& userData) const;
43
44private:
45 I_FACT(imtauth::IUserInfo, m_userFactoryCompPtr);
46
47private:
48 imtauthgql::CUserRepresentationController m_userRepresentationController;
49};
50
51
52} // namespace imtauthgql
53
54
Authentication GraphQL API Layer Module.