Esempio n. 1
0
class Module(Document):
    module_name = db.StringField(required=True, max_length=20, unique=True)
    details = db.StringField(max_length=500)
    number_of_words = db.IntField()
    parent = db.ObjectIdField()
    child = db.ObjectIdField()
    words = db.ListField(gj.FollowReferenceField(Dictionary))
    quiz = db.ListField(gj.FollowReferenceField(Quiz))
class Submission(db.Document):
    user_id = db.LazyReferenceField(
        User, required=True, reverse_delete_rule=CASCADE)
    quiz_id = db.LazyReferenceField(
        Quiz, required=True, reverse_delete_rule=CASCADE)
    module_id = db.LazyReferenceField(
        Module, required=True, reverse_delete_rule=CASCADE)
    user_answers = db.EmbeddedDocumentField(UserAnswers, required=True)
    grade = db.IntField(required=True)
    date_completed = db.DateTimeField(required=True)
Esempio n. 3
0
class Dictionary(Document):
    word = db.StringField(required=True, unique=True)
    url = db.URLField()
    in_dictionary = db.BooleanField(default=False)
    times_requested = db.IntField()

    def error_checker(id):
        if not ObjectId.is_valid(id):
            return Response('Failed: invalid Id', 400)

        if not Dictionary.objects(id=id):
            return Response('', 204)
class Dictionary(Document):
    word = db.StringField(required=True, unique=True)
    url = db.URLField(unique=True)
    in_dictionary = db.BooleanField(default=False)
    times_requested = db.IntField()
class UserAnswers(db.EmbeddedDocument):
    question_id = db.ReferenceField(Question, required=True)
    user_answer = db.IntField(required=True)
class Question(Document):
    question_text = db.StringField(max_length=500)
    url = db.URLField()
    answer_bank = db.ListField(db.StringField(max_length=20))
    correct_index = db.IntField()
class Quiz(Document):
    quiz_name = db.StringField(required=True, max_length=20)
    number_of_questions = db.IntField()
    details = db.StringField(max_length=500, required=True)
    questions = db.ListField(gj.FollowReferenceField('Question'))