<?xml version="1.0" encoding="utf-8"?>
<odoo>
    <record id="module_category_jb_ai_assistant" model="ir.module.category">
        <field name="name">AI Assistant</field>
        <field name="sequence">25</field>
    </record>

    <record id="group_ai_user" model="res.groups">
        <field name="name">User</field>
        <field name="category_id" ref="module_category_jb_ai_assistant"/>
        <field name="implied_ids" eval="[(4, ref('base.group_user'))]"/>
    </record>

    <record id="group_ai_admin" model="res.groups">
        <field name="name">Administrator</field>
        <field name="category_id" ref="module_category_jb_ai_assistant"/>
        <field name="implied_ids" eval="[(4, ref('group_ai_user'))]"/>
        <field name="users" eval="[(4, ref('base.user_admin'))]"/>
    </record>

    <!-- Grant AI user to all internal users -->
    <record id="base.group_user" model="res.groups">
        <field name="implied_ids" eval="[(4, ref('group_ai_user'))]"/>
    </record>

    <!-- Per-user privacy: users only see their own conversations -->
    <record id="rule_ai_conversation_user" model="ir.rule">
        <field name="name">AI Conversation: own chats only</field>
        <field name="model_id" ref="model_jb_ai_conversation"/>
        <field name="domain_force">[('user_id', '=', user.id)]</field>
        <field name="groups" eval="[(4, ref('group_ai_user'))]"/>
    </record>

    <!-- Admin sees all conversations -->
    <record id="rule_ai_conversation_admin" model="ir.rule">
        <field name="name">AI Conversation: admin sees all</field>
        <field name="model_id" ref="model_jb_ai_conversation"/>
        <field name="domain_force">[(1, '=', 1)]</field>
        <field name="groups" eval="[(4, ref('group_ai_admin'))]"/>
    </record>

    <!-- Per-user privacy: users only see messages in their conversations -->
    <record id="rule_ai_message_user" model="ir.rule">
        <field name="name">AI Message: own chats only</field>
        <field name="model_id" ref="model_jb_ai_message"/>
        <field name="domain_force">[('conversation_id.user_id', '=', user.id)]</field>
        <field name="groups" eval="[(4, ref('group_ai_user'))]"/>
    </record>

    <!-- Admin sees all messages -->
    <record id="rule_ai_message_admin" model="ir.rule">
        <field name="name">AI Message: admin sees all</field>
        <field name="model_id" ref="model_jb_ai_message"/>
        <field name="domain_force">[(1, '=', 1)]</field>
        <field name="groups" eval="[(4, ref('group_ai_admin'))]"/>
    </record>
</odoo>
