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


class CohortDetailsQuery(BaseQuery):
    def get_by_cohort_id(self, cohort_id):
        return self.filter(CohortDetails.cohort_id == cohort_id)

    def get_by_user_id(self, user_id):
        return self.filter(CohortDetails.user_id == user_id).first()


class CohortDetails(TimestampMixin, db.Model):
    __tablename__ = "cohortdetails"
    query_class = CohortDetailsQuery

    id = db.Column(db.Integer, primary_key=True)
    cohort_id = db.Column(db.Integer, db.ForeignKey("cohort.id"))
    user_id = db.Column(db.Integer, db.ForeignKey("users.id"))
