|
|
- from modules import utils
-
- from flask import Flask, request,Response
- from flask_restful import Resource, Api
-
- import json
-
- import os
-
- app = Flask(__name__)
- api = Api(app)
-
-
- db_path = os.path.join(app.root_path, 'databases', 'denunciations.json')
- with open(db_path, 'r') as 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
- reporter = args['id']
- user = utils.find_by_id(users.values(), reporter)
- trust = int(user["trustability"])
- if args["accepted"] == "true" or trust > 20:
- photo = args["photo"]
- if utils.find_by_id(users.values(), reporter):
- denunciation_info = args['note']
- denunciation_priority = 5
- denunciation_location = {
- "latitude": float(args['latitude']),
- "longitude": float(args['longitude'])
- }
-
- denunciation = {
- 'id': len(denunciations) + 1,
- 'reporter': reporter,
- 'emergency': args['emergency'],
- 'info': denunciation_info,
- 'photo': photo,
- 'priority': denunciation_priority,
- 'location': denunciation_location
- }
-
- denunciations.append(denunciation)
-
- with open(db_path, 'w') as f:
- json.dump(denunciations, f, indent=2)
-
- return {'success': True}
- else:
- return {'error': 'User doesn\'t exists'}
- else:
- return {"success": False, "penalty": "{}".format(100*(20-trust))}
-
-
- class Denunciations(Resource):
- def get(self):
- resp = Response(json.dumps([
- {
- 'id': v['id'],
- "reporter": v["reporter"],
- 'info': v['info'],
- 'priority': v['priority'],
- 'emergency': v['emergency'],
- 'photo': v['photo'],
- 'location': v['location']
- }
- for v in denunciations
- ]
- ))
- resp.headers['Access-Control-Allow-Origin'] = '*'
-
- return resp
|