def api_review_post(): if request.method == 'POST': error_msg = '' review_text = utils.sanitize_user_input(request.form.get('reviewText')) uri = utils.sanitize_user_input(request.form.get('uri')) error_msg = l.create_a_review(uri, review_text) return jsonify({ 'status': 0 if not error_msg else 1, 'error_msg': error_msg })
def api_auth_email(): """ This is the endpoint to delete the uploaded design """ email = utils.sanitize_user_input(request.form.get('email')) uid = utils.sanitize_user_input(request.form.get('uid')) true_email = l.get_email_by_uid(uid=uid) logging.warning('true email: %s email: %s, uid: %s' % (true_email, email, uid)) return jsonify({ 'status': 0 if email == true_email else 1, 'errors': 'Failed, please try again.' })
def api_design_info_update(): """Handles design info update, """ try: uri = utils.sanitize_user_input(request.form.get('uri')) name = utils.sanitize_user_input(request.form.get('name')) desc = utils.sanitize_user_input(request.form.get('desc')) logging.warning('uri is %s desc is %s and name is %s' % (uri, desc, name)) l.touch_review_object(uri, None, None, name, desc) return jsonify({'status': 0, 'errors': ''}) except: return jsonify({ 'status': 1, 'errors': 'Something wrong when updating design info' })
def api_report(): """ This is the endpoint to report an inappropriate design """ uri = utils.sanitize_user_input(request.form.get('uri')) error_msg = l.report_review_objects(uris=[uri]) return jsonify({ 'status': 0 if not error_msg else 1, 'error_msg': error_msg })
def api_activate(): """ This is the endpoint to delete the uploaded design """ uri = utils.sanitize_user_input(request.form.get('uri')) error_msg = l.activate_review_objects(uris=[uri]) return jsonify({ 'status': 0 if not error_msg else 1, 'error_msg': error_msg })
def api_dev(): """ This is the endpoint to leave a comment or report a bug """ body = utils.sanitize_user_input(request.form.get('body')) error_msg = l.create_a_comment(body=body) logging.warning('comments: %s' % body) return jsonify({ 'status': 0 if not error_msg else 1, 'error_msg': error_msg })
def api_upload(): """Handles design submissions, if uri is specified, update the existing design, otherwise create a new entry for the review object and return the generated uri """ try: uri = utils.sanitize_user_input(request.form.get('uri')) email = utils.sanitize_user_input(request.form.get('email')) name = utils.sanitize_user_input(request.form.get('name')) desc = utils.sanitize_user_input(request.form.get('desc')) if not uri and not recaptcha(): error_msg = 'Are you a robot?' else: error_msg, uri = _touch_file(uri, email, name, desc) assert not (error_msg and uri), 'Either error message or uri, not both' # if file successfully uploaded, send an email if not error_msg: logging.warning('no error message') if email: logging.warning('going to send an email') payload = { 'type': constants.JOB_TYPE_EMAIL_UPLOAD_SUCCESS, 'receivers': [email], 'uri': uri, 'name': name } socket.send_json(payload) else: # either updating existing design, or uploader didn't provide an email pass return jsonify({ 'status': 0 if not error_msg else 1, 'errors': error_msg, 'uri': uri }) except Exception as e: return jsonify({'status': 1, 'errors': str(e)})