mirror of
https://github.com/GSA/notifications-api.git
synced 2026-08-16 20:48:37 -04:00
Revert "Revert "add DVLA organisations to API""
This commit is contained in:
committed by
Chris Hill-Scott
parent
4c764dcc80
commit
c4fac1d937
@@ -90,6 +90,7 @@ def register_blueprint(application):
|
||||
from app.provider_details.rest import provider_details as provider_details_blueprint
|
||||
from app.spec.rest import spec as spec_blueprint
|
||||
from app.organisation.rest import organisation_blueprint
|
||||
from app.dvla_organisation.rest import dvla_organisation_blueprint
|
||||
from app.delivery.rest import delivery_blueprint
|
||||
from app.notifications.receive_notifications import receive_notifications_blueprint
|
||||
from app.notifications.notifications_ses_callback import ses_callback_blueprint
|
||||
@@ -148,6 +149,9 @@ def register_blueprint(application):
|
||||
organisation_blueprint.before_request(requires_admin_auth)
|
||||
application.register_blueprint(organisation_blueprint, url_prefix='/organisation')
|
||||
|
||||
dvla_organisation_blueprint.before_request(requires_admin_auth)
|
||||
application.register_blueprint(dvla_organisation_blueprint, url_prefix='/dvla_organisations')
|
||||
|
||||
letter_job.before_request(requires_admin_auth)
|
||||
application.register_blueprint(letter_job)
|
||||
|
||||
|
||||
@@ -321,7 +321,8 @@ def create_dvla_file_contents(job_id):
|
||||
notification.template.__dict__,
|
||||
notification.personalisation,
|
||||
notification_reference=notification.reference,
|
||||
contact_block=notification.service.letter_contact_block
|
||||
contact_block=notification.service.letter_contact_block,
|
||||
org_id=notification.service.dvla_organisation.id,
|
||||
))
|
||||
for notification in dao_get_all_notifications_for_job(job_id)
|
||||
)
|
||||
|
||||
5
app/dao/dvla_organisation_dao.py
Normal file
5
app/dao/dvla_organisation_dao.py
Normal file
@@ -0,0 +1,5 @@
|
||||
from app.models import DVLAOrganisation
|
||||
|
||||
|
||||
def dao_get_dvla_organisations():
|
||||
return DVLAOrganisation.query.all()
|
||||
0
app/dvla_organisation/__init__.py
Normal file
0
app/dvla_organisation/__init__.py
Normal file
14
app/dvla_organisation/rest.py
Normal file
14
app/dvla_organisation/rest.py
Normal file
@@ -0,0 +1,14 @@
|
||||
from flask import Blueprint, jsonify
|
||||
|
||||
from app.dao.dvla_organisation_dao import dao_get_dvla_organisations
|
||||
from app.errors import register_errors
|
||||
|
||||
dvla_organisation_blueprint = Blueprint('dvla_organisation', __name__)
|
||||
register_errors(dvla_organisation_blueprint)
|
||||
|
||||
|
||||
@dvla_organisation_blueprint.route('', methods=['GET'])
|
||||
def get_dvla_organisations():
|
||||
return jsonify({
|
||||
org.id: org.name for org in dao_get_dvla_organisations()
|
||||
})
|
||||
@@ -115,6 +115,16 @@ class Organisation(db.Model):
|
||||
name = db.Column(db.String(255), nullable=True)
|
||||
|
||||
|
||||
DVLA_ORG_HM_GOVERNMENT = '001'
|
||||
DVLA_ORG_LAND_REGISTRY = '500'
|
||||
|
||||
|
||||
class DVLAOrganisation(db.Model):
|
||||
__tablename__ = 'dvla_organisation'
|
||||
id = db.Column(db.String, primary_key=True)
|
||||
name = db.Column(db.String(255), nullable=True)
|
||||
|
||||
|
||||
class Service(db.Model, Versioned):
|
||||
__tablename__ = 'services'
|
||||
|
||||
@@ -149,6 +159,14 @@ class Service(db.Model, Versioned):
|
||||
sms_sender = db.Column(db.String(11), nullable=True)
|
||||
organisation_id = db.Column(UUID(as_uuid=True), db.ForeignKey('organisation.id'), index=True, nullable=True)
|
||||
organisation = db.relationship('Organisation')
|
||||
dvla_organisation_id = db.Column(
|
||||
db.String,
|
||||
db.ForeignKey('dvla_organisation.id'),
|
||||
index=True,
|
||||
nullable=False,
|
||||
default=DVLA_ORG_HM_GOVERNMENT
|
||||
)
|
||||
dvla_organisation = db.relationship('DVLAOrganisation')
|
||||
branding = db.Column(
|
||||
db.String(255),
|
||||
db.ForeignKey('branding_type.name'),
|
||||
|
||||
@@ -177,6 +177,7 @@ class ServiceSchema(BaseSchema):
|
||||
created_by = field_for(models.Service, 'created_by', required=True)
|
||||
organisation = field_for(models.Service, 'organisation')
|
||||
branding = field_for(models.Service, 'branding')
|
||||
dvla_organisation = field_for(models.Service, 'dvla_organisation')
|
||||
|
||||
class Meta:
|
||||
model = models.Service
|
||||
|
||||
Reference in New Issue
Block a user