ImagingTools Core SDK
CPersonalAccessTokenDatabaseDelegateComp.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/IPersonalAccessToken.h>
7#include <imtdb/CSqlDatabaseObjectDelegateCompBase.h>
8
9
10namespace imtauthdb
11{
12
13
14class CPersonalAccessTokenDatabaseDelegateComp: public imtdb::CSqlDatabaseObjectDelegateCompBase
15{
16public:
17 typedef imtdb::CSqlDatabaseObjectDelegateCompBase BaseClass;
18
19 I_BEGIN_COMPONENT(CPersonalAccessTokenDatabaseDelegateComp)
20 I_ASSIGN(m_tokenFactCompPtr, "PersonalAccessToken", "Factory used for creation of the new token", true, "PersonalAccessToken");
21 I_END_COMPONENT
22
23 // reimplemented (imtdb::ISqlDatabaseObjectDelegate)
24 virtual istd::IChangeableUniquePtr CreateObjectFromRecord(const QSqlRecord& record, const iprm::IParamsSet* dataConfigurationPtr = nullptr) const override;
25 virtual NewObjectQuery CreateNewObjectQuery(
26 const QByteArray& typeId,
27 const QByteArray& proposedObjectId,
28 const QString& objectName,
29 const QString& objectDescription,
30 const istd::IChangeable* valuePtr,
31 const imtbase::IOperationContext* operationContextPtr) const override;
32 virtual QByteArray CreateUpdateObjectQuery(
33 const imtbase::IObjectCollection& collection,
34 const QByteArray& objectId,
35 const istd::IChangeable& object,
36 const imtbase::IOperationContext* operationContextPtr,
37 bool useExternDelegate = true) const override;
38 virtual QByteArray CreateDeleteObjectsQuery(
39 const imtbase::IObjectCollection& collection,
40 const QByteArrayList& objectIds,
41 const imtbase::IOperationContext* operationContextPtr) const override;
42 virtual QByteArray CreateDeleteObjectSetQuery(
43 const imtbase::IObjectCollection& collection,
44 const iprm::IParamsSet* paramsPtr = nullptr,
45 const imtbase::IOperationContext* operationContextPtr = nullptr) const override;
46 virtual QByteArray CreateRenameObjectQuery(
47 const imtbase::IObjectCollection& collection,
48 const QByteArray& objectId,
49 const QString& newObjectName,
50 const imtbase::IOperationContext* operationContextPtr) const override;
51 virtual QByteArray CreateDescriptionObjectQuery(
52 const imtbase::IObjectCollection& collection,
53 const QByteArray& objectId,
54 const QString& description,
55 const imtbase::IOperationContext* operationContextPtr) const override;
56
57 // reimplemented (icomp::CComponentBase)
58 virtual void OnComponentCreated() override;
59
60protected:
61 // reimplemented (imtdb::CSqlDatabaseObjectDelegateCompBase)
62 virtual idoc::MetaInfoPtr CreateObjectMetaInfo(const QByteArray& typeId) const override;
63 virtual bool SetObjectMetaInfoFromRecord(const QSqlRecord& record, idoc::IDocumentMetaInfo& metaInfo) const override;
64
65private:
66 I_FACT(imtauth::IPersonalAccessToken, m_tokenFactCompPtr);
67};
68
69
70} // namespace imtauthdb
Authentication Database Persistence Layer Module.