def update_user_survey_by_id(_id): """ Update/replace existing survey by _id """ survey = Survey() content = request.get_json(silent=True, force=True) old = 'NO OLD SURVEY FOUND!' try: old = survey.getByID(_id).serialize() return jsonify(success=bool( survey.updateByUniqueID(_id, content['survey'], content['tags'], content['ongoing']))) except ValueError as error: raise MethodNotAllowed(error.message) except BadValueException as error: raise MethodNotAllowed(error.message) except SurveyNotFound as error: raise SurveyNotFound(_id) finally: add_to_audit_log( 'update_user_survey_by_id', survey_id=_id, new=content, old=old, )
def get_survey_by_id(_id): survey = Survey() try: return jsonify( survey.getByUniqueIDAndID(stack.top.uniqueID, _id).serialize()) except: raise SurveyNotFound(_id)
def get_all_surveys(): """ Get all surveys for all users. """ survey = Survey() try: return jsonify(surveys=[ob.serialize() for ob in survey.getAll()]) except ValueError as error: raise MethodNotAllowed(error.message) except BadValueException as error: raise MethodNotAllowed(error.message) finally: add_to_audit_log('get_all_surveys')
def get_survey(): survey = Survey() try: return jsonify(surveys=[ob.serialize() for ob in survey.getAllByUniqueID(stack.top.uniqueID, utils.Time.Iso8601ToDatetime(request.args.get('from', None)), utils.Time.Iso8601ToDatetime(request.args.get('until', None)), request.args.get('tags').split(',') if request.args.get('tags', None) is not None else None, utils.json.Json._getJSONBool(request.args.get('ongoing', None)), )]) except ValueError as error: raise MethodNotAllowed(error.message) except db.BadValueException as error: raise MethodNotAllowed(error.message)
def add_survey(): survey = Survey() consent = request.get_json(silent=True, force=True) try: validate(consent, inputs.survey) except ValidationError as error: raise MethodNotAllowed(error.message) try: return jsonify(success=bool( survey.addByUniqueID(stack.top.uniqueID, consent['survey'], consent['tags'], consent['ongoing']))) except ValueError as error: raise MethodNotAllowed(error.message) except db.BadValueException as error: raise MethodNotAllowed(error.message)
def add_survey(): survey = Survey() consent = request.get_json(silent=True, force=True) try: validate(consent, inputs.survey) except ValidationError as error: raise MethodNotAllowed(error.message) try: return jsonify(success=bool(survey.addByUniqueID(stack.top.uniqueID, consent['survey'], consent['tags'], consent['ongoing']))) except ValueError as error: raise MethodNotAllowed(error.message) except db.BadValueException as error: raise MethodNotAllowed(error.message)
def get_survey(): survey = Survey() try: return jsonify(surveys=[ ob.serialize() for ob in survey.getAllByUniqueID( stack.top.uniqueID, utils.Time.Iso8601ToDatetime(request.args.get('from', None)), utils.Time.Iso8601ToDatetime(request.args.get('until', None)), request.args.get('tags').split(',') if request.args. get('tags', None) is not None else None, utils.json.Json._getJSONBool(request.args.get('ongoing', None)), ) ]) except ValueError as error: raise MethodNotAllowed(error.message) except db.BadValueException as error: raise MethodNotAllowed(error.message)
def delete_survey_by_id(_id): """ Delete existing survey by _id """ survey = Survey() old = 'NO OLD SURVEY FOUND!' try: old = survey.getByID(_id).serialize() return jsonify(success=bool(survey.deleteByUniqueID(_id))) except ValueError as error: raise MethodNotAllowed(error.message) except BadValueException as error: raise MethodNotAllowed(error.message) except SurveyNotFound as error: raise SurveyNotFound(_id) finally: add_to_audit_log( 'delete_survey_by_id', survey_id=_id, old=old, )
def update_survey_by_id(_id): survey = Survey() consent = request.get_json(silent=True, force=True) try: survey.getByUniqueIDAndID(stack.top.uniqueID, _id).serialize() except: raise SurveyNotFound(_id) try: validate(consent, inputs.survey) except ValidationError as error: raise MethodNotAllowed(error.message) try: return jsonify(success=bool(survey.updateByUniqueIDAndID(stack.top.uniqueID, _id, consent['survey'], consent['tags'], consent['ongoing']))) except ValueError as error: raise MethodNotAllowed(error.message) except db.BadValueException as error: raise MethodNotAllowed(error.message)
def update_survey_by_id(_id): survey = Survey() consent = request.get_json(silent=True, force=True) try: survey.getByUniqueIDAndID(stack.top.uniqueID, _id).serialize() except: raise SurveyNotFound(_id) try: validate(consent, inputs.survey) except ValidationError as error: raise MethodNotAllowed(error.message) try: return jsonify(success=bool( survey.updateByUniqueIDAndID(stack.top.uniqueID, _id, consent['survey'], consent['tags'], consent['ongoing']))) except ValueError as error: raise MethodNotAllowed(error.message) except db.BadValueException as error: raise MethodNotAllowed(error.message)
def get_all_surveys_by_user(_uid): """ Get all surveys for a given user """ survey = Survey() try: return jsonify(surveys=[ ob.serialize() for ob in survey.getAllByUniqueID( _uid, utils.Time.Iso8601ToDatetime(request.args.get('from', None)), utils.Time.Iso8601ToDatetime(request.args.get('until', None)), (request.args.get('tags').split(',') if request.args. get('tags', None) is not None else None), utils.json.Json._getJSONBool(request.args.get('ongoing', None))) ]) except ValueError as error: raise MethodNotAllowed(error.message) except BadValueException as error: raise MethodNotAllowed(error.message) except UserNotFound as error: raise UserNotFound(_uid) finally: add_to_audit_log('get_all_surveys_by_user', user_id=_uid)
async def get_next_task(survey_id: int, db: Session = Depends(get_db), current_user: User = Depends(get_current_active_user)): """Get next task for user""" if crud.survey.is_participant(db, survey_id=survey_id, user=current_user): task = crud.survey.get_next_task(db, survey_id=survey_id, user=current_user) return Task(id=task.id, chart1=db_chart_to_model_chart(task.chart1), chart2=db_chart_to_model_chart(task.chart2), created=task.created, survey=Survey(**task.survey.__dict__)) else: raise HTTPException( status_code=403, detail="User does not have necessary permissions", )
def get_survey_by_id(_id): survey = Survey() try: return jsonify(survey.getByUniqueIDAndID(stack.top.uniqueID, _id).serialize()) except: raise SurveyNotFound(_id)