Merge pull request #2434 from alphagov/get-org-by-domain

Add a method to guess organisation from a domain
This commit is contained in:
Chris Hill-Scott
2019-04-05 14:51:40 +01:00
committed by GitHub
2 changed files with 55 additions and 1 deletions

View File

@@ -1,10 +1,11 @@
from flask import Blueprint, jsonify, request, current_app
from flask import abort, Blueprint, jsonify, request, current_app
from sqlalchemy.exc import IntegrityError
from app.dao.organisation_dao import (
dao_create_organisation,
dao_get_organisations,
dao_get_organisation_by_id,
dao_get_organisation_by_email_address,
dao_get_organisation_services,
dao_update_organisation,
dao_add_service_to_organisation,
@@ -53,6 +54,24 @@ def get_organisation_by_id(organisation_id):
return jsonify(organisation.serialize())
@organisation_blueprint.route('/by-domain', methods=['GET'])
def get_organisation_by_domain():
domain = request.args.get('domain')
if not domain or '@' in domain:
abort(400)
organisation = dao_get_organisation_by_email_address(
'example@{}'.format(request.args.get('domain'))
)
if not organisation:
abort(404)
return jsonify(organisation.serialize())
@organisation_blueprint.route('', methods=['POST'])
def create_organisation():
data = request.get_json()