def create_challenge(challenge: Challenge) -> JSONResponse: """ Adds a new challenge. :param challenge: the challenge information :return: status code and response data """ db = _get_db() challenge.challenge_id = db["challenges"].find().count() + 1 db["challenges"].insert_one(challenge.to_dict()) return JSONResponse(status_code=status.HTTP_201_CREATED, content=dumps([]))
def update_challenge(challenge: Challenge) -> JSONResponse: """ Updates a challenge. :param challenge: the challenge information :return: status code and response data """ _get_db()["challenges"].update_one( {"challenge_id": challenge.challenge_id}, {"$set": challenge.to_dict()}) return JSONResponse(status_code=status.HTTP_204_NO_CONTENT, content=dumps([]))