mirror of
https://github.com/GSA/notifications-api.git
synced 2025-12-20 15:31:15 -05:00
Updated jsonschema to Draft7, this allowed a conditional validation on subject, if template_type == 'email' or 'letter' then subject is required. This version is backward compatible with Draft4. When creating TempalteRedacted, I've built the dict depending on if the created_by or created_by_id exists.
29 lines
886 B
Python
29 lines
886 B
Python
from app.models import (
|
|
TEMPLATE_PROCESS_TYPE,
|
|
TEMPLATE_TYPES,
|
|
)
|
|
from app.schema_validation.definitions import uuid
|
|
|
|
post_create_template_schema = {
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"description": "POST create new template",
|
|
"type": "object",
|
|
"title": "payload for POST /service/<uuid:service_id>/template",
|
|
"properties": {
|
|
"name": {"type": "string"},
|
|
"template_type": {"enum": TEMPLATE_TYPES},
|
|
"service": uuid,
|
|
"process_type": {"emun": TEMPLATE_PROCESS_TYPE},
|
|
"content": {"type": "string"},
|
|
"subject": {"type": "string"},
|
|
"created_by": uuid
|
|
},
|
|
"if": {
|
|
"properties": {
|
|
"template_type": {"enum": ["email", "letter"]}
|
|
}
|
|
},
|
|
"then": {"required": ["subject"]},
|
|
"required": ["name", "template_type", "content", "service", "created_by"]
|
|
}
|