ImagingTools Core SDK
CRoleCollectionControllerComp.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 <iprm/CIdParam.h>
7
8// ImtCore includes
9#include <imtserverapp/CIdParamRepresentationController.h>
10#include <imtauth/CRole.h>
11#include <imtservergql/CObjectCollectionControllerCompBase.h>
12#include <imtgql/IGqlRequestProvider.h>
13#include <GeneratedFiles/imtauthsdl/SDL/1.0/CPP/Roles.h>
14
15
16namespace imtauthgql
17{
18
19
20class CRoleCollectionControllerComp: public sdl::imtauth::Roles::CRoleCollectionControllerCompBase
21{
22public:
23 typedef sdl::imtauth::Roles::CRoleCollectionControllerCompBase BaseClass;
24
25 I_BEGIN_COMPONENT(CRoleCollectionControllerComp);
26 I_ASSIGN(m_gqlRequestProviderCompPtr, "GqlRequestProvider", "GraphQL request provider", false, "GqlRequestProvider");
27 I_ASSIGN(m_productIdAttrPtr, "ProductId", "Product ID", false, "");
28 I_ASSIGN(m_roleInfoFactCompPtr, "RoleFactory", "Factory used for creation of the new role instance", true, "RoleFactory");
29 I_END_COMPONENT;
30
31protected:
32 virtual bool FillObjectFromRepresentation(
33 const sdl::imtauth::Roles::CRoleData::V1_0& representation,
34 istd::IChangeable& object,
35 QByteArray& objectId,
36 QString& errorMessage) const;
37
38 // reimplemented (sdl::imtbase::ImtCollection::CGraphQlHandlerCompBase)
39 virtual sdl::imtbase::ImtCollection::CVisualStatus OnGetObjectVisualStatus(
40 const sdl::imtbase::ImtCollection::CGetObjectVisualStatusGqlRequest& getObjectVisualStatusRequest,
41 const ::imtgql::CGqlRequest& gqlRequest,
42 QString& errorMessage) const override;
43 virtual sdl::imtbase::ImtCollection::CGetElementMetaInfoPayload OnGetElementMetaInfo(
44 const sdl::imtbase::ImtCollection::CGetElementMetaInfoGqlRequest& getElementMetaInfoRequest,
45 const ::imtgql::CGqlRequest& gqlRequest,
46 QString& errorMessage) const override;
47
48 // reimplemented (sdl::imtauth::Roles::CRoleCollectionControllerCompBase)
49 virtual bool CreateRepresentationFromObject(
50 const imtbase::IObjectCollectionIterator& objectCollectionIterator,
51 const sdl::imtauth::Roles::CRolesListGqlRequest& rolesListRequest,
52 sdl::imtauth::Roles::CRoleItemData::V1_0& representationObject,
53 QString& errorMessage) const override;
54 virtual istd::IChangeableUniquePtr CreateObjectFromRepresentation(
55 const sdl::imtauth::Roles::CRoleData::V1_0& roleDataRepresentation,
56 QByteArray& newObjectId,
57 QString& errorMessage) const override;
58 virtual bool CreateRepresentationFromObject(
59 const istd::IChangeable& data,
60 const sdl::imtauth::Roles::CRoleItemGqlRequest& roleItemRequest,
61 sdl::imtauth::Roles::CRoleData::V1_0& representationPayload,
62 QString& errorMessage) const override;
63 virtual bool UpdateObjectFromRepresentationRequest(
64 const ::imtgql::CGqlRequest& rawGqlRequest,
65 const sdl::imtauth::Roles::CRoleUpdateGqlRequest& roleUpdateRequest,
66 istd::IChangeable& object,
67 QString& errorMessage) const override;
68 virtual void SetAdditionalFilters(const imtgql::CGqlRequest& gqlRequest, imtbase::CComplexCollectionFilter& complexFilter) const override;
69
70 // reimplemented (imtservergql::CPermissibleGqlRequestHandlerComp)
71 virtual bool CheckPermissions(const imtgql::CGqlRequest& gqlRequest, QString& errorMessage) const override;
72
73 // reimplemented (icomp::CComponentBase)
74 virtual void OnComponentCreated() override;
75
76protected:
77 I_REF(imtgql::IGqlRequestProvider, m_gqlRequestProviderCompPtr);
78 I_ATTR(QByteArray, m_productIdAttrPtr);
79 I_FACT(imtauth::IRole, m_roleInfoFactCompPtr);
80
81private:
82 iprm::CIdParam m_idParam;
83 istd::TDelPtr<imtserverapp::CIdParamRepresentationController> m_idParamRepresentationControllerPtr;
84};
85
86
87} // namespace imtauth
88
89
Authentication GraphQL API Layer Module.