ImagingTools Core SDK
CAuthorizationOptionsControllerComp.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/ISelectionParam.h>
7
8// ImtCore includes
9#include <imtbase/IObjectCollection.h>
10#include <imtdb/IDatabaseServerConnectionChecker.h>
11#include <imtauth/ISuperuserProvider.h>
12#include <imtservergql/CGqlRepresentationDataControllerComp.h>
13#include <GeneratedFiles/imtauthsdl/SDL/1.0/CPP/AuthorizationOptions.h>
14
15
16namespace imtauthgql
17{
18
19
20class CAuthorizationOptionsControllerComp: public sdl::imtauth::AuthorizationOptions::CGraphQlHandlerCompBase
21{
22public:
23 typedef sdl::imtauth::AuthorizationOptions::CGraphQlHandlerCompBase BaseClass;
24
25 I_BEGIN_COMPONENT(CAuthorizationOptionsControllerComp);
26 I_ASSIGN(m_selectionParamCompPtr, "SelectionParam", "Selection param", true, "SelectionParam");
27 I_END_COMPONENT;
28
29protected:
30 enum UserMode
31 {
32 UM_NO_USER_MANAGEMENT,
33 UM_OPTIONAL_USER_MANAGEMENT,
34 UM_STRONG_USER_MANAGEMENT
35 };
36
37 // reimplemented (sdl::imtauth::AuthorizationOptions::CGraphQlHandlerCompBase)
38 virtual sdl::imtauth::AuthorizationOptions::CUserManagementPayload OnGetUserMode(
39 const sdl::imtauth::AuthorizationOptions::CGetUserModeGqlRequest& getUserModeRequest,
40 const ::imtgql::CGqlRequest& gqlRequest,
41 QString& errorMessage) const override;
42
43 // reimplemented (imtservergql::CPermissibleGqlRequestHandlerComp)
44 virtual bool CheckPermissions(const imtgql::CGqlRequest& gqlRequest, QString& errorMessage) const override;
45
46protected:
47 I_REF(iprm::ISelectionParam, m_selectionParamCompPtr);
48};
49
50
51} // namespace imtauthgql
52
53
Authentication GraphQL API Layer Module.