diff --git a/content_schemas/allowed_document_types.yml b/content_schemas/allowed_document_types.yml index e330c72ea..6a6867b06 100644 --- a/content_schemas/allowed_document_types.yml +++ b/content_schemas/allowed_document_types.yml @@ -23,6 +23,7 @@ - closed_consultation - cma_case - content_block_email_address +- content_block_postal_address - complaints_procedure - completed_transaction - consultation diff --git a/content_schemas/dist/formats/content_block_postal_address/notification/schema.json b/content_schemas/dist/formats/content_block_postal_address/notification/schema.json new file mode 100644 index 000000000..5379b1226 --- /dev/null +++ b/content_schemas/dist/formats/content_block_postal_address/notification/schema.json @@ -0,0 +1,703 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "type": "object", + "required": [ + "analytics_identifier", + "base_path", + "content_id", + "description", + "details", + "document_type", + "email_document_supertype", + "expanded_links", + "first_published_at", + "government_document_supertype", + "govuk_request_id", + "links", + "locale", + "payload_version", + "phase", + "public_updated_at", + "publishing_app", + "redirects", + "rendering_app", + "routes", + "schema_name", + "title", + "update_type" + ], + "additionalProperties": false, + "properties": { + "analytics_identifier": { + "$ref": "#/definitions/analytics_identifier" + }, + "base_path": { + "type": "null" + }, + "content_id": { + "$ref": "#/definitions/guid" + }, + "content_purpose_document_supertype": { + "description": "DEPRECATED. Use `content_purpose_subgroup`.", + "type": "string" + }, + "content_purpose_subgroup": { + "description": "Document subgroup grouping documents by purpose. Narrows down the purpose defined in content_purpose_supergroup.", + "type": "string" + }, + "content_purpose_supergroup": { + "description": "Document supergroup grouping documents by a purpose", + "type": "string" + }, + "description": { + "$ref": "#/definitions/description_optional" + }, + "details": { + "$ref": "#/definitions/details" + }, + "document_type": { + "type": "string", + "enum": [ + "content_block_postal_address" + ] + }, + "email_document_supertype": { + "description": "Document supertype grouping intended to power the Whitehall finders and email subscriptions", + "type": "string" + }, + "expanded_links": { + "type": "object", + "additionalProperties": false, + "properties": { + "available_translations": { + "description": "Link type automatically added by Publishing API", + "$ref": "#/definitions/frontend_links_with_base_path" + }, + "child_taxons": { + "description": "Link type automatically added by Publishing API", + "$ref": "#/definitions/frontend_links_with_base_path" + }, + "children": { + "description": "Link type automatically added by Publishing API", + "$ref": "#/definitions/frontend_links_with_base_path" + }, + "document_collections": { + "description": "Link type automatically added by Publishing API", + "$ref": "#/definitions/frontend_links_with_base_path" + }, + "finder": { + "description": "Powers links from content back to finders the content is surfaced on", + "$ref": "#/definitions/frontend_links_with_base_path" + }, + "lead_organisations": { + "description": "DEPRECATED: A subset of organisations that should be emphasised in relation to this content item. All organisations specified here should also be part of the organisations array.", + "$ref": "#/definitions/frontend_links_with_base_path" + }, + "level_one_taxons": { + "description": "Link type automatically added by Publishing API", + "$ref": "#/definitions/frontend_links_with_base_path" + }, + "mainstream_browse_pages": { + "description": "Powers the /browse section of the site. These are known as sections in some legacy apps.", + "$ref": "#/definitions/frontend_links_with_base_path" + }, + "meets_user_needs": { + "description": "The user needs this piece of content meets.", + "$ref": "#/definitions/frontend_links_with_base_path" + }, + "ministers": { + "description": "Link type automatically added by Publishing API", + "$ref": "#/definitions/frontend_links" + }, + "ordered_related_items": { + "description": "Related items, can be any page on GOV.UK. Mostly used for mainstream content to power the sidebar. Ordering of the links is determined by the editor in Content Tagger.", + "$ref": "#/definitions/frontend_links_with_base_path" + }, + "ordered_related_items_overrides": { + "description": "Related items, can be any page on GOV.UK. Overrides 'more like this' automatically generated links in the beta navigation.", + "$ref": "#/definitions/frontend_links_with_base_path" + }, + "organisations": { + "description": "All organisations linked to this content item. This should include lead organisations.", + "$ref": "#/definitions/frontend_links_with_base_path" + }, + "original_primary_publishing_organisation": { + "description": "The organisation that published the original version of the page. Corresponds to the first of the 'Lead organisations' in Whitehall for the first edition, and is empty for all other publishing applications.", + "$ref": "#/definitions/frontend_links_with_base_path" + }, + "parent": { + "description": "The parent content item.", + "$ref": "#/definitions/frontend_links_with_base_path", + "maxItems": 1 + }, + "part_of_step_navs": { + "description": "Link type automatically added by Publishing API", + "$ref": "#/definitions/frontend_links_with_base_path" + }, + "policies": { + "description": "Link type automatically added by Publishing API", + "$ref": "#/definitions/frontend_links_with_base_path" + }, + "policy_areas": { + "description": "A largely deprecated tag currently only used to power email alerts.", + "$ref": "#/definitions/frontend_links_with_base_path" + }, + "primary_publishing_organisation": { + "description": "The organisation that published the page. Corresponds to the first of the 'Lead organisations' in Whitehall, and is empty for all other publishing applications.", + "$ref": "#/definitions/frontend_links_with_base_path", + "maxItems": 1 + }, + "related_to_step_navs": { + "description": "Link type automatically added by Publishing API", + "$ref": "#/definitions/frontend_links_with_base_path" + }, + "role_appointments": { + "description": "Link type automatically added by Publishing API", + "$ref": "#/definitions/frontend_links" + }, + "secondary_to_step_navs": { + "description": "Link type automatically added by Publishing API", + "$ref": "#/definitions/frontend_links_with_base_path" + }, + "suggested_ordered_related_items": { + "description": "Used for displaying related content on most pages, except for step-by-step and fatality notices. Links and their ordering are determined by the machine learning algorithms.", + "$ref": "#/definitions/frontend_links_with_base_path" + }, + "taxons": { + "description": "Prototype-stage taxonomy label for this content item", + "$ref": "#/definitions/frontend_links_with_base_path" + } + } + }, + "first_published_at": { + "$ref": "#/definitions/first_published_at" + }, + "government_document_supertype": { + "description": "Document supertype grouping intended to power the Whitehall finders and email subscriptions", + "type": "string" + }, + "govuk_request_id": { + "$ref": "#/definitions/govuk_request_id" + }, + "links": { + "type": "object", + "additionalProperties": false, + "properties": { + "finder": { + "description": "Powers links from content back to finders the content is surfaced on", + "$ref": "#/definitions/guid_list" + }, + "lead_organisations": { + "description": "DEPRECATED: A subset of organisations that should be emphasised in relation to this content item. All organisations specified here should also be part of the organisations array.", + "$ref": "#/definitions/guid_list" + }, + "mainstream_browse_pages": { + "description": "Powers the /browse section of the site. These are known as sections in some legacy apps.", + "$ref": "#/definitions/guid_list" + }, + "meets_user_needs": { + "description": "The user needs this piece of content meets.", + "$ref": "#/definitions/guid_list" + }, + "ordered_related_items": { + "description": "Related items, can be any page on GOV.UK. Mostly used for mainstream content to power the sidebar. Ordering of the links is determined by the editor in Content Tagger.", + "$ref": "#/definitions/guid_list" + }, + "ordered_related_items_overrides": { + "description": "Related items, can be any page on GOV.UK. Overrides 'more like this' automatically generated links in the beta navigation.", + "$ref": "#/definitions/guid_list" + }, + "organisations": { + "description": "All organisations linked to this content item. This should include lead organisations.", + "$ref": "#/definitions/guid_list" + }, + "original_primary_publishing_organisation": { + "description": "The organisation that published the original version of the page. Corresponds to the first of the 'Lead organisations' in Whitehall for the first edition, and is empty for all other publishing applications.", + "$ref": "#/definitions/guid_list" + }, + "parent": { + "description": "The parent content item.", + "$ref": "#/definitions/guid_list", + "maxItems": 1 + }, + "policy_areas": { + "description": "A largely deprecated tag currently only used to power email alerts.", + "$ref": "#/definitions/guid_list" + }, + "primary_publishing_organisation": { + "description": "The organisation that published the page. Corresponds to the first of the 'Lead organisations' in Whitehall, and is empty for all other publishing applications.", + "$ref": "#/definitions/guid_list", + "maxItems": 1 + }, + "suggested_ordered_related_items": { + "description": "Used for displaying related content on most pages, except for step-by-step and fatality notices. Links and their ordering are determined by the machine learning algorithms.", + "$ref": "#/definitions/guid_list" + }, + "taxons": { + "description": "Prototype-stage taxonomy label for this content item", + "$ref": "#/definitions/guid_list" + } + } + }, + "locale": { + "$ref": "#/definitions/locale" + }, + "navigation_document_supertype": { + "description": "Document type grouping powering the new taxonomy-based navigation pages", + "type": "string" + }, + "need_ids": { + "type": "array", + "items": { + "type": "string" + } + }, + "payload_version": { + "$ref": "#/definitions/payload_version" + }, + "phase": { + "description": "The service design phase of this content item - https://www.gov.uk/service-manual/phases", + "type": "string", + "enum": [ + "alpha", + "beta", + "live" + ] + }, + "public_updated_at": { + "$ref": "#/definitions/public_updated_at" + }, + "publishing_app": { + "$ref": "#/definitions/publishing_app_name" + }, + "publishing_request_id": { + "$ref": "#/definitions/publishing_request_id" + }, + "redirects": { + "type": "array", + "additionalItems": false, + "items": {} + }, + "rendering_app": { + "type": "null" + }, + "routes": { + "type": "array", + "additionalItems": false, + "items": {} + }, + "schema_name": { + "type": "string", + "enum": [ + "content_block_postal_address" + ] + }, + "search_user_need_document_supertype": { + "description": "Document supertype grouping core and government documents", + "type": "string" + }, + "title": { + "$ref": "#/definitions/title" + }, + "update_type": { + "$ref": "#/definitions/update_type" + }, + "user_journey_document_supertype": { + "description": "Document type grouping powering analytics of user journeys", + "type": "string" + }, + "user_need_document_supertype": { + "description": "DEPRECATED. Use `content_purpose_document_supertype`.", + "type": "string" + }, + "withdrawn_notice": { + "$ref": "#/definitions/withdrawn_notice" + } + }, + "definitions": { + "description": { + "type": "string" + }, + "absolute_path": { + "description": "A path only. Query string and/or fragment are not allowed.", + "type": "string", + "pattern": "^/(([a-zA-Z0-9._~!$&'()*+,;=:@-]|%[0-9a-fA-F]{2})+(/([a-zA-Z0-9._~!$&'()*+,;=:@-]|%[0-9a-fA-F]{2})*)*)?$" + }, + "analytics_identifier": { + "description": "A short identifier we send to Google Analytics for multi-valued fields. This means we avoid the truncated values we would get if we sent the path or slug of eg organisations.", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "change_history": { + "type": "array", + "items": { + "type": "object", + "required": [ + "public_timestamp", + "note" + ], + "additionalProperties": false, + "properties": { + "note": { + "description": "A summary of the change", + "type": "string" + }, + "public_timestamp": { + "type": "string", + "format": "date-time" + } + } + } + }, + "description_optional": { + "anyOf": [ + { + "$ref": "#/definitions/description" + }, + { + "type": "null" + } + ] + }, + "details": { + "type": "object", + "required": [ + "line_1", + "town_or_city", + "postcode" + ], + "additionalProperties": false, + "properties": { + "change_history": { + "$ref": "#/definitions/change_history" + }, + "county": { + "type": "string" + }, + "line_1": { + "type": "string" + }, + "line_2": { + "type": "string" + }, + "postcode": { + "type": "string" + }, + "town_or_city": { + "type": "string" + } + } + }, + "first_published_at": { + "description": "The date the content was first published. Automatically determined by the publishing-api, unless overridden by the publishing application.", + "type": "string", + "format": "date-time" + }, + "frontend_links": { + "type": "array", + "items": { + "type": "object", + "required": [ + "content_id", + "locale", + "title" + ], + "additionalProperties": true, + "properties": { + "analytics_identifier": { + "$ref": "#/definitions/analytics_identifier" + }, + "api_path": { + "$ref": "#/definitions/absolute_path" + }, + "api_url": { + "description": "DEPRECATED: api_path should be used instead of api_url. This is due to values of api_url being tied to an environment which can cause problems when data is synced between environments. In time this field will be removed by the Publishing Platform team.", + "type": "string", + "format": "uri" + }, + "base_path": { + "$ref": "#/definitions/absolute_path" + }, + "content_id": { + "$ref": "#/definitions/guid" + }, + "document_type": { + "type": "string" + }, + "links": { + "type": "object", + "patternProperties": { + "^[a-z_]+$": { + "$ref": "#/definitions/frontend_links" + } + } + }, + "locale": { + "$ref": "#/definitions/locale" + }, + "public_updated_at": { + "oneOf": [ + { + "$ref": "#/definitions/public_updated_at" + }, + { + "type": "null" + } + ] + }, + "schema_name": { + "type": "string" + }, + "title": { + "type": "string" + }, + "web_url": { + "description": "DEPRECATED: base_path should be used instead of web_url. This is due to values of web_url being tied to an environment which can cause problems when data is synced between environments. In time this field will be removed by the Publishing Platform team.", + "type": "string", + "format": "uri" + } + } + } + }, + "frontend_links_with_base_path": { + "type": "array", + "items": { + "type": "object", + "required": [ + "base_path", + "content_id", + "locale", + "title" + ], + "additionalProperties": true, + "properties": { + "analytics_identifier": { + "$ref": "#/definitions/analytics_identifier" + }, + "api_path": { + "$ref": "#/definitions/absolute_path" + }, + "api_url": { + "description": "DEPRECATED: api_path should be used instead of api_url. This is due to values of api_url being tied to an environment which can cause problems when data is synced between environments. In time this field will be removed by the Publishing Platform team.", + "type": "string", + "format": "uri" + }, + "base_path": { + "$ref": "#/definitions/absolute_path" + }, + "content_id": { + "$ref": "#/definitions/guid" + }, + "document_type": { + "type": "string" + }, + "links": { + "type": "object", + "patternProperties": { + "^[a-z_]+$": { + "$ref": "#/definitions/frontend_links_with_base_path" + } + } + }, + "locale": { + "$ref": "#/definitions/locale" + }, + "public_updated_at": { + "oneOf": [ + { + "$ref": "#/definitions/public_updated_at" + }, + { + "type": "null" + } + ] + }, + "schema_name": { + "type": "string" + }, + "title": { + "type": "string" + }, + "web_url": { + "description": "DEPRECATED: base_path should be used instead of web_url. This is due to values of web_url being tied to an environment which can cause problems when data is synced between environments. In time this field will be removed by the Publishing Platform team.", + "type": "string", + "format": "uri" + } + } + } + }, + "govuk_request_id": { + "type": [ + "string", + "null" + ] + }, + "guid": { + "type": "string", + "pattern": "^[a-f0-9]{8}-[a-f0-9]{4}-[1-5][a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$" + }, + "guid_list": { + "type": "array", + "items": { + "$ref": "#/definitions/guid" + }, + "uniqueItems": true + }, + "locale": { + "type": "string", + "enum": [ + "ar", + "az", + "be", + "bg", + "bn", + "cs", + "cy", + "da", + "de", + "dr", + "el", + "en", + "es", + "es-419", + "et", + "fa", + "fi", + "fr", + "gd", + "gu", + "he", + "hi", + "hr", + "hu", + "hy", + "id", + "is", + "it", + "ja", + "ka", + "kk", + "ko", + "lt", + "lv", + "ms", + "mt", + "ne", + "nl", + "no", + "pa", + "pa-pk", + "pl", + "ps", + "pt", + "ro", + "ru", + "si", + "sk", + "sl", + "so", + "sq", + "sr", + "sv", + "sw", + "ta", + "th", + "tk", + "tr", + "uk", + "ur", + "uz", + "vi", + "yi", + "zh", + "zh-hk", + "zh-tw" + ] + }, + "payload_version": { + "description": "Counter to indicate when the payload was generated", + "type": "integer" + }, + "public_updated_at": { + "description": "When the content was last significantly changed (a major update). Shown to users. Automatically determined by the publishing-api, unless overridden by the publishing application.", + "type": "string", + "format": "date-time" + }, + "publishing_app_name": { + "description": "The application that published this item.", + "type": "string", + "enum": [ + "account-api", + "calculators", + "calendars", + "collections-publisher", + "contacts", + "content-publisher", + "content-tagger", + "email-alert-frontend", + "external-link-tracker", + "feedback", + "frontend", + "government-frontend", + "hmrc-manuals-api", + "local-links-manager", + "manuals-publisher", + "maslow", + "performanceplatform-big-screen-view", + "publisher", + "rummager", + "search-admin", + "search-api", + "service-manual-publisher", + "share-sale-publisher", + "short-url-manager", + "smartanswers", + "special-route-publisher", + "specialist-publisher", + "static", + "tariff", + "travel-advice-publisher", + "whitehall" + ] + }, + "publishing_request_id": { + "description": "A unique identifier used to track publishing requests to rendered content", + "oneOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "title": { + "type": "string" + }, + "update_type": { + "enum": [ + "major", + "minor", + "republish" + ] + }, + "withdrawn_notice": { + "type": "object", + "additionalProperties": false, + "properties": { + "explanation": { + "type": "string" + }, + "withdrawn_at": { + "format": "date-time" + } + } + } + } +} diff --git a/content_schemas/dist/formats/content_block_postal_address/publisher_v2/links.json b/content_schemas/dist/formats/content_block_postal_address/publisher_v2/links.json new file mode 100644 index 000000000..d3e7fac0a --- /dev/null +++ b/content_schemas/dist/formats/content_block_postal_address/publisher_v2/links.json @@ -0,0 +1,86 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "type": "object", + "additionalProperties": false, + "properties": { + "bulk_publishing": { + "type": "boolean" + }, + "links": { + "type": "object", + "additionalProperties": false, + "properties": { + "finder": { + "description": "Powers links from content back to finders the content is surfaced on", + "$ref": "#/definitions/guid_list" + }, + "lead_organisations": { + "description": "DEPRECATED: A subset of organisations that should be emphasised in relation to this content item. All organisations specified here should also be part of the organisations array.", + "$ref": "#/definitions/guid_list" + }, + "mainstream_browse_pages": { + "description": "Powers the /browse section of the site. These are known as sections in some legacy apps.", + "$ref": "#/definitions/guid_list" + }, + "meets_user_needs": { + "description": "The user needs this piece of content meets.", + "$ref": "#/definitions/guid_list" + }, + "ordered_related_items": { + "description": "Related items, can be any page on GOV.UK. Mostly used for mainstream content to power the sidebar. Ordering of the links is determined by the editor in Content Tagger.", + "$ref": "#/definitions/guid_list" + }, + "ordered_related_items_overrides": { + "description": "Related items, can be any page on GOV.UK. Overrides 'more like this' automatically generated links in the beta navigation.", + "$ref": "#/definitions/guid_list" + }, + "organisations": { + "description": "All organisations linked to this content item. This should include lead organisations.", + "$ref": "#/definitions/guid_list" + }, + "original_primary_publishing_organisation": { + "description": "The organisation that published the original version of the page. Corresponds to the first of the 'Lead organisations' in Whitehall for the first edition, and is empty for all other publishing applications.", + "$ref": "#/definitions/guid_list" + }, + "parent": { + "description": "The parent content item.", + "$ref": "#/definitions/guid_list", + "maxItems": 1 + }, + "policy_areas": { + "description": "A largely deprecated tag currently only used to power email alerts.", + "$ref": "#/definitions/guid_list" + }, + "primary_publishing_organisation": { + "description": "The organisation that published the page. Corresponds to the first of the 'Lead organisations' in Whitehall, and is empty for all other publishing applications.", + "$ref": "#/definitions/guid_list", + "maxItems": 1 + }, + "suggested_ordered_related_items": { + "description": "Used for displaying related content on most pages, except for step-by-step and fatality notices. Links and their ordering are determined by the machine learning algorithms.", + "$ref": "#/definitions/guid_list" + }, + "taxons": { + "description": "Prototype-stage taxonomy label for this content item", + "$ref": "#/definitions/guid_list" + } + } + }, + "previous_version": { + "type": "string" + } + }, + "definitions": { + "guid": { + "type": "string", + "pattern": "^[a-f0-9]{8}-[a-f0-9]{4}-[1-5][a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$" + }, + "guid_list": { + "type": "array", + "items": { + "$ref": "#/definitions/guid" + }, + "uniqueItems": true + } + } +} diff --git a/content_schemas/dist/formats/content_block_postal_address/publisher_v2/schema.json b/content_schemas/dist/formats/content_block_postal_address/publisher_v2/schema.json new file mode 100644 index 000000000..49d1957e7 --- /dev/null +++ b/content_schemas/dist/formats/content_block_postal_address/publisher_v2/schema.json @@ -0,0 +1,329 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "type": "object", + "required": [ + "details", + "document_type", + "publishing_app", + "schema_name", + "title" + ], + "additionalProperties": false, + "properties": { + "access_limited": { + "$ref": "#/definitions/access_limited" + }, + "analytics_identifier": { + "$ref": "#/definitions/analytics_identifier" + }, + "auth_bypass_ids": { + "description": "A list of ids that will allow access to this item for non-authenticated users", + "$ref": "#/definitions/guid_list" + }, + "base_path": { + "type": "null" + }, + "bulk_publishing": { + "type": "boolean" + }, + "change_note": { + "type": [ + "null", + "string" + ] + }, + "description": { + "$ref": "#/definitions/description_optional" + }, + "details": { + "$ref": "#/definitions/details" + }, + "document_type": { + "type": "string", + "enum": [ + "content_block_postal_address" + ] + }, + "first_published_at": { + "$ref": "#/definitions/first_published_at" + }, + "last_edited_at": { + "description": "Last time when the content received a major or minor update.", + "type": "string", + "format": "date-time" + }, + "links": { + "type": "object", + "additionalProperties": false, + "properties": { + "policy_areas": { + "description": "A largely deprecated tag currently only used to power email alerts.", + "$ref": "#/definitions/guid_list" + } + } + }, + "locale": { + "$ref": "#/definitions/locale" + }, + "need_ids": { + "type": "array", + "items": { + "type": "string" + } + }, + "phase": { + "description": "The service design phase of this content item - https://www.gov.uk/service-manual/phases", + "type": "string", + "enum": [ + "alpha", + "beta", + "live" + ] + }, + "previous_version": { + "type": "string" + }, + "public_updated_at": { + "$ref": "#/definitions/public_updated_at" + }, + "publishing_app": { + "$ref": "#/definitions/publishing_app_name" + }, + "redirects": { + "type": "array", + "additionalItems": false, + "items": {} + }, + "rendering_app": { + "type": "null" + }, + "routes": { + "type": "array", + "additionalItems": false, + "items": {} + }, + "schema_name": { + "type": "string", + "enum": [ + "content_block_postal_address" + ] + }, + "title": { + "$ref": "#/definitions/title" + }, + "update_type": { + "$ref": "#/definitions/update_type" + } + }, + "definitions": { + "description": { + "type": "string" + }, + "access_limited": { + "type": "object", + "additionalProperties": false, + "properties": { + "auth_bypass_ids": { + "description": "Deprecated: auth_bypass_ids should be sent as a separate field", + "$ref": "#/definitions/guid_list" + }, + "organisations": { + "description": "A list of organisation content ids permitted access to this item", + "$ref": "#/definitions/guid_list" + }, + "users": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "analytics_identifier": { + "description": "A short identifier we send to Google Analytics for multi-valued fields. This means we avoid the truncated values we would get if we sent the path or slug of eg organisations.", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "description_optional": { + "anyOf": [ + { + "$ref": "#/definitions/description" + }, + { + "type": "null" + } + ] + }, + "details": { + "type": "object", + "required": [ + "line_1", + "town_or_city", + "postcode" + ], + "additionalProperties": false, + "properties": { + "county": { + "type": "string" + }, + "line_1": { + "type": "string" + }, + "line_2": { + "type": "string" + }, + "postcode": { + "type": "string" + }, + "town_or_city": { + "type": "string" + } + } + }, + "first_published_at": { + "description": "The date the content was first published. Automatically determined by the publishing-api, unless overridden by the publishing application.", + "type": "string", + "format": "date-time" + }, + "guid": { + "type": "string", + "pattern": "^[a-f0-9]{8}-[a-f0-9]{4}-[1-5][a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$" + }, + "guid_list": { + "type": "array", + "items": { + "$ref": "#/definitions/guid" + }, + "uniqueItems": true + }, + "locale": { + "type": "string", + "enum": [ + "ar", + "az", + "be", + "bg", + "bn", + "cs", + "cy", + "da", + "de", + "dr", + "el", + "en", + "es", + "es-419", + "et", + "fa", + "fi", + "fr", + "gd", + "gu", + "he", + "hi", + "hr", + "hu", + "hy", + "id", + "is", + "it", + "ja", + "ka", + "kk", + "ko", + "lt", + "lv", + "ms", + "mt", + "ne", + "nl", + "no", + "pa", + "pa-pk", + "pl", + "ps", + "pt", + "ro", + "ru", + "si", + "sk", + "sl", + "so", + "sq", + "sr", + "sv", + "sw", + "ta", + "th", + "tk", + "tr", + "uk", + "ur", + "uz", + "vi", + "yi", + "zh", + "zh-hk", + "zh-tw" + ] + }, + "public_updated_at": { + "description": "When the content was last significantly changed (a major update). Shown to users. Automatically determined by the publishing-api, unless overridden by the publishing application.", + "type": "string", + "format": "date-time" + }, + "publishing_app_name": { + "description": "The application that published this item.", + "type": "string", + "enum": [ + "account-api", + "calculators", + "calendars", + "collections-publisher", + "contacts", + "content-publisher", + "content-tagger", + "email-alert-frontend", + "external-link-tracker", + "feedback", + "frontend", + "government-frontend", + "hmrc-manuals-api", + "local-links-manager", + "manuals-publisher", + "maslow", + "performanceplatform-big-screen-view", + "publisher", + "rummager", + "search-admin", + "search-api", + "service-manual-publisher", + "share-sale-publisher", + "short-url-manager", + "smartanswers", + "special-route-publisher", + "specialist-publisher", + "static", + "tariff", + "travel-advice-publisher", + "whitehall" + ] + }, + "title": { + "type": "string" + }, + "update_type": { + "enum": [ + "major", + "minor", + "republish" + ] + } + } +} diff --git a/content_schemas/dist/formats/generic/frontend/schema.json b/content_schemas/dist/formats/generic/frontend/schema.json index 7c2f99ef3..5b5c3c671 100644 --- a/content_schemas/dist/formats/generic/frontend/schema.json +++ b/content_schemas/dist/formats/generic/frontend/schema.json @@ -59,6 +59,7 @@ "closed_consultation", "cma_case", "content_block_email_address", + "content_block_postal_address", "complaints_procedure", "completed_transaction", "consultation", diff --git a/content_schemas/dist/formats/generic/notification/schema.json b/content_schemas/dist/formats/generic/notification/schema.json index 9d6f0bb6c..3a30fca54 100644 --- a/content_schemas/dist/formats/generic/notification/schema.json +++ b/content_schemas/dist/formats/generic/notification/schema.json @@ -83,6 +83,7 @@ "closed_consultation", "cma_case", "content_block_email_address", + "content_block_postal_address", "complaints_procedure", "completed_transaction", "consultation", diff --git a/content_schemas/dist/formats/generic/publisher_v2/schema.json b/content_schemas/dist/formats/generic/publisher_v2/schema.json index fc9dab655..c66057073 100644 --- a/content_schemas/dist/formats/generic/publisher_v2/schema.json +++ b/content_schemas/dist/formats/generic/publisher_v2/schema.json @@ -69,6 +69,7 @@ "closed_consultation", "cma_case", "content_block_email_address", + "content_block_postal_address", "complaints_procedure", "completed_transaction", "consultation", diff --git a/content_schemas/dist/formats/generic_with_external_related_links/frontend/schema.json b/content_schemas/dist/formats/generic_with_external_related_links/frontend/schema.json index eb7b68bc0..b77694f61 100644 --- a/content_schemas/dist/formats/generic_with_external_related_links/frontend/schema.json +++ b/content_schemas/dist/formats/generic_with_external_related_links/frontend/schema.json @@ -59,6 +59,7 @@ "closed_consultation", "cma_case", "content_block_email_address", + "content_block_postal_address", "complaints_procedure", "completed_transaction", "consultation", diff --git a/content_schemas/dist/formats/generic_with_external_related_links/notification/schema.json b/content_schemas/dist/formats/generic_with_external_related_links/notification/schema.json index f66968dab..79761e686 100644 --- a/content_schemas/dist/formats/generic_with_external_related_links/notification/schema.json +++ b/content_schemas/dist/formats/generic_with_external_related_links/notification/schema.json @@ -83,6 +83,7 @@ "closed_consultation", "cma_case", "content_block_email_address", + "content_block_postal_address", "complaints_procedure", "completed_transaction", "consultation", diff --git a/content_schemas/dist/formats/generic_with_external_related_links/publisher_v2/schema.json b/content_schemas/dist/formats/generic_with_external_related_links/publisher_v2/schema.json index d6f2f0f1d..d5dd40e80 100644 --- a/content_schemas/dist/formats/generic_with_external_related_links/publisher_v2/schema.json +++ b/content_schemas/dist/formats/generic_with_external_related_links/publisher_v2/schema.json @@ -69,6 +69,7 @@ "closed_consultation", "cma_case", "content_block_email_address", + "content_block_postal_address", "complaints_procedure", "completed_transaction", "consultation", diff --git a/content_schemas/examples/content_block_postal_address/publisher_v2/example.json b/content_schemas/examples/content_block_postal_address/publisher_v2/example.json new file mode 100644 index 000000000..fb0717c65 --- /dev/null +++ b/content_schemas/examples/content_block_postal_address/publisher_v2/example.json @@ -0,0 +1,15 @@ +{ + "locale": "en", + "schema_name": "content_block_postal_address", + "document_type": "content_block_postal_address", + "title": "Government Digital Service - Head office", + "description": "The head office for Government Digital Service", + "details": { + "line_1": "1 Westminster Road", + "line_2": "Flat A", + "town_or_city": "London", + "county": "Greater London", + "postcode": "W1A 2BC" + }, + "publishing_app": "whitehall" +} diff --git a/content_schemas/formats/content_block_postal_address.jsonnet b/content_schemas/formats/content_block_postal_address.jsonnet new file mode 100644 index 000000000..10d5fca95 --- /dev/null +++ b/content_schemas/formats/content_block_postal_address.jsonnet @@ -0,0 +1,30 @@ +(import "shared/default_format.jsonnet") + { + document_type: "content_block_postal_address", + base_path: "forbidden", + routes: "forbidden", + rendering_app: "forbidden", + definitions: { + details: { + type: "object", + additionalProperties: false, + required: ["line_1", "town_or_city", "postcode"], + properties: { + line_1: { + type: "string", + }, + line_2: { + type: "string", + }, + town_or_city: { + type: "string", + }, + county: { + type: "string", + }, + postcode: { + type: "string" + } + }, + }, + }, +}