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


class ActivitiesDataQuery(BaseQuery):
    def get_activities_data_by_id(self, id):
        return self.filter(ActivitiesData.id == id).first()

    def get_all_activities_data(self):
        return self.all()


class ActivitiesData(TimestampMixin, db.Model):
    __tablename__ = "activities_data"
    query_class = ActivitiesDataQuery

    id = db.Column(db.Integer, primary_key=True)
    state = db.Column(db.String(50))
    district = db.Column(db.String(100))
    block = db.Column(db.String(100))
    sector = db.Column(db.String(100))
    centre = db.Column(db.String(100))
    panchayat_name = db.Column(db.String(100))
    school_name = db.Column(db.String(100))
    peeo_uceeo_school = db.Column(db.String(100))
    activity_level = db.Column(db.String(100))
    activity_type = db.Column(db.String(100))
    stakeholders_type = db.Column(db.String(100))
    other_stakeholders_type = db.Column(db.String(100))
    follow_up_through = db.Column(db.String(100))
    channel_type = db.Column(db.String(100))
    engagement_type = db.Column(db.String(100))
    other_engagement_type = db.Column(db.String(100))
