import { Injectable } from '@nestjs/common'; import { InjectRepository } from '@nestjs/typeorm'; import { Repository } from 'typeorm'; import { Conversacion, RolMensaje } from './conversacion.entity'; @Injectable() export class ConversacionService { constructor( @InjectRepository(Conversacion) private readonly convRepo: Repository, ) {} async guardarMensaje( leadId: number, rol: RolMensaje, mensaje: string, ): Promise { const entry = this.convRepo.create({ lead_id: leadId, rol, mensaje }); return this.convRepo.save(entry); } async obtenerHistorial(leadId: number): Promise { return this.convRepo.find({ where: { lead_id: leadId }, order: { created_at: 'ASC' }, }); } /** * Devuelve el historial en formato OpenAI/Claude messages array. */ async obtenerHistorialComoMessages( leadId: number, ): Promise> { const historial = await this.obtenerHistorial(leadId); return historial.map((h) => ({ role: h.rol, content: h.mensaje, })); } }