ImagingTools Core SDK
CUserGroupCollectionControllerComp.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/IUserGroupInfo.h>
7#include <imtauth/IUserInfoProvider.h>
8#include <imtauth/IUserGroupInfoProvider.h>
9#include <GeneratedFiles/imtauthsdl/SDL/1.0/CPP/Groups.h>
10
11
12namespace imtauthgql
13{
14
15
16class CUserGroupCollectionControllerComp: public sdl::imtauth::Groups::CGroupCollectionControllerCompBase
17{
18public:
19 typedef sdl::imtauth::Groups::CGroupCollectionControllerCompBase BaseClass;
20
21 I_BEGIN_COMPONENT(CUserGroupCollectionControllerComp);
22 I_ASSIGN(m_roleInfoProviderCompPtr, "RoleInfoProvider", "Role info provider", false, "RoleInfoProvider");
23 I_ASSIGN(m_userInfoProviderCompPtr, "UserInfoProvider", "User info provider", false, "UserInfoProvider");
24 I_ASSIGN(m_userGroupInfoProviderCompPtr, "UserGroupInfoProvider", "User group info provider", false, "UserGroupInfoProvider");
25 I_ASSIGN(m_userGroupInfoFactCompPtr, "UserGroupFactory", "Factory used for creation of the new group instance", true, "UserGroupFactory");
26 I_END_COMPONENT;
27
28protected:
29 virtual bool FillObjectFromRepresentation(
30 const sdl::imtauth::Groups::CGroupData::V1_0& representation,
31 istd::IChangeable& object,
32 QByteArray& newObjectId,
33 QString& errorMessage) const;
34
35 // reimplemented (sdl::imtbase::ImtCollection::CGraphQlHandlerCompBase)
36 virtual sdl::imtbase::ImtCollection::CVisualStatus OnGetObjectVisualStatus(
37 const sdl::imtbase::ImtCollection::CGetObjectVisualStatusGqlRequest& getObjectVisualStatusRequest,
38 const ::imtgql::CGqlRequest& gqlRequest,
39 QString& errorMessage) const override;
40 virtual sdl::imtbase::ImtCollection::CGetElementMetaInfoPayload OnGetElementMetaInfo(
41 const sdl::imtbase::ImtCollection::CGetElementMetaInfoGqlRequest& getElementMetaInfoRequest,
42 const ::imtgql::CGqlRequest& gqlRequest,
43 QString& errorMessage) const override;
44
45 // reimplemented (sdl::imtauth::Groups::CGroupCollectionControllerCompBase)
46 virtual bool CreateRepresentationFromObject(
47 const imtbase::IObjectCollectionIterator& objectCollectionIterator,
48 const sdl::imtauth::Groups::CGroupsListGqlRequest& groupsListRequest,
49 sdl::imtauth::Groups::CGroupItemData::V1_0& representationObject,
50 QString& errorMessage) const override;
51 virtual istd::IChangeableUniquePtr CreateObjectFromRepresentation(
52 const sdl::imtauth::Groups::CGroupData::V1_0& groupDataRepresentation,
53 QByteArray& newObjectId,
54 QString& errorMessage) const override;
55 virtual bool CreateRepresentationFromObject(
56 const istd::IChangeable& data,
57 const sdl::imtauth::Groups::CGroupItemGqlRequest& groupItemRequest,
58 sdl::imtauth::Groups::CGroupData::V1_0& representationPayload,
59 QString& errorMessage) const override;
60 virtual bool UpdateObjectFromRepresentationRequest(
61 const ::imtgql::CGqlRequest& rawGqlRequest,
62 const sdl::imtauth::Groups::CGroupUpdateGqlRequest& groupUpdateRequest,
63 istd::IChangeable& object,
64 QString& errorMessage) const override;
65
66 // reimplemented (imtservergql::CPermissibleGqlRequestHandlerComp)
67 virtual bool CheckPermissions(const imtgql::CGqlRequest& gqlRequest, QString& errorMessage) const override;
68
69protected:
70 I_REF(imtauth::IRoleInfoProvider, m_roleInfoProviderCompPtr);
71 I_REF(imtauth::IUserInfoProvider, m_userInfoProviderCompPtr);
72 I_REF(imtauth::IUserGroupInfoProvider, m_userGroupInfoProviderCompPtr);
73 I_FACT(imtauth::IUserGroupInfo, m_userGroupInfoFactCompPtr);
74};
75
76
77} // namespace imtauthgql
78
79
Authentication GraphQL API Layer Module.