from dostadmin import db
from dostadmin.mixins import TimestampMixin
from flask_sqlalchemy.query import Query as BaseQuery


class IVRPromptExperienceTypeQuery(BaseQuery):
    def get_by_ivr_prompt_id(self, ivr_prompt_id):
        return self.filter(
            IVRPromptExperienceType.ivrprompt_id == ivr_prompt_id
        ).first()


class IVRPromptExperienceType(TimestampMixin, db.Model):
    __tablename__ = "ivrprompt_experience_type"
    query_class = IVRPromptExperienceTypeQuery

    id = db.Column(db.Integer, primary_key=True)
    ivrprompt_id = db.Column(db.Integer, db.ForeignKey("ivrprompt.id"))
    experience_type = db.Column(db.String(20), index=True)
    ivrprompt = db.relationship(
        "IVRPrompt", backref="ivrprompt_experience_type", lazy=True, uselist=False
    )
