ImagingTools Core SDK
IUserManager.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/IUserInfo.h>
10
11
12namespace imtauth
13{
14
15
16class IUserManager: virtual public istd::IPolymorphic
17{
18public:
19 struct User
20 {
21 QByteArray uuid;
22 QString name;
23 QString systemName;
24 QString email;
25 QByteArray login;
26 QByteArrayList roleIds;
27 QByteArrayList groupIds;
28 };
29
30 virtual QByteArrayList GetUserIds() const = 0;
31 virtual QList<User> GetUserList() const = 0;
32 virtual QByteArray GetUserObjectId(const QByteArray& login) const = 0;
33 virtual IUserInfoUniquePtr GetUser(const QByteArray& userId) const = 0;
34 virtual bool RemoveUser(const QByteArray& userId) = 0;
35 virtual QByteArray CreateUser(const QString& userName, const QByteArray& login, const QByteArray& password, const QString& email) = 0;
36 virtual bool ChangeUserPassword(const QByteArray& userId, const QByteArray& oldPassword, const QByteArray& newPassword) = 0;
37 virtual bool AddRolesToUser(const QByteArray& userId, const QByteArray& productId, const QByteArrayList& roleIds) = 0;
38 virtual bool RemoveRolesFromUser(const QByteArray& userId, const QByteArray& productId, const QByteArrayList& roleIds) = 0;
39 virtual QByteArrayList GetUserPermissions(const QByteArray& userId, const QByteArray& productId) const = 0;
40 virtual bool GetUserAuthSystem(const QByteArray& login, imtauth::IUserInfo::SystemInfo& systemInfo) const = 0;
41};
42
43
44} // namespace imtauth
45
46