Beispiel #1
0
class ScenarioUsers(UserMixin, SurrogatePK, Model):
    """Users belong to groups"""
    ___tablename___ = "scenario_users"
    user_id = reference_col("users", nullable=False)
    user = relationship("User", backref="scenario_users")
    scenario_id = reference_col("scenarios", nullable=False)
    scenario = relationship("Scenarios", backref="scenario_users")
Beispiel #2
0
class GroupUsers(UserMixin, SurrogatePK, Model):
    """Users belong to groups"""
    ___tablename___ = "group_users"
    user_id = reference_col("users", nullable=False)
    user = relationship("User", backref="group_users")
    group_id = reference_col("groups", nullable=False)
    group = relationship("StudentGroups", backref="group_users")
Beispiel #3
0
class ScenarioGroups(UserMixin, SurrogatePK, Model):
    """Groups associated with scenarios"""

    __tablename__ = "scenario_groups"
    group_id = reference_col("groups", nullable=False)
    group = relationship("StudentGroups", backref="scenario_groups")
    scenario_id = reference_col("scenarios", nullable=False)
    scenario = relationship("Scenarios", backref="scenario_groups")
Beispiel #4
0
class Responses(UserMixin, SurrogatePK, Model):
    """Student responses to scenario questions"""

    __tablename__ = "responses"
    user_id = reference_col("users", nullable=False)
    user = relationship("User", backref="responses")
    scenario_id = reference_col("scenarios", nullable=False)
    scenario = relationship("Scenarios", backref="responses")
    question = Column(db.Integer, default=0, nullable=False)
    student_response = Column(db.String(40), unique=False, nullable=True)
    #correct = Column(db.Boolean(), default=False)
    points = Column(db.Integer, default=0, nullable=False)
    response_time = Column(db.DateTime, nullable=False, default=dt.datetime.utcnow)
    attempt = Column(db.Integer, default=0, nullable=False)
Beispiel #5
0
class StudentGroups(UserMixin, SurrogatePK, Model):
    """"Groupts of Users"""
    __tablename__ = "groups"
    name = Column(db.String(40), unique=True, nullable=False)
    owner_id = reference_col("users", nullable=False)
    owner = relationship("User", backref="groups")
    code = Column(db.String(8),
                  unique=True,
                  nullable=True,
                  default=generate_registration_code())
Beispiel #6
0
class Scenarios(UserMixin, SurrogatePK, Model):
    """An exercise  """

    __tablename__ = "scenarios"

    name = Column(db.String(40), unique=False, nullable=False)
    description = Column(db.String(80), unique=False, nullable=True)
    owner_id = reference_col("users", nullable=False)
    owner = relationship("User", backref="scenarios")
    created_at = Column(db.DateTime,
                        nullable=False,
                        default=dt.datetime.utcnow)
    status = Column(db.Integer, default=0, nullable=False)
Beispiel #7
0
class Scenarios(UserMixin, SurrogatePK, Model):
    """An exercise  """

    __tablename__ = "scenarios"

    name = Column(db.String(40), unique=False, nullable=False)
    description = Column(db.String(80), unique=False, nullable=True)
    owner_id = reference_col("users", nullable=False)
    owner = relationship("User", backref="scenarios", lazy="subquery")
    created_at = Column(db.DateTime, nullable=False, default=dt.datetime.utcnow)
    status = Column(db.Integer, default=0, nullable=False)
    attempt = Column(db.Integer, default=0, nullable=False, server_default="0")
    resps = relationship("Responses", backref="scenarios", cascade="all, delete-orphan")

    def __repr__(self):
        """Represent instance as a unique string."""
        return f"<Scenario({self.name!r})>"