def edit_concept(concept, data): concept.name = data["concept_name"] concept.filename = data["filename"] call_step_routes(data, concept.id, "concept") create_schema_json(concept, "concepts") return
def update_card_cdn(cards): for card in cards: create_schema_json(card, "cards") db.session.commit() return
def update_hint_cdn(hints): for hint in hints: create_schema_json(hint, "hints") if hint.hints: update_hint_cdn(hint.hints) return
def put(self): data = request.get_json() activity = Activity.query.filter_by(filename=data["filename"]).first() edit_activity(activity, data) activity.cards.sort(key=lambda x: x.order) create_schema_json(activity, "activities") db.session.commit() return {"message": "Activity successfully updated"}, 200
def edit_card(card, data): card.name = data["name"] card.order = data["order"] card.gems = data["gems"] card.github_raw_data = data["github_raw_data"] github_data = requests.get(data["github_raw_data"]) card.content = update_card_images(github_data.text, data["filename"]) create_schema_json(card, "cards") return
def post(self): data = request.get_json() topic = create_topic(data) db.session.add(topic) db.session.commit() create_schema_json(topic, "topics") db.session.commit() return {"message": "Topic successfully created"}, 201
def post(self): data = request.get_json() module = create_module(data) db.session.add(module) db.session.commit() create_schema_json(module, "modules") db.session.commit() return {"message": "Module successfully created"}, 201
def edit_hint(hint, data): hint.name = data["name"] hint.gems = data["gems"] hint.order = data["order"] hint.filename = data["filename"] hint.github_raw_data = data["github_raw_data"] assign_hint_to_parent(hint, data) call_step_routes(data, hint.id, "hint") create_schema_json(hint, "hints") return
def post(self): data = request.get_json() concept = create_concept(data) db.session.add(concept) db.session.commit() call_step_routes(data, concept.id, "concept") create_schema_json(concept, "concepts") db.session.commit() return {"message": "Concept successfully created"}, 201
def post(self): data = request.get_json() activity = create_activity(data) db.session.add(activity) db.session.commit() activity.cards.sort(key=lambda x: x.order) create_schema_json(activity, "activities") db.session.commit() return {"message": "Activity successfully created"}, 201
def edit_module(module, data): module.filename = data["filename"] module.name = data["name"] module.description = data["description"] module.gems_needed = data["gems_needed"] module.image = data["image"] create_schema_json(module, "modules") activity_paths = get_activity_paths(data) module.activities = get_activities(activity_paths) return
def edit_topic(topic, data): topic.name = data["name"] topic.description = data["description"] topic.image = data["image"] if "modules" in data: topic.modules = get_github_modules(data["modules"]) create_schema_json(topic, "topics") return
def post(self): data = request.get_json() activity = Activity.query.filter_by( filename=data["activity_filename"]).first() card = create_card(data, activity.id) db.session.add(card) db.session.commit() create_schema_json(card, "cards") db.session.commit() return {"message": "Card successfully created"}, 201
def post(self): data = request.get_json() hint = create_hint(data) db.session.add(hint) db.session.commit() assign_hint_to_parent(hint, data) call_step_routes(data, hint.id, "hint") create_schema_json(hint, "hints") db.session.commit() return {"message": "Hint successfully created"}, 201
def edit_checkpoint(checkpoint, data): checkpoint.name = data["name"] checkpoint.instruction = data["instruction"] checkpoint.checkpoint_type = data["checkpoint_type"] checkpoint.filename = data["filename"] assign_checkpoint_to_card(checkpoint, data) fill_optional_checkpoint_fields(checkpoint, data) create_schema_json(checkpoint, "checkpoints") card = Card.query.filter_by(checkpoint_id=checkpoint.id).first() create_schema_json(card, "cards") return
def post(self): data = request.get_json() checkpoint = create_checkpoint(data) db.session.add(checkpoint) db.session.commit() assign_checkpoint_to_card(checkpoint, data) fill_optional_checkpoint_fields(checkpoint, data) create_schema_json(checkpoint, "checkpoints") card = Card.query.filter_by(checkpoint_id=checkpoint.id).first() create_schema_json(card, "cards") db.session.commit() return {"message": "Checkpoint successfully created"}, 201
def update_cdn_data(file): activity = Activity.query.filter_by(filename=file.filename).first() activity.cards.sort(key=lambda x: x.order) data = hook_utils.utils.md_to_json(file.raw_url) if "activity_prerequisites" in data: activity.prerequisite_activities = activity_utils.utils.update_prereqs(data["activity_prerequisites"]) create_schema_json(activity, "activities") for module in activity.modules: create_schema_json(module, "modules") for card in activity.cards: github_data = requests.get(card.github_raw_data) card.content = github_data.text create_schema_json(card, "cards") if card.hints: update_hint_cdn(card.hints) db.session.commit() return