def init_app(): from config import get_config_by_current_environment app = Flask(__name__, instance_relative_config=False) app.json_encoder = JSONEncoderWithDateLikeSupport CORS(app) api = API(app) app.config.from_object(get_config_by_current_environment()) db.init_app(app) with app.app_context(): from resources.product import ProductResource api.add_resource(ProductResource, "/product") return app
from api.metron.endpoint import metronThreats from api.notification.endpoint import manageNotifications #from api.metron_data.endpoint import asset_discovery, threat_intel @app.errorhandler(400) def bad_request(error): return make_response(jsonify({'error': 'Bad request'}), 400) @app.errorhandler(404) def not_found(error): return make_response(jsonify({'error': 'Not found'}), 404) API.add_resource(manageNotifications, '/api/notifications/email', '/api/notifications/sms', '/api/notifications/alert') API.add_resource(metronThreats, '/api/metron/threats/<string:_device_>') API.add_resource( manageAssets, '/api/assets', '/api/assets/<string:_company_name_>/<string:_sites_>/<string:_asset_ip_>' ) #'/api/assets/<string:_company_name_>', '/api/assets/<string:_company_name_>/<string:_sites_>' API.add_resource(piController, '/api/picontroller/time', '/api/picontroller/<string:_mac_address_>') API.add_resource(manageAgent, '/api/agent/<string:_mac_address_>') API.add_resource(manageAgentList, '/api/agent/list') API.add_resource(userAuth, '/api/auth/<string:_username>/<string:_password>') API.add_resource(manageUser, '/api/user/<string:_username_>') API.add_resource(manageUserList, '/api/user/list')