getTicketChatMessages method
Fetch chat messages for a specific ticket
Implementation
Future<Map<String, dynamic>> getTicketChatMessages({
required String ticketID,
}) async {
const query = r'''
query GetTicketChatMessages($ticketID: UUID!) {
ticketChatMessages(ticketID: $ticketID) {
success
message
chatMessages {
id
ticketID
content
senderID
senderName
receiverID
receiverName
isMine
isRead
createdAt
}
}
}
''';
final variables = {
'ticketID': ticketID,
};
print('Fetching chat messages for ticket: $ticketID');
try {
final result = await _api.graphql(query, variables);
final response = result['ticketChatMessages'];
if (response != null) {
print('✅ Chat messages fetched: ${response['chatMessages']?.length ?? 0} messages');
return response;
}
return {
'success': false,
'message': 'Unknown error - no response data',
'chatMessages': []
};
} catch (e) {
print('❌ Error fetching chat messages: $e');
return {
'success': false,
'message': e.toString(),
'chatMessages': []
};
}
}