def get_by_id(cls, id): clue_group = ClueGroup.query.filter_by(id=id).first() if clue_group: clue_group = clue_group.as_dict() assigned = UserService.get(clue_group['assigned_to']) clue_group['assigned'] = assigned created = UserService.get(clue_group['created_by']) clue_group['created'] = created return clue_group api.abort(404)
def get_by_school_id(cls, school_id): clue_groups = ClueGroup.query.join(UserRole, UserRole.user_id == ClueGroup.created_by)\ .filter(UserRole.school_id==school_id)\ .all() for clue_group in clue_groups: clue_group = clue_group.as_dict() assigned = UserService.get(clue_group['assigned_to']) clue_group['assigned'] = assigned created = UserService.get(clue_group['created_by']) clue_group['created'] = created return clue_groups
def update(cls, school_id, id, data): data.pop('username', None) data.pop('user_id', None) data.pop('id', None) student = User.query.join(UserRole, User.id==UserRole.user_id)\ .filter(UserRole.school_id==school_id)\ .filter(User.id==id)\ .first() if not student: api.abort(404, 'Student does not exist') UserService.update(student.id, data) return student
def create(cls, data): id = uuid.uuid4() data['id'] = str(id) clue_group = ClueGroup(data) db.session.add(clue_group) db.session.commit() clue_group = clue_group.as_dict() assigned = UserService.get(clue_group['assigned_to']) clue_group['assigned'] = assigned created = UserService.get(clue_group['created_by']) clue_group['created'] = created return clue_group, 201
def update(cls, school_id, id, data): data.pop('username', None) data.pop('user_id', None) data.pop('id', None) teacher = User.query.join(UserRole, User.id == UserRole.user_id) \ .filter(UserRole.school_id == school_id) \ .filter(User.id == id) \ .first() if not teacher: api.abort(404, 'Teacher does not exist') UserService.update(teacher.id, data) return teacher
def get_by_clue_group_id(cls, clue_group_id): clues = Clue.query.filter_by(clue_group_id=clue_group_id).all() for clue in clues: clue = clue.as_dict() clue['clue_group'] = ClueGroupService.get_by_id( clue['clue_group_id']) clue['student'] = UserService.get(clue['student_id']) return clues
def get(cls, id): clue = Clue.query.filter_by(id=id).first() if clue: clue = clue.as_dict() clue['clue_group'] = ClueGroupService.get_by_id( clue['clue_group_id']) if clue['student_id']: clue['student'] = UserService.get(clue['student_id']) return clue api.abort(404)
def create(cls, data): id = uuid.uuid4() data['id'] = str(id) clue = Clue(data) db.session.add(clue) db.session.commit() clue = clue.as_dict() clue['clue_group'] = ClueGroupService.get_by_id(data['clue_group_id']) if 'student_id' in data: clue['student'] = UserService.get(data['student_id']) return clue, 201
def get_by_course_id(cls, id): course_users = CourseUser.query.filter_by(course_id=id).all() for cu in course_users: cu = cu.as_dict() user_id = cu['user_id'] user = UserService.get(user_id) cu['user'] = user course_id = cu['course_id'] course = CourseService.get_by_course_id(course_id) cu['course'] = course return course_users
def create(cls, data, school_id): user = UserService.create(data) role_id = Role.query.filter_by(name='student').first().id id = uuid.uuid4() obj = { 'id': id, 'user_id': user.id, 'role_id': role_id, 'school_id': school_id } user_role = UserRole(obj) db.session.add(user_role) db.session.commit() return user, 201
def get_by_user_id_and_schoold_id(cls, user_id, school_id): course_users = CourseUser.query.join(Course, Course.id == CourseUser.course_id)\ .filter(CourseUser.user_id==user_id)\ .filter(Course.school_id==school_id)\ .all() for cu in course_users: cu = cu.as_dict() user_id = cu['user_id'] user = UserService.get(user_id) cu['user'] = user course_id = cu['course_id'] course = CourseService.get_by_course_id(course_id) cu['course'] = course return course_users