"""Route handlers for Configurations endpoints.""" from account.api import app from account.constants import error from account.constants.connectors import NEO4J_DATABASE_NAME from account.logic import ( country, genre, owner, region, vendor, ) from account.validation import validation from connector_neo4j import Neo4jSession from flask import request from owsrequest import flask_request from owsresponse import response from owsresponse.adaptors.flask import flaskify @app.route('/vendor-currency-codes', methods=['GET']) @validation.reject_grass_headers def get_all_vendor_currency_codes(): """Get a list of all currency codes for vendors. Returns: Flask.response: containing the list of all vendor currency codes. """ access_rule_decision = flask_request.verify_rules_access_standalone(request) if not access_rule_decision: return flaskify( response.create_error_response( code=error.ERROR_CODE_AUTHORIZATION, message='Unauthorized', status=401 ) ) return flaskify(vendor.get_all_vendor_currency_codes()) @app.route('/owners', methods=['GET']) def get_owners(): """Get list of owners.""" access_rule_decision = flask_request.verify_rules_access_standalone(request) if not access_rule_decision: return flaskify( response.create_error_response( code=error.ERROR_CODE_AUTHORIZATION, message='Unauthorized', status=401 ) ) return flaskify(owner.get_owners()) @app.route('/genres', methods=['GET']) def get_genres(): """Get list of genres from genre table. Returns: Flask.response. """ access_rule_decision = flask_request.verify_rules_access_standalone(request) if not access_rule_decision: return flaskify( response.create_error_response( code=error.ERROR_CODE_AUTHORIZATION, message='Unauthorized', status=401 ) ) return flaskify(genre.get_genres()) @app.route('/countries', methods=['GET']) def get_countries(): """Get list of countries from country table. Returns: Flask.response. """ access_rule_decision = flask_request.verify_rules_access_standalone(request) if not access_rule_decision: return flaskify( response.create_error_response( code=error.ERROR_CODE_AUTHORIZATION, message='Unauthorized', status=401 ) ) return flaskify(country.get_countries()) @app.route('/regions', methods=['GET']) def get_regions(): """Get list of regions from region table. Returns: Flask.response. """ access_rule_decision = flask_request.verify_rules_access_standalone(request) if not access_rule_decision: return flaskify( response.create_error_response( code=error.ERROR_CODE_AUTHORIZATION, message='Unauthorized', status=401 ) ) return flaskify(region.get_regions()) @app.route('/service-tiers', methods=['GET']) @Neo4jSession(use_v2=True, database=NEO4J_DATABASE_NAME) def get_service_tiers(): """Get list of service tiers and uuids from service tier nodes in neo4j. Returns: Flask.response. """ access_rule_decision = flask_request.verify_rules_access_standalone(request) if not access_rule_decision: return flaskify( response.create_error_response( code=error.ERROR_CODE_AUTHORIZATION, message='Unauthorized', status=401 ) ) return flaskify(vendor.get_service_tiers()) @app.route('/parent_companies', methods=['GET']) @Neo4jSession(use_v2=True, database=NEO4J_DATABASE_NAME) def get_parent_companies(): """Get list of parent companies from neo4j. Returns: Flask.response. """ access_rule_decision = flask_request.verify_rules_access_standalone(request) if not access_rule_decision: return flaskify( response.create_error_response( code=error.ERROR_CODE_AUTHORIZATION, message='Unauthorized', status=401 ) ) return flaskify(vendor.get_parent_companies()) @app.route('/brands', methods=['GET']) @Neo4jSession(use_v2=True, database=NEO4J_DATABASE_NAME) def get_company_brands(): """Get list of company brands from neo4j. Returns: Flask.response. """ access_rule_decision = flask_request.verify_rules_access_standalone(request) if not access_rule_decision: return flaskify( response.create_error_response( code=error.ERROR_CODE_AUTHORIZATION, message='Unauthorized', status=401 ) ) return flaskify(vendor.get_company_brands())