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


class CampaignNudgeMappingQuery(BaseQuery):
    def get_details_by_id(self, campaign_nudge_mapping_id):
        return self.filter(CampaignNudgeMapping.id == campaign_nudge_mapping_id).first()


class CampaignNudgeMapping(TimestampMixin, db.Model):
    __tablename__ = "campaign_nudge_mapping"
    query_class = CampaignNudgeMappingQuery

    id = db.Column(db.Integer, primary_key=True)
    nudge_id = db.Column(db.Integer, db.ForeignKey("nudges.id"))
    campaign_id = db.Column(db.Integer)
    group_version_id = db.Column(db.Integer, db.ForeignKey("group_version.id"))
