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


class JbAiModel(models.Model):
    _name = 'jb.ai.model'
    _description = 'AI Model'
    _order = 'sequence, name'

    name = fields.Char(string='Friendly Name', required=True)
    technical_name = fields.Char(
        string='Model ID',
        required=True,
        help='OpenAI model identifier, e.g. gpt-4o',
    )
    sequence = fields.Integer(default=10)
    is_default = fields.Boolean(string='Default Model')
    active = fields.Boolean(default=True)

    @api.model
    def get_default_model(self):
        """Return the default active model record."""
        model = self.search([('is_default', '=', True), ('active', '=', True)], limit=1)
        if not model:
            model = self.search([('active', '=', True)], limit=1, order='sequence, id')
        return model

    def _prepare_chat_data(self):
        self.ensure_one()
        return {
            'id': self.id,
            'name': self.name,
            'technical_name': self.technical_name,
            'is_default': self.is_default,
        }
