From 6b7d2e15f502cd8d3218f7a45bcb2df708296821 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Efe=20Ayd=C4=B1n?= <3feaydin@gmail.com> Date: Tue, 9 Apr 2019 13:32:33 +0300 Subject: [PATCH] bug fix --- server_side/api/modules/denunciation.py | 79 ++++++++++++++----------- 1 file changed, 45 insertions(+), 34 deletions(-) diff --git a/server_side/api/modules/denunciation.py b/server_side/api/modules/denunciation.py index 19fe87c..3583764 100644 --- a/server_side/api/modules/denunciation.py +++ b/server_side/api/modules/denunciation.py @@ -1,3 +1,5 @@ +from api.modules import utils + from flask import Flask, request from flask_restful import Resource, Api, abort @@ -7,47 +9,56 @@ import os app = Flask(__name__) api = Api(app) -db_path = os.path.join(app.root_path, 'databases', 'users.json') +db_path = os.path.join(app.root_path, 'databases', 'denunciations.json') with open(db_path, 'r') as f: - users = json.load(f) + denunciations = json.load(f) + +users_path = os.path.join(app.root_path, 'databases', 'users.json') +with open(users_path, 'r') as f: + users = json.load(f) class Alert(Resource): - def post(self): - args = request.form - username= "" - for user in users: - if users[user]["id"] == args["id"]: - username=user - break - trust = int(users[username]["trustability"]) - if trust > 20 or args["accepted"] == "true": - return {"success":True} - else: - return {"success":False,"penalty":"{}".format(100*(20-trust))} + def post(self): + args = request.form + username= "" + for user in users: + if users[user]["id"] == args["id"]: + username=user + break + trust = int(users[username]["trustability"]) + if trust > 20 or args["accepted"] == "true": + return {"success":True} + else: + return {"success":False,"penalty":"{}".format(100*(20-trust))} + class Denounce(Resource): def post(self): args = request.form reporter = args['id'] - denunciation_info = args['info'] - denunciation_priority = args['priority'] - denunciation_location = { - "latitude": args['latitude'], - "longitude": args['longitude'] - } - - denunciation = { - 'reporter': reporter, - 'info': denunciation_info, - 'priority': denunciation_priority, - 'location': denunciation_location - } - - denunciations.append(denunciation) - - with open(db_path, 'w') as f: - json.dump(denunciations, f, indent=4) - - return denunciation + if utils.find_by_id(users.values(), reporter): + denunciation_info = args['info'] + denunciation_priority = args['priority'] + denunciation_location = { + "latitude": args['latitude'], + "longitude": args['longitude'] + } + + denunciation = { + 'reporter': reporter, + 'info': denunciation_info, + 'priority': denunciation_priority, + 'location': denunciation_location + } + + denunciations.append(denunciation) + + with open(db_path, 'w') as f: + json.dump(denunciations, f, indent=4) + + return denunciation + + else: + return {'error': 'User doesn\'t exists'}