# -*- coding: utf-8 -*-
from odoo import fields, models


class JbAiMessage(models.Model):
    _name = 'jb.ai.message'
    _description = 'AI Chat Message'
    _order = 'id asc'

    conversation_id = fields.Many2one(
        'jb.ai.conversation',
        string='Conversation',
        required=True,
        ondelete='cascade',
        index=True,
    )
    role = fields.Selection(
        selection=[
            ('user', 'User'),
            ('assistant', 'Assistant'),
            ('system', 'System'),
        ],
        string='Role',
        required=True,
        default='user',
    )
    body = fields.Text(string='Content', required=True)

    def _prepare_chat_data(self):
        self.ensure_one()
        return {
            'id': self.id,
            'role': self.role,
            'body': self.body,
            'create_date': fields.Datetime.to_string(self.create_date),
        }
