ImagingTools Core SDK
ISupportTicket.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// ACF includes
5#include <iser/ISerializable.h>
6
7
8namespace imtdesk
9{
10
11
20class ISupportTicket: virtual public iser::ISerializable
21{
22public:
27 {
28 TT_ACCESS_REQUEST,
29 TT_SUPPORT_REQUEST,
30 TT_FEATURE_REQUEST,
31 TT_BUG_REPORT
32 };
33 I_DECLARE_ENUM(TicketType,
34 TT_ACCESS_REQUEST,
35 TT_SUPPORT_REQUEST,
36 TT_FEATURE_REQUEST,
37 TT_BUG_REPORT);
38
43 {
44 TS_OPEN,
45 TS_IN_PROGRESS,
46 TS_RESOLVED,
47 TS_CLOSED
48 };
49 I_DECLARE_ENUM(TicketStatus,
50 TS_OPEN,
51 TS_IN_PROGRESS,
52 TS_RESOLVED,
53 TS_CLOSED);
54
59 {
60 TP_LOW,
61 TP_MEDIUM,
62 TP_HIGH,
63 TP_CRITICAL
64 };
65 I_DECLARE_ENUM(TicketPriority,
66 TP_LOW,
67 TP_MEDIUM,
68 TP_HIGH,
69 TP_CRITICAL);
70
75 {
76 ENV_DEVELOPMENT,
77 ENV_STAGING,
78 ENV_PRODUCTION
79 };
80 I_DECLARE_ENUM(Environment,
81 ENV_DEVELOPMENT,
82 ENV_STAGING,
83 ENV_PRODUCTION);
84
88 virtual QByteArray GetId() const = 0;
89
93 virtual void SetId(const QByteArray& id) = 0;
94
98 virtual QString GetTitle() const = 0;
99
103 virtual void SetTitle(const QString& title) = 0;
104
108 virtual QString GetDescription() const = 0;
109
113 virtual void SetDescription(const QString& description) = 0;
114
118 virtual TicketType GetTicketType() const = 0;
119
123 virtual void SetTicketType(TicketType ticketType) = 0;
124
128 virtual TicketStatus GetStatus() const = 0;
129
133 virtual void SetStatus(TicketStatus status) = 0;
134
138 virtual TicketPriority GetPriority() const = 0;
139
143 virtual void SetPriority(TicketPriority priority) = 0;
144
148 virtual QByteArray GetAssigneeId() const = 0;
149
153 virtual void SetAssigneeId(const QByteArray& assigneeId) = 0;
154
158 virtual QByteArray GetReporterId() const = 0;
159
163 virtual void SetReporterId(const QByteArray& reporterId) = 0;
164
168 virtual QByteArray GetConversationId() const = 0;
169
173 virtual void SetConversationId(const QByteArray& conversationId) = 0;
174
178 virtual QByteArray GetMessageId() const = 0;
179
183 virtual void SetMessageId(const QByteArray& messageId) = 0;
184
188 virtual Environment GetEnvironment() const = 0;
189
193 virtual void SetEnvironment(Environment environment) = 0;
194
198 virtual QStringList GetTags() const = 0;
199
203 virtual void SetTags(const QStringList& tags) = 0;
204
208 virtual QString GetCreatedAt() const = 0;
209
213 virtual void SetCreatedAt(const QString& createdAt) = 0;
214
218 virtual QString GetUpdatedAt() const = 0;
219
223 virtual void SetUpdatedAt(const QString& updatedAt) = 0;
224
228 virtual QString GetResolvedAt() const = 0;
229
233 virtual void SetResolvedAt(const QString& resolvedAt) = 0;
234};
235
236typedef istd::TUniqueInterfacePtr<ISupportTicket> ISupportTicketUniquePtr;
237
238} // namespace imtdesk
virtual void SetEnvironment(Environment environment)=0
virtual QByteArray GetConversationId() const =0
virtual TicketPriority GetPriority() const =0
virtual void SetConversationId(const QByteArray &conversationId)=0
virtual void SetAssigneeId(const QByteArray &assigneeId)=0
virtual void SetCreatedAt(const QString &createdAt)=0
virtual void SetResolvedAt(const QString &resolvedAt)=0
virtual QStringList GetTags() const =0
virtual QByteArray GetId() const =0
virtual void SetId(const QByteArray &id)=0
virtual void SetPriority(TicketPriority priority)=0
virtual QByteArray GetAssigneeId() const =0
virtual QByteArray GetMessageId() const =0
virtual TicketType GetTicketType() const =0
virtual void SetTags(const QStringList &tags)=0
virtual QString GetResolvedAt() const =0
virtual void SetTitle(const QString &title)=0
virtual TicketStatus GetStatus() const =0
virtual void SetMessageId(const QByteArray &messageId)=0
virtual void SetTicketType(TicketType ticketType)=0
virtual void SetUpdatedAt(const QString &updatedAt)=0
virtual void SetStatus(TicketStatus status)=0
virtual void SetReporterId(const QByteArray &reporterId)=0
virtual QByteArray GetReporterId() const =0
virtual Environment GetEnvironment() const =0
virtual void SetDescription(const QString &description)=0
virtual QString GetTitle() const =0
virtual QString GetCreatedAt() const =0
virtual QString GetUpdatedAt() const =0
virtual QString GetDescription() const =0
Service Desk Ticketing Domain Model Module.