"""Live-chat project policy.

Revision ID: 089
Revises: 088
"""
from alembic import op
import sqlalchemy as sa
from sqlalchemy.dialects import postgresql

revision = "089"
down_revision = "088"
branch_labels = None
depends_on = None

def upgrade() -> None:
    op.create_table(
        "project_livechat_config",
        sa.Column("id", postgresql.UUID(as_uuid=True), primary_key=True),
        sa.Column("project_id", postgresql.UUID(as_uuid=True), sa.ForeignKey("projects.id", ondelete="CASCADE"), nullable=False, unique=True),
        sa.Column("enabled", sa.Boolean(), nullable=False, server_default="false"),
        sa.Column("provider", sa.String(32), nullable=False, server_default="openai"),
        sa.Column("billing_mode", sa.String(16), nullable=False, server_default="managed"),
        sa.Column("credential_ref", sa.String(128)),
        sa.Column("model", sa.String(128)),
        sa.Column("instructions", sa.Text()),
        sa.Column("max_tokens", sa.Integer(), nullable=False, server_default="512"),
        sa.Column("updated_at", sa.DateTime(timezone=True), nullable=False, server_default=sa.text("now()")),
    )

def downgrade() -> None:
    op.drop_table("project_livechat_config")
