mirror of
https://github.com/GSA/notifications-api.git
synced 2026-08-02 12:48:32 -04:00
rename template.serialize to serialize_for_v2
make it clear that this is for the public api, and we shouldn't add fields to it without considering impacts also add the broadcast_messages relationship on service and template to the exclude from the marshmallow schemas, so it's not included elsewhere
This commit is contained in:
@@ -991,7 +991,7 @@ class TemplateBase(db.Model):
|
|||||||
template.values = values
|
template.values = values
|
||||||
return template
|
return template
|
||||||
|
|
||||||
def serialize(self):
|
def serialize_for_v2(self):
|
||||||
serialized = {
|
serialized = {
|
||||||
"id": str(self.id),
|
"id": str(self.id),
|
||||||
"type": self.template_type,
|
"type": self.template_type,
|
||||||
@@ -1009,7 +1009,6 @@ class TemplateBase(db.Model):
|
|||||||
for key in self._as_utils_template().placeholders
|
for key in self._as_utils_template().placeholders
|
||||||
},
|
},
|
||||||
"postage": self.postage,
|
"postage": self.postage,
|
||||||
"broadcast_data": self.broadcast_data
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return serialized
|
return serialized
|
||||||
|
|||||||
@@ -260,6 +260,7 @@ class ServiceSchema(BaseSchema, UUIDsAsStringsMixin):
|
|||||||
'users',
|
'users',
|
||||||
'version',
|
'version',
|
||||||
'whitelist',
|
'whitelist',
|
||||||
|
'broadcast_messages',
|
||||||
)
|
)
|
||||||
strict = True
|
strict = True
|
||||||
|
|
||||||
@@ -326,6 +327,7 @@ class DetailedServiceSchema(BaseSchema):
|
|||||||
'users',
|
'users',
|
||||||
'version',
|
'version',
|
||||||
'whitelist',
|
'whitelist',
|
||||||
|
'broadcast_messages',
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@@ -350,7 +352,7 @@ class BaseTemplateSchema(BaseSchema):
|
|||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = models.Template
|
model = models.Template
|
||||||
exclude = ("service_id", "jobs", "service_letter_contact_id")
|
exclude = ("service_id", "jobs", "service_letter_contact_id", "broadcast_messages")
|
||||||
strict = True
|
strict = True
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -18,4 +18,4 @@ def get_template_by_id(template_id, version=None):
|
|||||||
|
|
||||||
template = templates_dao.dao_get_template_by_id_and_service_id(
|
template = templates_dao.dao_get_template_by_id_and_service_id(
|
||||||
template_id, authenticated_service.id, data.get('version'))
|
template_id, authenticated_service.id, data.get('version'))
|
||||||
return jsonify(template.serialize()), 200
|
return jsonify(template.serialize_for_v2()), 200
|
||||||
|
|||||||
@@ -14,5 +14,5 @@ def get_templates():
|
|||||||
templates = templates_dao.dao_get_all_templates_for_service(authenticated_service.id, data.get('type'))
|
templates = templates_dao.dao_get_all_templates_for_service(authenticated_service.id, data.get('type'))
|
||||||
|
|
||||||
return jsonify(
|
return jsonify(
|
||||||
templates=[template.serialize() for template in templates]
|
templates=[template.serialize_for_v2() for template in templates]
|
||||||
), 200
|
), 200
|
||||||
|
|||||||
@@ -214,17 +214,17 @@ def test_notification_serializes_created_by_name_with_created_by_id(client, samp
|
|||||||
|
|
||||||
|
|
||||||
def test_sms_notification_serializes_without_subject(client, sample_template):
|
def test_sms_notification_serializes_without_subject(client, sample_template):
|
||||||
res = sample_template.serialize()
|
res = sample_template.serialize_for_v2()
|
||||||
assert res['subject'] is None
|
assert res['subject'] is None
|
||||||
|
|
||||||
|
|
||||||
def test_email_notification_serializes_with_subject(client, sample_email_template):
|
def test_email_notification_serializes_with_subject(client, sample_email_template):
|
||||||
res = sample_email_template.serialize()
|
res = sample_email_template.serialize_for_v2()
|
||||||
assert res['subject'] == 'Email Subject'
|
assert res['subject'] == 'Email Subject'
|
||||||
|
|
||||||
|
|
||||||
def test_letter_notification_serializes_with_subject(client, sample_letter_template):
|
def test_letter_notification_serializes_with_subject(client, sample_letter_template):
|
||||||
res = sample_letter_template.serialize()
|
res = sample_letter_template.serialize_for_v2()
|
||||||
assert res['subject'] == 'Template subject'
|
assert res['subject'] == 'Template subject'
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -44,7 +44,6 @@ def test_get_template_by_id_returns_200(
|
|||||||
'name': expected_name,
|
'name': expected_name,
|
||||||
'personalisation': {},
|
'personalisation': {},
|
||||||
'postage': postage,
|
'postage': postage,
|
||||||
'broadcast_data': None,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
assert json_response == expected_response
|
assert json_response == expected_response
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import pytest
|
|||||||
|
|
||||||
from flask import json
|
from flask import json
|
||||||
|
|
||||||
from app.models import EMAIL_TYPE, LETTER_TYPE, SMS_TYPE, TEMPLATE_TYPES
|
from app.models import EMAIL_TYPE, LETTER_TYPE, TEMPLATE_TYPES
|
||||||
from tests import create_authorization_header
|
from tests import create_authorization_header
|
||||||
from tests.app.db import create_template
|
from tests.app.db import create_template
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user