from sqlalchemy import BigInteger, Column, DateTime, String, Text
from sqlalchemy.sql import func

from app.models.base import Base


class CustomerQuery(Base):
    __tablename__ = "customer_queries"

    id = Column(BigInteger, primary_key=True, index=True)

    customer_name = Column(String(150), nullable=False)
    email = Column(String(255), nullable=False, index=True)
    phone = Column(String(30), nullable=True)

    subject = Column(String(255), nullable=True)
    message = Column(Text, nullable=False)

    status = Column(
        String(30),
        nullable=False,
        default="new",
        index=True
    )

    priority = Column(
        String(20),
        nullable=False,
        default="normal"
    )

    assigned_to = Column(BigInteger, nullable=True)

    created_at = Column(
        DateTime(timezone=True),
        nullable=False,
        server_default=func.now()
    )

    updated_at = Column(
        DateTime(timezone=True),
        nullable=False,
        server_default=func.now(),
        onupdate=func.now()
    )
