add DVLA organisations to API

when services are created, they'll have a dvla_org_id of 001, or
HM Government. That can be changed later using a regular update call
This commit is contained in:
Leo Hemsted
2017-04-19 16:31:18 +01:00
parent 45a689f98e
commit d514d99a67
6 changed files with 114 additions and 30 deletions

View File

@@ -113,6 +113,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'
@@ -147,6 +157,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'),

View File

@@ -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