Project/src/services/chatService.ts
2025-06-27 15:48:06 +05:30

43 lines
1.2 KiB
TypeScript

import { ChatMessage } from '../types';
import { apiService } from './apiService';
export class ChatService {
async sendMessage(messages: ChatMessage[]): Promise<string> {
try {
// Convert ChatMessage format to API format
const apiMessages = messages.map(msg => ({
role: msg.role,
content: msg.content
}));
const response = await apiService.sendChatMessage(apiMessages);
return response;
} catch (error) {
console.error('Chat service error:', error);
throw new Error('Failed to get response from chat service. Please try again or create a support ticket.');
}
}
async createTicketFromConversation(
requester: string,
email: string,
messages: ChatMessage[]
) {
try {
const conversation = messages
.map(msg => `${msg.role === 'user' ? 'User' : 'Assistant'}: ${msg.content}`)
.join('\n\n');
const response = await apiService.createTicketFromChat({
requester,
email,
conversation
});
return response.ticket;
} catch (error) {
console.error('Error creating ticket from chat:', error);
throw error;
}
}
}