mirror of
https://github.com/GSA/notifications-api.git
synced 2026-07-31 11:48:51 -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
|
||||
return template
|
||||
|
||||
def serialize(self):
|
||||
def serialize_for_v2(self):
|
||||
serialized = {
|
||||
"id": str(self.id),
|
||||
"type": self.template_type,
|
||||
@@ -1009,7 +1009,6 @@ class TemplateBase(db.Model):
|
||||
for key in self._as_utils_template().placeholders
|
||||
},
|
||||
"postage": self.postage,
|
||||
"broadcast_data": self.broadcast_data
|
||||
}
|
||||
|
||||
return serialized
|
||||
|
||||
@@ -260,6 +260,7 @@ class ServiceSchema(BaseSchema, UUIDsAsStringsMixin):
|
||||
'users',
|
||||
'version',
|
||||
'whitelist',
|
||||
'broadcast_messages',
|
||||
)
|
||||
strict = True
|
||||
|
||||
@@ -326,6 +327,7 @@ class DetailedServiceSchema(BaseSchema):
|
||||
'users',
|
||||
'version',
|
||||
'whitelist',
|
||||
'broadcast_messages',
|
||||
)
|
||||
|
||||
|
||||
@@ -350,7 +352,7 @@ class BaseTemplateSchema(BaseSchema):
|
||||
|
||||
class Meta:
|
||||
model = models.Template
|
||||
exclude = ("service_id", "jobs", "service_letter_contact_id")
|
||||
exclude = ("service_id", "jobs", "service_letter_contact_id", "broadcast_messages")
|
||||
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_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'))
|
||||
|
||||
return jsonify(
|
||||
templates=[template.serialize() for template in templates]
|
||||
templates=[template.serialize_for_v2() for template in templates]
|
||||
), 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):
|
||||
res = sample_template.serialize()
|
||||
res = sample_template.serialize_for_v2()
|
||||
assert res['subject'] is None
|
||||
|
||||
|
||||
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'
|
||||
|
||||
|
||||
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'
|
||||
|
||||
|
||||
|
||||
@@ -44,7 +44,6 @@ def test_get_template_by_id_returns_200(
|
||||
'name': expected_name,
|
||||
'personalisation': {},
|
||||
'postage': postage,
|
||||
'broadcast_data': None,
|
||||
}
|
||||
|
||||
assert json_response == expected_response
|
||||
|
||||
@@ -2,7 +2,7 @@ import pytest
|
||||
|
||||
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.app.db import create_template
|
||||
|
||||
|
||||
Reference in New Issue
Block a user