from app.extensions import db


class Call(db.Model):
    __tablename__ = "calls"

    id = db.Column(db.Integer, primary_key=True)
    customer_id = db.Column(db.Integer, db.ForeignKey("customers.id", ondelete="CASCADE"), nullable=False)
    salesperson_id = db.Column(db.Integer, db.ForeignKey("users.id"))
    call_date = db.Column(db.DateTime, nullable=False, server_default=db.func.now())
    answered = db.Column(db.Boolean, nullable=True)  # سه‌حالته: هنوز نامشخص / پاسخ داد / پاسخ نداد
    result_text = db.Column(db.Text)
    created_at = db.Column(db.DateTime, nullable=False, server_default=db.func.now())

    customer = db.relationship("Customer")
    salesperson = db.relationship("User")
    tags = db.relationship("CallTag", cascade="all, delete-orphan", lazy="selectin")

    __table_args__ = (db.Index("idx_calls_customer", "customer_id", "call_date"),)
