From cc2986a12b8eac18d3218d9d9a62ae8b7d85046c Mon Sep 17 00:00:00 2001 From: Paul Hayes Date: Thu, 16 Feb 2017 15:35:23 +0000 Subject: [PATCH] Generate dist files with new definitions --- dist/formats/answer/frontend/schema.json | 86 ++++++++++++++--- dist/formats/answer/notification/schema.json | 86 ++++++++++++++--- dist/formats/answer/publisher/schema.json | 86 ++++++++++++++--- dist/formats/answer/publisher_v2/links.json | 86 ++++++++++++++--- dist/formats/answer/publisher_v2/schema.json | 86 ++++++++++++++--- dist/formats/case_study/frontend/schema.json | 86 ++++++++++++++--- .../case_study/notification/schema.json | 86 ++++++++++++++--- dist/formats/case_study/publisher/schema.json | 86 ++++++++++++++--- .../case_study/publisher_v2/links.json | 86 ++++++++++++++--- .../case_study/publisher_v2/schema.json | 86 ++++++++++++++--- dist/formats/coming_soon/frontend/schema.json | 86 ++++++++++++++--- .../coming_soon/notification/schema.json | 86 ++++++++++++++--- .../formats/coming_soon/publisher/schema.json | 86 ++++++++++++++--- .../coming_soon/publisher_v2/links.json | 86 ++++++++++++++--- .../coming_soon/publisher_v2/schema.json | 86 ++++++++++++++--- .../formats/consultation/frontend/schema.json | 86 ++++++++++++++--- .../consultation/notification/schema.json | 86 ++++++++++++++--- .../consultation/publisher/schema.json | 86 ++++++++++++++--- .../consultation/publisher_v2/links.json | 86 ++++++++++++++--- .../consultation/publisher_v2/schema.json | 86 ++++++++++++++--- dist/formats/contact/frontend/schema.json | 86 ++++++++++++++--- dist/formats/contact/notification/schema.json | 86 ++++++++++++++--- dist/formats/contact/publisher/schema.json | 86 ++++++++++++++--- dist/formats/contact/publisher_v2/links.json | 86 ++++++++++++++--- dist/formats/contact/publisher_v2/schema.json | 86 ++++++++++++++--- .../frontend/schema.json | 93 ++++++++++++++++--- .../notification/schema.json | 90 +++++++++++++++--- .../publisher/schema.json | 93 ++++++++++++++++--- .../publisher_v2/links.json | 89 +++++++++++++++--- .../publisher_v2/schema.json | 90 +++++++++++++++--- .../detailed_guide/frontend/schema.json | 86 ++++++++++++++--- .../detailed_guide/notification/schema.json | 86 ++++++++++++++--- .../detailed_guide/publisher/schema.json | 86 ++++++++++++++--- .../detailed_guide/publisher_v2/links.json | 86 ++++++++++++++--- .../detailed_guide/publisher_v2/schema.json | 86 ++++++++++++++--- .../document_collection/frontend/schema.json | 86 ++++++++++++++--- .../notification/schema.json | 86 ++++++++++++++--- .../document_collection/publisher/schema.json | 86 ++++++++++++++--- .../publisher_v2/links.json | 86 ++++++++++++++--- .../publisher_v2/schema.json | 86 ++++++++++++++--- .../email_alert_signup/frontend/schema.json | 86 ++++++++++++++--- .../notification/schema.json | 86 ++++++++++++++--- .../email_alert_signup/publisher/schema.json | 86 ++++++++++++++--- .../publisher_v2/links.json | 86 ++++++++++++++--- .../publisher_v2/schema.json | 86 ++++++++++++++--- .../fatality_notice/frontend/schema.json | 86 ++++++++++++++--- .../fatality_notice/notification/schema.json | 86 ++++++++++++++--- .../fatality_notice/publisher/schema.json | 86 ++++++++++++++--- .../fatality_notice/publisher_v2/links.json | 86 ++++++++++++++--- .../fatality_notice/publisher_v2/schema.json | 86 ++++++++++++++--- dist/formats/finder/frontend/schema.json | 86 ++++++++++++++--- dist/formats/finder/notification/schema.json | 86 ++++++++++++++--- dist/formats/finder/publisher/schema.json | 86 ++++++++++++++--- dist/formats/finder/publisher_v2/links.json | 86 ++++++++++++++--- dist/formats/finder/publisher_v2/schema.json | 86 ++++++++++++++--- .../finder_email_signup/frontend/schema.json | 86 ++++++++++++++--- .../notification/schema.json | 86 ++++++++++++++--- .../finder_email_signup/publisher/schema.json | 86 ++++++++++++++--- .../publisher_v2/links.json | 86 ++++++++++++++--- .../publisher_v2/schema.json | 86 ++++++++++++++--- dist/formats/generic/frontend/schema.json | 86 ++++++++++++++--- dist/formats/generic/notification/schema.json | 86 ++++++++++++++--- dist/formats/generic/publisher/schema.json | 86 ++++++++++++++--- dist/formats/generic/publisher_v2/links.json | 86 ++++++++++++++--- dist/formats/generic/publisher_v2/schema.json | 86 ++++++++++++++--- .../frontend/schema.json | 86 ++++++++++++++--- .../notification/schema.json | 86 ++++++++++++++--- .../publisher/schema.json | 86 ++++++++++++++--- .../publisher_v2/links.json | 86 ++++++++++++++--- .../publisher_v2/schema.json | 86 ++++++++++++++--- dist/formats/help_page/frontend/schema.json | 86 ++++++++++++++--- .../help_page/notification/schema.json | 86 ++++++++++++++--- dist/formats/help_page/publisher/schema.json | 86 ++++++++++++++--- .../formats/help_page/publisher_v2/links.json | 86 ++++++++++++++--- .../help_page/publisher_v2/schema.json | 86 ++++++++++++++--- dist/formats/hmrc_manual/frontend/schema.json | 86 ++++++++++++++--- .../hmrc_manual/notification/schema.json | 86 ++++++++++++++--- .../formats/hmrc_manual/publisher/schema.json | 86 ++++++++++++++--- .../hmrc_manual/publisher_v2/links.json | 86 ++++++++++++++--- .../hmrc_manual/publisher_v2/schema.json | 86 ++++++++++++++--- .../hmrc_manual_section/frontend/schema.json | 86 ++++++++++++++--- .../notification/schema.json | 86 ++++++++++++++--- .../hmrc_manual_section/publisher/schema.json | 86 ++++++++++++++--- .../publisher_v2/links.json | 86 ++++++++++++++--- .../publisher_v2/schema.json | 86 ++++++++++++++--- .../html_publication/frontend/schema.json | 86 ++++++++++++++--- .../html_publication/notification/schema.json | 86 ++++++++++++++--- .../html_publication/publisher/schema.json | 86 ++++++++++++++--- .../html_publication/publisher_v2/links.json | 86 ++++++++++++++--- .../html_publication/publisher_v2/schema.json | 86 ++++++++++++++--- .../local_transaction/frontend/schema.json | 86 ++++++++++++++--- .../notification/schema.json | 86 ++++++++++++++--- .../local_transaction/publisher/schema.json | 86 ++++++++++++++--- .../local_transaction/publisher_v2/links.json | 86 ++++++++++++++--- .../publisher_v2/schema.json | 86 ++++++++++++++--- .../frontend/schema.json | 86 ++++++++++++++--- .../notification/schema.json | 86 ++++++++++++++--- .../publisher/schema.json | 86 ++++++++++++++--- .../publisher_v2/links.json | 86 ++++++++++++++--- .../publisher_v2/schema.json | 86 ++++++++++++++--- dist/formats/manual/frontend/schema.json | 86 ++++++++++++++--- dist/formats/manual/notification/schema.json | 86 ++++++++++++++--- dist/formats/manual/publisher/schema.json | 86 ++++++++++++++--- dist/formats/manual/publisher_v2/links.json | 86 ++++++++++++++--- dist/formats/manual/publisher_v2/schema.json | 86 ++++++++++++++--- .../manual_section/frontend/schema.json | 86 ++++++++++++++--- .../manual_section/notification/schema.json | 86 ++++++++++++++--- .../manual_section/publisher/schema.json | 86 ++++++++++++++--- .../manual_section/publisher_v2/links.json | 86 ++++++++++++++--- .../manual_section/publisher_v2/schema.json | 86 ++++++++++++++--- dist/formats/need/frontend/schema.json | 86 ++++++++++++++--- dist/formats/need/notification/schema.json | 86 ++++++++++++++--- dist/formats/need/publisher/schema.json | 86 ++++++++++++++--- dist/formats/need/publisher_v2/links.json | 86 ++++++++++++++--- dist/formats/need/publisher_v2/schema.json | 86 ++++++++++++++--- .../formats/news_article/frontend/schema.json | 86 ++++++++++++++--- .../news_article/notification/schema.json | 86 ++++++++++++++--- .../news_article/publisher/schema.json | 86 ++++++++++++++--- .../news_article/publisher_v2/links.json | 86 ++++++++++++++--- .../news_article/publisher_v2/schema.json | 86 ++++++++++++++--- dist/formats/placeholder/frontend/schema.json | 86 ++++++++++++++--- .../placeholder/notification/schema.json | 86 ++++++++++++++--- .../formats/placeholder/publisher/schema.json | 86 ++++++++++++++--- .../placeholder/publisher_v2/links.json | 86 ++++++++++++++--- .../placeholder/publisher_v2/schema.json | 86 ++++++++++++++--- dist/formats/policy/frontend/schema.json | 86 ++++++++++++++--- dist/formats/policy/notification/schema.json | 86 ++++++++++++++--- dist/formats/policy/publisher/schema.json | 86 ++++++++++++++--- dist/formats/policy/publisher_v2/links.json | 86 ++++++++++++++--- dist/formats/policy/publisher_v2/schema.json | 86 ++++++++++++++--- dist/formats/publication/frontend/schema.json | 86 ++++++++++++++--- .../publication/notification/schema.json | 86 ++++++++++++++--- .../formats/publication/publisher/schema.json | 86 ++++++++++++++--- .../publication/publisher_v2/links.json | 86 ++++++++++++++--- .../publication/publisher_v2/schema.json | 86 ++++++++++++++--- .../service_manual_guide/frontend/schema.json | 86 ++++++++++++++--- .../notification/schema.json | 86 ++++++++++++++--- .../publisher/schema.json | 86 ++++++++++++++--- .../publisher_v2/links.json | 86 ++++++++++++++--- .../publisher_v2/schema.json | 86 ++++++++++++++--- .../frontend/schema.json | 86 ++++++++++++++--- .../notification/schema.json | 86 ++++++++++++++--- .../publisher/schema.json | 86 ++++++++++++++--- .../publisher_v2/links.json | 86 ++++++++++++++--- .../publisher_v2/schema.json | 86 ++++++++++++++--- .../frontend/schema.json | 86 ++++++++++++++--- .../notification/schema.json | 86 ++++++++++++++--- .../publisher/schema.json | 86 ++++++++++++++--- .../publisher_v2/links.json | 86 ++++++++++++++--- .../publisher_v2/schema.json | 86 ++++++++++++++--- .../frontend/schema.json | 86 ++++++++++++++--- .../notification/schema.json | 86 ++++++++++++++--- .../publisher/schema.json | 86 ++++++++++++++--- .../publisher_v2/links.json | 86 ++++++++++++++--- .../publisher_v2/schema.json | 86 ++++++++++++++--- .../service_manual_topic/frontend/schema.json | 86 ++++++++++++++--- .../notification/schema.json | 86 ++++++++++++++--- .../publisher/schema.json | 86 ++++++++++++++--- .../publisher_v2/links.json | 86 ++++++++++++++--- .../publisher_v2/schema.json | 86 ++++++++++++++--- .../specialist_document/frontend/schema.json | 86 ++++++++++++++--- .../notification/schema.json | 86 ++++++++++++++--- .../specialist_document/publisher/schema.json | 86 ++++++++++++++--- .../publisher_v2/links.json | 86 ++++++++++++++--- .../publisher_v2/schema.json | 86 ++++++++++++++--- dist/formats/speech/frontend/schema.json | 86 ++++++++++++++--- dist/formats/speech/notification/schema.json | 86 ++++++++++++++--- dist/formats/speech/publisher/schema.json | 86 ++++++++++++++--- dist/formats/speech/publisher_v2/links.json | 86 ++++++++++++++--- dist/formats/speech/publisher_v2/schema.json | 86 ++++++++++++++--- .../statistical_data_set/frontend/schema.json | 86 ++++++++++++++--- .../notification/schema.json | 86 ++++++++++++++--- .../publisher/schema.json | 86 ++++++++++++++--- .../publisher_v2/links.json | 86 ++++++++++++++--- .../publisher_v2/schema.json | 86 ++++++++++++++--- .../frontend/schema.json | 86 ++++++++++++++--- .../notification/schema.json | 86 ++++++++++++++--- .../publisher/schema.json | 86 ++++++++++++++--- .../publisher_v2/links.json | 86 ++++++++++++++--- .../publisher_v2/schema.json | 86 ++++++++++++++--- dist/formats/take_part/frontend/schema.json | 86 ++++++++++++++--- .../take_part/notification/schema.json | 86 ++++++++++++++--- dist/formats/take_part/publisher/schema.json | 86 ++++++++++++++--- .../formats/take_part/publisher_v2/links.json | 86 ++++++++++++++--- .../take_part/publisher_v2/schema.json | 86 ++++++++++++++--- dist/formats/taxon/frontend/schema.json | 86 ++++++++++++++--- dist/formats/taxon/notification/schema.json | 86 ++++++++++++++--- dist/formats/taxon/publisher/schema.json | 86 ++++++++++++++--- dist/formats/taxon/publisher_v2/links.json | 86 ++++++++++++++--- dist/formats/taxon/publisher_v2/schema.json | 86 ++++++++++++++--- dist/formats/topic/frontend/schema.json | 86 ++++++++++++++--- dist/formats/topic/notification/schema.json | 86 ++++++++++++++--- dist/formats/topic/publisher/schema.json | 86 ++++++++++++++--- dist/formats/topic/publisher_v2/links.json | 86 ++++++++++++++--- dist/formats/topic/publisher_v2/schema.json | 86 ++++++++++++++--- .../frontend/schema.json | 86 ++++++++++++++--- .../notification/schema.json | 86 ++++++++++++++--- .../publisher/schema.json | 86 ++++++++++++++--- .../publisher_v2/links.json | 86 ++++++++++++++--- .../publisher_v2/schema.json | 86 ++++++++++++++--- .../travel_advice/frontend/schema.json | 86 ++++++++++++++--- .../travel_advice/notification/schema.json | 86 ++++++++++++++--- .../travel_advice/publisher/schema.json | 86 ++++++++++++++--- .../travel_advice/publisher_v2/links.json | 86 ++++++++++++++--- .../travel_advice/publisher_v2/schema.json | 86 ++++++++++++++--- .../travel_advice_index/frontend/schema.json | 86 ++++++++++++++--- .../notification/schema.json | 86 ++++++++++++++--- .../travel_advice_index/publisher/schema.json | 86 ++++++++++++++--- .../publisher_v2/links.json | 86 ++++++++++++++--- .../publisher_v2/schema.json | 86 ++++++++++++++--- .../formats/unpublishing/frontend/schema.json | 86 ++++++++++++++--- .../unpublishing/notification/schema.json | 86 ++++++++++++++--- .../unpublishing/publisher/schema.json | 86 ++++++++++++++--- .../unpublishing/publisher_v2/links.json | 86 ++++++++++++++--- .../unpublishing/publisher_v2/schema.json | 86 ++++++++++++++--- .../working_group/frontend/schema.json | 86 ++++++++++++++--- .../working_group/notification/schema.json | 86 ++++++++++++++--- .../working_group/publisher/schema.json | 86 ++++++++++++++--- .../working_group/publisher_v2/links.json | 86 ++++++++++++++--- .../working_group/publisher_v2/schema.json | 86 ++++++++++++++--- .../frontend/schema.json | 86 ++++++++++++++--- .../notification/schema.json | 86 ++++++++++++++--- .../publisher/schema.json | 86 ++++++++++++++--- .../publisher_v2/links.json | 86 ++++++++++++++--- .../publisher_v2/schema.json | 86 ++++++++++++++--- 225 files changed, 16225 insertions(+), 3150 deletions(-) diff --git a/dist/formats/answer/frontend/schema.json b/dist/formats/answer/frontend/schema.json index 91c46bd50..1d5dde56e 100644 --- a/dist/formats/answer/frontend/schema.json +++ b/dist/formats/answer/frontend/schema.json @@ -259,23 +259,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -697,6 +730,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/answer/notification/schema.json b/dist/formats/answer/notification/schema.json index 4e6ecdb09..91097896a 100644 --- a/dist/formats/answer/notification/schema.json +++ b/dist/formats/answer/notification/schema.json @@ -261,23 +261,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -699,6 +732,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/answer/publisher/schema.json b/dist/formats/answer/publisher/schema.json index 4b3f8ebe6..89de6be58 100644 --- a/dist/formats/answer/publisher/schema.json +++ b/dist/formats/answer/publisher/schema.json @@ -212,23 +212,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -650,6 +683,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/answer/publisher_v2/links.json b/dist/formats/answer/publisher_v2/links.json index 21ab48322..a4b49e7b5 100644 --- a/dist/formats/answer/publisher_v2/links.json +++ b/dist/formats/answer/publisher_v2/links.json @@ -71,23 +71,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -509,6 +542,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/answer/publisher_v2/schema.json b/dist/formats/answer/publisher_v2/schema.json index 765a1dc1a..839761fc4 100644 --- a/dist/formats/answer/publisher_v2/schema.json +++ b/dist/formats/answer/publisher_v2/schema.json @@ -207,23 +207,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -645,6 +678,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/case_study/frontend/schema.json b/dist/formats/case_study/frontend/schema.json index 2dbceaac0..126ec5cb0 100644 --- a/dist/formats/case_study/frontend/schema.json +++ b/dist/formats/case_study/frontend/schema.json @@ -296,23 +296,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -734,6 +767,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/case_study/notification/schema.json b/dist/formats/case_study/notification/schema.json index 52b04c199..e29c936a6 100644 --- a/dist/formats/case_study/notification/schema.json +++ b/dist/formats/case_study/notification/schema.json @@ -289,23 +289,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -727,6 +760,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/case_study/publisher/schema.json b/dist/formats/case_study/publisher/schema.json index ca9e1ac93..51476140f 100644 --- a/dist/formats/case_study/publisher/schema.json +++ b/dist/formats/case_study/publisher/schema.json @@ -252,23 +252,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -690,6 +723,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/case_study/publisher_v2/links.json b/dist/formats/case_study/publisher_v2/links.json index d6b278599..62107928b 100644 --- a/dist/formats/case_study/publisher_v2/links.json +++ b/dist/formats/case_study/publisher_v2/links.json @@ -80,23 +80,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -518,6 +551,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/case_study/publisher_v2/schema.json b/dist/formats/case_study/publisher_v2/schema.json index f8cac48a8..b705a7152 100644 --- a/dist/formats/case_study/publisher_v2/schema.json +++ b/dist/formats/case_study/publisher_v2/schema.json @@ -238,23 +238,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -676,6 +709,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/coming_soon/frontend/schema.json b/dist/formats/coming_soon/frontend/schema.json index 8f938589a..73fb03c86 100644 --- a/dist/formats/coming_soon/frontend/schema.json +++ b/dist/formats/coming_soon/frontend/schema.json @@ -260,23 +260,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -698,6 +731,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/coming_soon/notification/schema.json b/dist/formats/coming_soon/notification/schema.json index d22cfbb54..1e2e62516 100644 --- a/dist/formats/coming_soon/notification/schema.json +++ b/dist/formats/coming_soon/notification/schema.json @@ -262,23 +262,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -700,6 +733,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/coming_soon/publisher/schema.json b/dist/formats/coming_soon/publisher/schema.json index 4bf1fa90d..09fc30bfb 100644 --- a/dist/formats/coming_soon/publisher/schema.json +++ b/dist/formats/coming_soon/publisher/schema.json @@ -213,23 +213,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -651,6 +684,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/coming_soon/publisher_v2/links.json b/dist/formats/coming_soon/publisher_v2/links.json index 21ab48322..a4b49e7b5 100644 --- a/dist/formats/coming_soon/publisher_v2/links.json +++ b/dist/formats/coming_soon/publisher_v2/links.json @@ -71,23 +71,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -509,6 +542,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/coming_soon/publisher_v2/schema.json b/dist/formats/coming_soon/publisher_v2/schema.json index 5a440cfff..8336ecac3 100644 --- a/dist/formats/coming_soon/publisher_v2/schema.json +++ b/dist/formats/coming_soon/publisher_v2/schema.json @@ -208,23 +208,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -646,6 +679,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/consultation/frontend/schema.json b/dist/formats/consultation/frontend/schema.json index 68270c170..cfc734d4d 100644 --- a/dist/formats/consultation/frontend/schema.json +++ b/dist/formats/consultation/frontend/schema.json @@ -337,23 +337,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -775,6 +808,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/consultation/notification/schema.json b/dist/formats/consultation/notification/schema.json index 4a1a01739..0d206b829 100644 --- a/dist/formats/consultation/notification/schema.json +++ b/dist/formats/consultation/notification/schema.json @@ -333,23 +333,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -771,6 +804,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/consultation/publisher/schema.json b/dist/formats/consultation/publisher/schema.json index ac89051ea..5866a77b3 100644 --- a/dist/formats/consultation/publisher/schema.json +++ b/dist/formats/consultation/publisher/schema.json @@ -296,23 +296,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -734,6 +767,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/consultation/publisher_v2/links.json b/dist/formats/consultation/publisher_v2/links.json index be16c7b23..cf0e917d3 100644 --- a/dist/formats/consultation/publisher_v2/links.json +++ b/dist/formats/consultation/publisher_v2/links.json @@ -80,23 +80,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -518,6 +551,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/consultation/publisher_v2/schema.json b/dist/formats/consultation/publisher_v2/schema.json index a3141a24b..1403b041f 100644 --- a/dist/formats/consultation/publisher_v2/schema.json +++ b/dist/formats/consultation/publisher_v2/schema.json @@ -282,23 +282,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -720,6 +753,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/contact/frontend/schema.json b/dist/formats/contact/frontend/schema.json index 033d6b354..9c78859ff 100644 --- a/dist/formats/contact/frontend/schema.json +++ b/dist/formats/contact/frontend/schema.json @@ -453,23 +453,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -891,6 +924,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/contact/notification/schema.json b/dist/formats/contact/notification/schema.json index 4b8e6c404..a2e07c072 100644 --- a/dist/formats/contact/notification/schema.json +++ b/dist/formats/contact/notification/schema.json @@ -452,23 +452,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -890,6 +923,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/contact/publisher/schema.json b/dist/formats/contact/publisher/schema.json index a51df09cc..ed8e5b28c 100644 --- a/dist/formats/contact/publisher/schema.json +++ b/dist/formats/contact/publisher/schema.json @@ -406,23 +406,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -844,6 +877,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/contact/publisher_v2/links.json b/dist/formats/contact/publisher_v2/links.json index 596fe6760..cdbfac5c5 100644 --- a/dist/formats/contact/publisher_v2/links.json +++ b/dist/formats/contact/publisher_v2/links.json @@ -74,23 +74,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -512,6 +545,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/contact/publisher_v2/schema.json b/dist/formats/contact/publisher_v2/schema.json index 8df823eba..d3de65f70 100644 --- a/dist/formats/contact/publisher_v2/schema.json +++ b/dist/formats/contact/publisher_v2/schema.json @@ -337,23 +337,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -775,6 +808,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/corporate_information_page/frontend/schema.json b/dist/formats/corporate_information_page/frontend/schema.json index 6641ca5aa..566c417fd 100644 --- a/dist/formats/corporate_information_page/frontend/schema.json +++ b/dist/formats/corporate_information_page/frontend/schema.json @@ -80,6 +80,9 @@ "type": "object", "additionalProperties": false, "properties": { + "corporate_information_pages": { + "$ref": "#/definitions/frontend_links" + }, "taxons": { "$ref": "#/definitions/frontend_links" }, @@ -235,6 +238,10 @@ "tags": { "$ref": "#/definitions/tags" }, + "corporate_information_groups": { + "description": "Groups of corporate information to display on about pages", + "$ref": "#/definitions/grouped_lists_of_links" + }, "change_history": { "$ref": "#/definitions/change_history" } @@ -264,23 +271,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" + } + } + }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" } } }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -702,6 +742,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/corporate_information_page/notification/schema.json b/dist/formats/corporate_information_page/notification/schema.json index 20be33d51..451a0e39a 100644 --- a/dist/formats/corporate_information_page/notification/schema.json +++ b/dist/formats/corporate_information_page/notification/schema.json @@ -237,6 +237,10 @@ "tags": { "$ref": "#/definitions/tags" }, + "corporate_information_groups": { + "description": "Groups of corporate information to display on about pages", + "$ref": "#/definitions/grouped_lists_of_links" + }, "change_history": { "$ref": "#/definitions/change_history" } @@ -266,23 +270,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" + } + } + }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" } } }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -704,6 +741,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/corporate_information_page/publisher/schema.json b/dist/formats/corporate_information_page/publisher/schema.json index bd25dea40..451f547b4 100644 --- a/dist/formats/corporate_information_page/publisher/schema.json +++ b/dist/formats/corporate_information_page/publisher/schema.json @@ -151,6 +151,10 @@ }, "tags": { "$ref": "#/definitions/tags" + }, + "corporate_information_groups": { + "description": "Groups of corporate information to display on about pages", + "$ref": "#/definitions/grouped_lists_of_links" } } }, @@ -158,6 +162,9 @@ "type": "object", "additionalProperties": false, "properties": { + "corporate_information_pages": { + "$ref": "#/definitions/guid_list" + }, "taxons": { "description": "Prototype-stage taxonomy label for this content item", "$ref": "#/definitions/guid_list" @@ -217,23 +224,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" + } + } + }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" } } }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -655,6 +695,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/corporate_information_page/publisher_v2/links.json b/dist/formats/corporate_information_page/publisher_v2/links.json index 21ab48322..4a9de0d47 100644 --- a/dist/formats/corporate_information_page/publisher_v2/links.json +++ b/dist/formats/corporate_information_page/publisher_v2/links.json @@ -10,6 +10,9 @@ "type": "object", "additionalProperties": false, "properties": { + "corporate_information_pages": { + "$ref": "#/definitions/guid_list" + }, "taxons": { "description": "Prototype-stage taxonomy label for this content item", "$ref": "#/definitions/guid_list" @@ -71,23 +74,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -509,6 +545,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/corporate_information_page/publisher_v2/schema.json b/dist/formats/corporate_information_page/publisher_v2/schema.json index b8fe34ee3..22c641f54 100644 --- a/dist/formats/corporate_information_page/publisher_v2/schema.json +++ b/dist/formats/corporate_information_page/publisher_v2/schema.json @@ -185,6 +185,10 @@ }, "tags": { "$ref": "#/definitions/tags" + }, + "corporate_information_groups": { + "description": "Groups of corporate information to display on about pages", + "$ref": "#/definitions/grouped_lists_of_links" } } }, @@ -212,23 +216,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" + } + } + }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" } } }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -650,6 +687,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/detailed_guide/frontend/schema.json b/dist/formats/detailed_guide/frontend/schema.json index 46fa924fe..d9cbcc5fc 100644 --- a/dist/formats/detailed_guide/frontend/schema.json +++ b/dist/formats/detailed_guide/frontend/schema.json @@ -305,23 +305,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -743,6 +776,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/detailed_guide/notification/schema.json b/dist/formats/detailed_guide/notification/schema.json index 9ec9f0b6d..c8304f40f 100644 --- a/dist/formats/detailed_guide/notification/schema.json +++ b/dist/formats/detailed_guide/notification/schema.json @@ -298,23 +298,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -736,6 +769,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/detailed_guide/publisher/schema.json b/dist/formats/detailed_guide/publisher/schema.json index 7dc15b315..8091131ba 100644 --- a/dist/formats/detailed_guide/publisher/schema.json +++ b/dist/formats/detailed_guide/publisher/schema.json @@ -261,23 +261,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -699,6 +732,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/detailed_guide/publisher_v2/links.json b/dist/formats/detailed_guide/publisher_v2/links.json index 2cb740e7a..dcec7f68d 100644 --- a/dist/formats/detailed_guide/publisher_v2/links.json +++ b/dist/formats/detailed_guide/publisher_v2/links.json @@ -80,23 +80,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -518,6 +551,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/detailed_guide/publisher_v2/schema.json b/dist/formats/detailed_guide/publisher_v2/schema.json index 16de3be26..d677acf32 100644 --- a/dist/formats/detailed_guide/publisher_v2/schema.json +++ b/dist/formats/detailed_guide/publisher_v2/schema.json @@ -247,23 +247,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -685,6 +718,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/document_collection/frontend/schema.json b/dist/formats/document_collection/frontend/schema.json index f43daabc6..22e074c97 100644 --- a/dist/formats/document_collection/frontend/schema.json +++ b/dist/formats/document_collection/frontend/schema.json @@ -308,23 +308,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -746,6 +779,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/document_collection/notification/schema.json b/dist/formats/document_collection/notification/schema.json index 5e1521956..8f2c8feeb 100644 --- a/dist/formats/document_collection/notification/schema.json +++ b/dist/formats/document_collection/notification/schema.json @@ -304,23 +304,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -742,6 +775,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/document_collection/publisher/schema.json b/dist/formats/document_collection/publisher/schema.json index 046b7c80e..dafe86a7d 100644 --- a/dist/formats/document_collection/publisher/schema.json +++ b/dist/formats/document_collection/publisher/schema.json @@ -265,23 +265,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -703,6 +736,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/document_collection/publisher_v2/links.json b/dist/formats/document_collection/publisher_v2/links.json index 96113d5b2..75b4a4534 100644 --- a/dist/formats/document_collection/publisher_v2/links.json +++ b/dist/formats/document_collection/publisher_v2/links.json @@ -78,23 +78,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -516,6 +549,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/document_collection/publisher_v2/schema.json b/dist/formats/document_collection/publisher_v2/schema.json index 56a247d21..3d849c17d 100644 --- a/dist/formats/document_collection/publisher_v2/schema.json +++ b/dist/formats/document_collection/publisher_v2/schema.json @@ -253,23 +253,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -691,6 +724,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/email_alert_signup/frontend/schema.json b/dist/formats/email_alert_signup/frontend/schema.json index a1e6674ce..e8f8d9e08 100644 --- a/dist/formats/email_alert_signup/frontend/schema.json +++ b/dist/formats/email_alert_signup/frontend/schema.json @@ -296,23 +296,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -734,6 +767,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/email_alert_signup/notification/schema.json b/dist/formats/email_alert_signup/notification/schema.json index a379dde23..d0cb04995 100644 --- a/dist/formats/email_alert_signup/notification/schema.json +++ b/dist/formats/email_alert_signup/notification/schema.json @@ -298,23 +298,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -736,6 +769,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/email_alert_signup/publisher/schema.json b/dist/formats/email_alert_signup/publisher/schema.json index 0d1f5cc38..5f735af13 100644 --- a/dist/formats/email_alert_signup/publisher/schema.json +++ b/dist/formats/email_alert_signup/publisher/schema.json @@ -249,23 +249,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -687,6 +720,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/email_alert_signup/publisher_v2/links.json b/dist/formats/email_alert_signup/publisher_v2/links.json index 21ab48322..a4b49e7b5 100644 --- a/dist/formats/email_alert_signup/publisher_v2/links.json +++ b/dist/formats/email_alert_signup/publisher_v2/links.json @@ -71,23 +71,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -509,6 +542,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/email_alert_signup/publisher_v2/schema.json b/dist/formats/email_alert_signup/publisher_v2/schema.json index d523b3780..21b4519ab 100644 --- a/dist/formats/email_alert_signup/publisher_v2/schema.json +++ b/dist/formats/email_alert_signup/publisher_v2/schema.json @@ -244,23 +244,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -682,6 +715,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/fatality_notice/frontend/schema.json b/dist/formats/fatality_notice/frontend/schema.json index a3f0699a1..5991401db 100644 --- a/dist/formats/fatality_notice/frontend/schema.json +++ b/dist/formats/fatality_notice/frontend/schema.json @@ -271,23 +271,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -709,6 +742,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/fatality_notice/notification/schema.json b/dist/formats/fatality_notice/notification/schema.json index 354a3558f..a3c9a93b1 100644 --- a/dist/formats/fatality_notice/notification/schema.json +++ b/dist/formats/fatality_notice/notification/schema.json @@ -267,23 +267,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -705,6 +738,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/fatality_notice/publisher/schema.json b/dist/formats/fatality_notice/publisher/schema.json index a097862d1..32251358e 100644 --- a/dist/formats/fatality_notice/publisher/schema.json +++ b/dist/formats/fatality_notice/publisher/schema.json @@ -229,23 +229,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -667,6 +700,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/fatality_notice/publisher_v2/links.json b/dist/formats/fatality_notice/publisher_v2/links.json index 9d99ed9c7..a965d46d8 100644 --- a/dist/formats/fatality_notice/publisher_v2/links.json +++ b/dist/formats/fatality_notice/publisher_v2/links.json @@ -79,23 +79,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -517,6 +550,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/fatality_notice/publisher_v2/schema.json b/dist/formats/fatality_notice/publisher_v2/schema.json index dc1308391..1dcc2d0c1 100644 --- a/dist/formats/fatality_notice/publisher_v2/schema.json +++ b/dist/formats/fatality_notice/publisher_v2/schema.json @@ -216,23 +216,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -654,6 +687,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/finder/frontend/schema.json b/dist/formats/finder/frontend/schema.json index 715be0a57..74c9c886d 100644 --- a/dist/formats/finder/frontend/schema.json +++ b/dist/formats/finder/frontend/schema.json @@ -303,23 +303,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -741,6 +774,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/finder/notification/schema.json b/dist/formats/finder/notification/schema.json index 3e0bd3d67..23b2dc170 100644 --- a/dist/formats/finder/notification/schema.json +++ b/dist/formats/finder/notification/schema.json @@ -299,23 +299,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -737,6 +770,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/finder/publisher/schema.json b/dist/formats/finder/publisher/schema.json index 4828c09fc..6e450ba8b 100644 --- a/dist/formats/finder/publisher/schema.json +++ b/dist/formats/finder/publisher/schema.json @@ -259,23 +259,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -697,6 +730,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/finder/publisher_v2/links.json b/dist/formats/finder/publisher_v2/links.json index 65474089b..e9d340ea8 100644 --- a/dist/formats/finder/publisher_v2/links.json +++ b/dist/formats/finder/publisher_v2/links.json @@ -80,23 +80,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -518,6 +551,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/finder/publisher_v2/schema.json b/dist/formats/finder/publisher_v2/schema.json index e06d12b87..e02b653f3 100644 --- a/dist/formats/finder/publisher_v2/schema.json +++ b/dist/formats/finder/publisher_v2/schema.json @@ -245,23 +245,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -683,6 +716,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/finder_email_signup/frontend/schema.json b/dist/formats/finder_email_signup/frontend/schema.json index 2a53d9a3d..70bbd00d2 100644 --- a/dist/formats/finder_email_signup/frontend/schema.json +++ b/dist/formats/finder_email_signup/frontend/schema.json @@ -339,23 +339,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -777,6 +810,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/finder_email_signup/notification/schema.json b/dist/formats/finder_email_signup/notification/schema.json index 8cafce02f..f641d9e8e 100644 --- a/dist/formats/finder_email_signup/notification/schema.json +++ b/dist/formats/finder_email_signup/notification/schema.json @@ -338,23 +338,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -776,6 +809,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/finder_email_signup/publisher/schema.json b/dist/formats/finder_email_signup/publisher/schema.json index b8771222a..7088c33d4 100644 --- a/dist/formats/finder_email_signup/publisher/schema.json +++ b/dist/formats/finder_email_signup/publisher/schema.json @@ -292,23 +292,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -730,6 +763,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/finder_email_signup/publisher_v2/links.json b/dist/formats/finder_email_signup/publisher_v2/links.json index 51b4902bb..658538d67 100644 --- a/dist/formats/finder_email_signup/publisher_v2/links.json +++ b/dist/formats/finder_email_signup/publisher_v2/links.json @@ -74,23 +74,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -512,6 +545,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/finder_email_signup/publisher_v2/schema.json b/dist/formats/finder_email_signup/publisher_v2/schema.json index ec78e5942..c2d536d99 100644 --- a/dist/formats/finder_email_signup/publisher_v2/schema.json +++ b/dist/formats/finder_email_signup/publisher_v2/schema.json @@ -284,23 +284,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -722,6 +755,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/generic/frontend/schema.json b/dist/formats/generic/frontend/schema.json index c4d6a8c7e..1dc33ca5c 100644 --- a/dist/formats/generic/frontend/schema.json +++ b/dist/formats/generic/frontend/schema.json @@ -250,23 +250,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -688,6 +721,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/generic/notification/schema.json b/dist/formats/generic/notification/schema.json index ab14a33bc..0eca4e459 100644 --- a/dist/formats/generic/notification/schema.json +++ b/dist/formats/generic/notification/schema.json @@ -252,23 +252,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -690,6 +723,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/generic/publisher/schema.json b/dist/formats/generic/publisher/schema.json index 336b8023c..b6f204bae 100644 --- a/dist/formats/generic/publisher/schema.json +++ b/dist/formats/generic/publisher/schema.json @@ -203,23 +203,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -641,6 +674,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/generic/publisher_v2/links.json b/dist/formats/generic/publisher_v2/links.json index 21ab48322..a4b49e7b5 100644 --- a/dist/formats/generic/publisher_v2/links.json +++ b/dist/formats/generic/publisher_v2/links.json @@ -71,23 +71,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -509,6 +542,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/generic/publisher_v2/schema.json b/dist/formats/generic/publisher_v2/schema.json index e51d452db..a1b6ba28a 100644 --- a/dist/formats/generic/publisher_v2/schema.json +++ b/dist/formats/generic/publisher_v2/schema.json @@ -198,23 +198,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -636,6 +669,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/generic_with_external_related_links/frontend/schema.json b/dist/formats/generic_with_external_related_links/frontend/schema.json index 394e9799f..6e928039c 100644 --- a/dist/formats/generic_with_external_related_links/frontend/schema.json +++ b/dist/formats/generic_with_external_related_links/frontend/schema.json @@ -253,23 +253,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -691,6 +724,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/generic_with_external_related_links/notification/schema.json b/dist/formats/generic_with_external_related_links/notification/schema.json index 77a146e72..2f631abc0 100644 --- a/dist/formats/generic_with_external_related_links/notification/schema.json +++ b/dist/formats/generic_with_external_related_links/notification/schema.json @@ -255,23 +255,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -693,6 +726,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/generic_with_external_related_links/publisher/schema.json b/dist/formats/generic_with_external_related_links/publisher/schema.json index d04cd6bb6..6c4097917 100644 --- a/dist/formats/generic_with_external_related_links/publisher/schema.json +++ b/dist/formats/generic_with_external_related_links/publisher/schema.json @@ -206,23 +206,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -644,6 +677,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/generic_with_external_related_links/publisher_v2/links.json b/dist/formats/generic_with_external_related_links/publisher_v2/links.json index 21ab48322..a4b49e7b5 100644 --- a/dist/formats/generic_with_external_related_links/publisher_v2/links.json +++ b/dist/formats/generic_with_external_related_links/publisher_v2/links.json @@ -71,23 +71,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -509,6 +542,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/generic_with_external_related_links/publisher_v2/schema.json b/dist/formats/generic_with_external_related_links/publisher_v2/schema.json index ea64055b0..9ecf533f8 100644 --- a/dist/formats/generic_with_external_related_links/publisher_v2/schema.json +++ b/dist/formats/generic_with_external_related_links/publisher_v2/schema.json @@ -201,23 +201,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -639,6 +672,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/help_page/frontend/schema.json b/dist/formats/help_page/frontend/schema.json index d01d2cec9..c6cd68e6d 100644 --- a/dist/formats/help_page/frontend/schema.json +++ b/dist/formats/help_page/frontend/schema.json @@ -259,23 +259,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -697,6 +730,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/help_page/notification/schema.json b/dist/formats/help_page/notification/schema.json index 351631368..80a7fd4c1 100644 --- a/dist/formats/help_page/notification/schema.json +++ b/dist/formats/help_page/notification/schema.json @@ -261,23 +261,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -699,6 +732,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/help_page/publisher/schema.json b/dist/formats/help_page/publisher/schema.json index 1362e97ee..83ed6f506 100644 --- a/dist/formats/help_page/publisher/schema.json +++ b/dist/formats/help_page/publisher/schema.json @@ -212,23 +212,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -650,6 +683,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/help_page/publisher_v2/links.json b/dist/formats/help_page/publisher_v2/links.json index 21ab48322..a4b49e7b5 100644 --- a/dist/formats/help_page/publisher_v2/links.json +++ b/dist/formats/help_page/publisher_v2/links.json @@ -71,23 +71,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -509,6 +542,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/help_page/publisher_v2/schema.json b/dist/formats/help_page/publisher_v2/schema.json index c8d1a1fb2..3fe41a479 100644 --- a/dist/formats/help_page/publisher_v2/schema.json +++ b/dist/formats/help_page/publisher_v2/schema.json @@ -207,23 +207,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -645,6 +678,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/hmrc_manual/frontend/schema.json b/dist/formats/hmrc_manual/frontend/schema.json index 063b3d87d..e3cda7f56 100644 --- a/dist/formats/hmrc_manual/frontend/schema.json +++ b/dist/formats/hmrc_manual/frontend/schema.json @@ -268,23 +268,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -706,6 +739,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/hmrc_manual/notification/schema.json b/dist/formats/hmrc_manual/notification/schema.json index ef50f3301..209cd5c8d 100644 --- a/dist/formats/hmrc_manual/notification/schema.json +++ b/dist/formats/hmrc_manual/notification/schema.json @@ -270,23 +270,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -708,6 +741,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/hmrc_manual/publisher/schema.json b/dist/formats/hmrc_manual/publisher/schema.json index 9b64b883f..7be4b5894 100644 --- a/dist/formats/hmrc_manual/publisher/schema.json +++ b/dist/formats/hmrc_manual/publisher/schema.json @@ -221,23 +221,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -659,6 +692,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/hmrc_manual/publisher_v2/links.json b/dist/formats/hmrc_manual/publisher_v2/links.json index 21ab48322..a4b49e7b5 100644 --- a/dist/formats/hmrc_manual/publisher_v2/links.json +++ b/dist/formats/hmrc_manual/publisher_v2/links.json @@ -71,23 +71,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -509,6 +542,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/hmrc_manual/publisher_v2/schema.json b/dist/formats/hmrc_manual/publisher_v2/schema.json index 9f65a86b0..cbae083f0 100644 --- a/dist/formats/hmrc_manual/publisher_v2/schema.json +++ b/dist/formats/hmrc_manual/publisher_v2/schema.json @@ -216,23 +216,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -654,6 +687,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/hmrc_manual_section/frontend/schema.json b/dist/formats/hmrc_manual_section/frontend/schema.json index 9d4135e66..39b9655c3 100644 --- a/dist/formats/hmrc_manual_section/frontend/schema.json +++ b/dist/formats/hmrc_manual_section/frontend/schema.json @@ -272,23 +272,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -710,6 +743,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/hmrc_manual_section/notification/schema.json b/dist/formats/hmrc_manual_section/notification/schema.json index 82b1b1f39..4d711583f 100644 --- a/dist/formats/hmrc_manual_section/notification/schema.json +++ b/dist/formats/hmrc_manual_section/notification/schema.json @@ -274,23 +274,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -712,6 +745,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/hmrc_manual_section/publisher/schema.json b/dist/formats/hmrc_manual_section/publisher/schema.json index 3ec18cf7a..d575dabde 100644 --- a/dist/formats/hmrc_manual_section/publisher/schema.json +++ b/dist/formats/hmrc_manual_section/publisher/schema.json @@ -225,23 +225,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -663,6 +696,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/hmrc_manual_section/publisher_v2/links.json b/dist/formats/hmrc_manual_section/publisher_v2/links.json index 21ab48322..a4b49e7b5 100644 --- a/dist/formats/hmrc_manual_section/publisher_v2/links.json +++ b/dist/formats/hmrc_manual_section/publisher_v2/links.json @@ -71,23 +71,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -509,6 +542,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/hmrc_manual_section/publisher_v2/schema.json b/dist/formats/hmrc_manual_section/publisher_v2/schema.json index d3973a318..64e29d706 100644 --- a/dist/formats/hmrc_manual_section/publisher_v2/schema.json +++ b/dist/formats/hmrc_manual_section/publisher_v2/schema.json @@ -220,23 +220,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -658,6 +691,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/html_publication/frontend/schema.json b/dist/formats/html_publication/frontend/schema.json index ff6f7d316..dfdb9ed25 100644 --- a/dist/formats/html_publication/frontend/schema.json +++ b/dist/formats/html_publication/frontend/schema.json @@ -269,23 +269,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -707,6 +740,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/html_publication/notification/schema.json b/dist/formats/html_publication/notification/schema.json index ca0f02fb1..7bfa3ae1f 100644 --- a/dist/formats/html_publication/notification/schema.json +++ b/dist/formats/html_publication/notification/schema.json @@ -271,23 +271,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -709,6 +742,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/html_publication/publisher/schema.json b/dist/formats/html_publication/publisher/schema.json index 071ac126f..5fed6627f 100644 --- a/dist/formats/html_publication/publisher/schema.json +++ b/dist/formats/html_publication/publisher/schema.json @@ -222,23 +222,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -660,6 +693,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/html_publication/publisher_v2/links.json b/dist/formats/html_publication/publisher_v2/links.json index 21ab48322..a4b49e7b5 100644 --- a/dist/formats/html_publication/publisher_v2/links.json +++ b/dist/formats/html_publication/publisher_v2/links.json @@ -71,23 +71,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -509,6 +542,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/html_publication/publisher_v2/schema.json b/dist/formats/html_publication/publisher_v2/schema.json index 6cda61adb..2d7a9c7f1 100644 --- a/dist/formats/html_publication/publisher_v2/schema.json +++ b/dist/formats/html_publication/publisher_v2/schema.json @@ -217,23 +217,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -655,6 +688,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/local_transaction/frontend/schema.json b/dist/formats/local_transaction/frontend/schema.json index 4205f7335..efef90864 100644 --- a/dist/formats/local_transaction/frontend/schema.json +++ b/dist/formats/local_transaction/frontend/schema.json @@ -288,23 +288,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -726,6 +759,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/local_transaction/notification/schema.json b/dist/formats/local_transaction/notification/schema.json index c56374252..38b844cf2 100644 --- a/dist/formats/local_transaction/notification/schema.json +++ b/dist/formats/local_transaction/notification/schema.json @@ -290,23 +290,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -728,6 +761,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/local_transaction/publisher/schema.json b/dist/formats/local_transaction/publisher/schema.json index ab8b14dae..b517b024d 100644 --- a/dist/formats/local_transaction/publisher/schema.json +++ b/dist/formats/local_transaction/publisher/schema.json @@ -241,23 +241,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -679,6 +712,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/local_transaction/publisher_v2/links.json b/dist/formats/local_transaction/publisher_v2/links.json index 21ab48322..a4b49e7b5 100644 --- a/dist/formats/local_transaction/publisher_v2/links.json +++ b/dist/formats/local_transaction/publisher_v2/links.json @@ -71,23 +71,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -509,6 +542,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/local_transaction/publisher_v2/schema.json b/dist/formats/local_transaction/publisher_v2/schema.json index 7854694ee..77192e42d 100644 --- a/dist/formats/local_transaction/publisher_v2/schema.json +++ b/dist/formats/local_transaction/publisher_v2/schema.json @@ -236,23 +236,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -674,6 +707,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/mainstream_browse_page/frontend/schema.json b/dist/formats/mainstream_browse_page/frontend/schema.json index a4d2edbee..b2ecfc55d 100644 --- a/dist/formats/mainstream_browse_page/frontend/schema.json +++ b/dist/formats/mainstream_browse_page/frontend/schema.json @@ -278,23 +278,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -716,6 +749,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/mainstream_browse_page/notification/schema.json b/dist/formats/mainstream_browse_page/notification/schema.json index e33ef0d11..b41f08c3a 100644 --- a/dist/formats/mainstream_browse_page/notification/schema.json +++ b/dist/formats/mainstream_browse_page/notification/schema.json @@ -268,23 +268,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -706,6 +739,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/mainstream_browse_page/publisher/schema.json b/dist/formats/mainstream_browse_page/publisher/schema.json index 9379dc181..8121e1463 100644 --- a/dist/formats/mainstream_browse_page/publisher/schema.json +++ b/dist/formats/mainstream_browse_page/publisher/schema.json @@ -235,23 +235,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -673,6 +706,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/mainstream_browse_page/publisher_v2/links.json b/dist/formats/mainstream_browse_page/publisher_v2/links.json index eabde2057..50a304480 100644 --- a/dist/formats/mainstream_browse_page/publisher_v2/links.json +++ b/dist/formats/mainstream_browse_page/publisher_v2/links.json @@ -87,23 +87,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -525,6 +558,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/mainstream_browse_page/publisher_v2/schema.json b/dist/formats/mainstream_browse_page/publisher_v2/schema.json index 1b6981aa6..bd0554a7d 100644 --- a/dist/formats/mainstream_browse_page/publisher_v2/schema.json +++ b/dist/formats/mainstream_browse_page/publisher_v2/schema.json @@ -214,23 +214,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -652,6 +685,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/manual/frontend/schema.json b/dist/formats/manual/frontend/schema.json index e384c0555..254e258bb 100644 --- a/dist/formats/manual/frontend/schema.json +++ b/dist/formats/manual/frontend/schema.json @@ -268,23 +268,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -706,6 +739,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/manual/notification/schema.json b/dist/formats/manual/notification/schema.json index 28e7d5100..842d0a066 100644 --- a/dist/formats/manual/notification/schema.json +++ b/dist/formats/manual/notification/schema.json @@ -267,23 +267,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -705,6 +738,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/manual/publisher/schema.json b/dist/formats/manual/publisher/schema.json index 163f73205..a1d53ac50 100644 --- a/dist/formats/manual/publisher/schema.json +++ b/dist/formats/manual/publisher/schema.json @@ -224,23 +224,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -662,6 +695,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/manual/publisher_v2/links.json b/dist/formats/manual/publisher_v2/links.json index d7ac017cb..2c61a70cb 100644 --- a/dist/formats/manual/publisher_v2/links.json +++ b/dist/formats/manual/publisher_v2/links.json @@ -77,23 +77,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -515,6 +548,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/manual/publisher_v2/schema.json b/dist/formats/manual/publisher_v2/schema.json index 3eb2b99f9..1575788c0 100644 --- a/dist/formats/manual/publisher_v2/schema.json +++ b/dist/formats/manual/publisher_v2/schema.json @@ -213,23 +213,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -651,6 +684,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/manual_section/frontend/schema.json b/dist/formats/manual_section/frontend/schema.json index 9067270e9..8399054c7 100644 --- a/dist/formats/manual_section/frontend/schema.json +++ b/dist/formats/manual_section/frontend/schema.json @@ -270,23 +270,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -708,6 +741,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/manual_section/notification/schema.json b/dist/formats/manual_section/notification/schema.json index ee62bc0bc..11244c98a 100644 --- a/dist/formats/manual_section/notification/schema.json +++ b/dist/formats/manual_section/notification/schema.json @@ -269,23 +269,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -707,6 +740,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/manual_section/publisher/schema.json b/dist/formats/manual_section/publisher/schema.json index d8fc935e9..8e704fdb8 100644 --- a/dist/formats/manual_section/publisher/schema.json +++ b/dist/formats/manual_section/publisher/schema.json @@ -226,23 +226,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -664,6 +697,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/manual_section/publisher_v2/links.json b/dist/formats/manual_section/publisher_v2/links.json index d0dc0ec79..0c8d64120 100644 --- a/dist/formats/manual_section/publisher_v2/links.json +++ b/dist/formats/manual_section/publisher_v2/links.json @@ -77,23 +77,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -515,6 +548,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/manual_section/publisher_v2/schema.json b/dist/formats/manual_section/publisher_v2/schema.json index d77f7d905..cf152e9ca 100644 --- a/dist/formats/manual_section/publisher_v2/schema.json +++ b/dist/formats/manual_section/publisher_v2/schema.json @@ -215,23 +215,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -653,6 +686,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/need/frontend/schema.json b/dist/formats/need/frontend/schema.json index e011987f5..89afdf288 100644 --- a/dist/formats/need/frontend/schema.json +++ b/dist/formats/need/frontend/schema.json @@ -317,23 +317,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -755,6 +788,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/need/notification/schema.json b/dist/formats/need/notification/schema.json index f77b2e3f2..929cc9e30 100644 --- a/dist/formats/need/notification/schema.json +++ b/dist/formats/need/notification/schema.json @@ -319,23 +319,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -757,6 +790,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/need/publisher/schema.json b/dist/formats/need/publisher/schema.json index 3a8e652a2..514714d09 100644 --- a/dist/formats/need/publisher/schema.json +++ b/dist/formats/need/publisher/schema.json @@ -270,23 +270,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -708,6 +741,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/need/publisher_v2/links.json b/dist/formats/need/publisher_v2/links.json index 21ab48322..a4b49e7b5 100644 --- a/dist/formats/need/publisher_v2/links.json +++ b/dist/formats/need/publisher_v2/links.json @@ -71,23 +71,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -509,6 +542,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/need/publisher_v2/schema.json b/dist/formats/need/publisher_v2/schema.json index 05f8dbf3e..03d90bcfd 100644 --- a/dist/formats/need/publisher_v2/schema.json +++ b/dist/formats/need/publisher_v2/schema.json @@ -265,23 +265,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -703,6 +736,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/news_article/frontend/schema.json b/dist/formats/news_article/frontend/schema.json index 96b5789ed..ac7fc30f4 100644 --- a/dist/formats/news_article/frontend/schema.json +++ b/dist/formats/news_article/frontend/schema.json @@ -286,23 +286,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -724,6 +757,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/news_article/notification/schema.json b/dist/formats/news_article/notification/schema.json index 7a1557dd9..14ce63032 100644 --- a/dist/formats/news_article/notification/schema.json +++ b/dist/formats/news_article/notification/schema.json @@ -279,23 +279,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -717,6 +750,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/news_article/publisher/schema.json b/dist/formats/news_article/publisher/schema.json index 7710d3d3c..47f31ba17 100644 --- a/dist/formats/news_article/publisher/schema.json +++ b/dist/formats/news_article/publisher/schema.json @@ -245,23 +245,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -683,6 +716,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/news_article/publisher_v2/links.json b/dist/formats/news_article/publisher_v2/links.json index 8bb9d9221..17f21c842 100644 --- a/dist/formats/news_article/publisher_v2/links.json +++ b/dist/formats/news_article/publisher_v2/links.json @@ -83,23 +83,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -521,6 +554,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/news_article/publisher_v2/schema.json b/dist/formats/news_article/publisher_v2/schema.json index 4cc171397..a0ef89f3c 100644 --- a/dist/formats/news_article/publisher_v2/schema.json +++ b/dist/formats/news_article/publisher_v2/schema.json @@ -228,23 +228,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -666,6 +699,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/placeholder/frontend/schema.json b/dist/formats/placeholder/frontend/schema.json index ff8dca167..7c2a7edce 100644 --- a/dist/formats/placeholder/frontend/schema.json +++ b/dist/formats/placeholder/frontend/schema.json @@ -311,23 +311,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -749,6 +782,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/placeholder/notification/schema.json b/dist/formats/placeholder/notification/schema.json index 26d802b3d..973c1ff0a 100644 --- a/dist/formats/placeholder/notification/schema.json +++ b/dist/formats/placeholder/notification/schema.json @@ -313,23 +313,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -751,6 +784,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/placeholder/publisher/schema.json b/dist/formats/placeholder/publisher/schema.json index 214cfdb93..f19a7db3b 100644 --- a/dist/formats/placeholder/publisher/schema.json +++ b/dist/formats/placeholder/publisher/schema.json @@ -264,23 +264,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -702,6 +735,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/placeholder/publisher_v2/links.json b/dist/formats/placeholder/publisher_v2/links.json index 21ab48322..a4b49e7b5 100644 --- a/dist/formats/placeholder/publisher_v2/links.json +++ b/dist/formats/placeholder/publisher_v2/links.json @@ -71,23 +71,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -509,6 +542,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/placeholder/publisher_v2/schema.json b/dist/formats/placeholder/publisher_v2/schema.json index 8b8dcd767..afc1d3a68 100644 --- a/dist/formats/placeholder/publisher_v2/schema.json +++ b/dist/formats/placeholder/publisher_v2/schema.json @@ -259,23 +259,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -697,6 +730,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/policy/frontend/schema.json b/dist/formats/policy/frontend/schema.json index 527a80be5..795487e5c 100644 --- a/dist/formats/policy/frontend/schema.json +++ b/dist/formats/policy/frontend/schema.json @@ -337,23 +337,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -775,6 +808,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/policy/notification/schema.json b/dist/formats/policy/notification/schema.json index bb7253bb6..4886aa1b0 100644 --- a/dist/formats/policy/notification/schema.json +++ b/dist/formats/policy/notification/schema.json @@ -324,23 +324,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -762,6 +795,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/policy/publisher/schema.json b/dist/formats/policy/publisher/schema.json index 24efb4cb1..373ec3153 100644 --- a/dist/formats/policy/publisher/schema.json +++ b/dist/formats/policy/publisher/schema.json @@ -294,23 +294,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -732,6 +765,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/policy/publisher_v2/links.json b/dist/formats/policy/publisher_v2/links.json index d575289ad..c434ec810 100644 --- a/dist/formats/policy/publisher_v2/links.json +++ b/dist/formats/policy/publisher_v2/links.json @@ -90,23 +90,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -528,6 +561,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/policy/publisher_v2/schema.json b/dist/formats/policy/publisher_v2/schema.json index 970d377e8..770cdecc7 100644 --- a/dist/formats/policy/publisher_v2/schema.json +++ b/dist/formats/policy/publisher_v2/schema.json @@ -270,23 +270,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -708,6 +741,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/publication/frontend/schema.json b/dist/formats/publication/frontend/schema.json index f904b68b2..92175b0db 100644 --- a/dist/formats/publication/frontend/schema.json +++ b/dist/formats/publication/frontend/schema.json @@ -296,23 +296,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -734,6 +767,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/publication/notification/schema.json b/dist/formats/publication/notification/schema.json index 89f05a5cb..c250e71b4 100644 --- a/dist/formats/publication/notification/schema.json +++ b/dist/formats/publication/notification/schema.json @@ -283,23 +283,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -721,6 +754,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/publication/publisher/schema.json b/dist/formats/publication/publisher/schema.json index 48e072a5f..bc3629612 100644 --- a/dist/formats/publication/publisher/schema.json +++ b/dist/formats/publication/publisher/schema.json @@ -252,23 +252,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -690,6 +723,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/publication/publisher_v2/links.json b/dist/formats/publication/publisher_v2/links.json index 073a6b0e1..db48841d7 100644 --- a/dist/formats/publication/publisher_v2/links.json +++ b/dist/formats/publication/publisher_v2/links.json @@ -86,23 +86,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -524,6 +557,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/publication/publisher_v2/schema.json b/dist/formats/publication/publisher_v2/schema.json index 23e39d3c2..e835514d2 100644 --- a/dist/formats/publication/publisher_v2/schema.json +++ b/dist/formats/publication/publisher_v2/schema.json @@ -232,23 +232,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -670,6 +703,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/service_manual_guide/frontend/schema.json b/dist/formats/service_manual_guide/frontend/schema.json index 5b300ea39..6ed964c0d 100644 --- a/dist/formats/service_manual_guide/frontend/schema.json +++ b/dist/formats/service_manual_guide/frontend/schema.json @@ -290,23 +290,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -728,6 +761,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/service_manual_guide/notification/schema.json b/dist/formats/service_manual_guide/notification/schema.json index b13195e6b..03bd0eaa0 100644 --- a/dist/formats/service_manual_guide/notification/schema.json +++ b/dist/formats/service_manual_guide/notification/schema.json @@ -286,23 +286,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -724,6 +757,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/service_manual_guide/publisher/schema.json b/dist/formats/service_manual_guide/publisher/schema.json index 515949fd9..2dc6f1f67 100644 --- a/dist/formats/service_manual_guide/publisher/schema.json +++ b/dist/formats/service_manual_guide/publisher/schema.json @@ -248,23 +248,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -686,6 +719,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/service_manual_guide/publisher_v2/links.json b/dist/formats/service_manual_guide/publisher_v2/links.json index a0e154d12..8a2a521b0 100644 --- a/dist/formats/service_manual_guide/publisher_v2/links.json +++ b/dist/formats/service_manual_guide/publisher_v2/links.json @@ -79,23 +79,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -517,6 +550,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/service_manual_guide/publisher_v2/schema.json b/dist/formats/service_manual_guide/publisher_v2/schema.json index b0a3ca962..821af835e 100644 --- a/dist/formats/service_manual_guide/publisher_v2/schema.json +++ b/dist/formats/service_manual_guide/publisher_v2/schema.json @@ -235,23 +235,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -673,6 +706,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/service_manual_homepage/frontend/schema.json b/dist/formats/service_manual_homepage/frontend/schema.json index a98cc0147..0fef78b65 100644 --- a/dist/formats/service_manual_homepage/frontend/schema.json +++ b/dist/formats/service_manual_homepage/frontend/schema.json @@ -249,23 +249,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -687,6 +720,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/service_manual_homepage/notification/schema.json b/dist/formats/service_manual_homepage/notification/schema.json index 74f9651a4..2dffff561 100644 --- a/dist/formats/service_manual_homepage/notification/schema.json +++ b/dist/formats/service_manual_homepage/notification/schema.json @@ -251,23 +251,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -689,6 +722,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/service_manual_homepage/publisher/schema.json b/dist/formats/service_manual_homepage/publisher/schema.json index 1b971c5c8..0ce32ec52 100644 --- a/dist/formats/service_manual_homepage/publisher/schema.json +++ b/dist/formats/service_manual_homepage/publisher/schema.json @@ -202,23 +202,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -640,6 +673,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/service_manual_homepage/publisher_v2/links.json b/dist/formats/service_manual_homepage/publisher_v2/links.json index 21ab48322..a4b49e7b5 100644 --- a/dist/formats/service_manual_homepage/publisher_v2/links.json +++ b/dist/formats/service_manual_homepage/publisher_v2/links.json @@ -71,23 +71,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -509,6 +542,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/service_manual_homepage/publisher_v2/schema.json b/dist/formats/service_manual_homepage/publisher_v2/schema.json index 069508f48..a72435af6 100644 --- a/dist/formats/service_manual_homepage/publisher_v2/schema.json +++ b/dist/formats/service_manual_homepage/publisher_v2/schema.json @@ -197,23 +197,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -635,6 +668,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/service_manual_service_standard/frontend/schema.json b/dist/formats/service_manual_service_standard/frontend/schema.json index f444305e4..bdff322bd 100644 --- a/dist/formats/service_manual_service_standard/frontend/schema.json +++ b/dist/formats/service_manual_service_standard/frontend/schema.json @@ -256,23 +256,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -694,6 +727,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/service_manual_service_standard/notification/schema.json b/dist/formats/service_manual_service_standard/notification/schema.json index 467128d81..e2be804b0 100644 --- a/dist/formats/service_manual_service_standard/notification/schema.json +++ b/dist/formats/service_manual_service_standard/notification/schema.json @@ -255,23 +255,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -693,6 +726,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/service_manual_service_standard/publisher/schema.json b/dist/formats/service_manual_service_standard/publisher/schema.json index 0e5f0d433..12bc0ea09 100644 --- a/dist/formats/service_manual_service_standard/publisher/schema.json +++ b/dist/formats/service_manual_service_standard/publisher/schema.json @@ -210,23 +210,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -648,6 +681,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/service_manual_service_standard/publisher_v2/links.json b/dist/formats/service_manual_service_standard/publisher_v2/links.json index b763b3041..a37d1ad49 100644 --- a/dist/formats/service_manual_service_standard/publisher_v2/links.json +++ b/dist/formats/service_manual_service_standard/publisher_v2/links.json @@ -75,23 +75,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -513,6 +546,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/service_manual_service_standard/publisher_v2/schema.json b/dist/formats/service_manual_service_standard/publisher_v2/schema.json index 9ce7df61a..35c2f5256 100644 --- a/dist/formats/service_manual_service_standard/publisher_v2/schema.json +++ b/dist/formats/service_manual_service_standard/publisher_v2/schema.json @@ -201,23 +201,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -639,6 +672,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/service_manual_service_toolkit/frontend/schema.json b/dist/formats/service_manual_service_toolkit/frontend/schema.json index 34a841258..db3a2b725 100644 --- a/dist/formats/service_manual_service_toolkit/frontend/schema.json +++ b/dist/formats/service_manual_service_toolkit/frontend/schema.json @@ -299,23 +299,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -737,6 +770,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/service_manual_service_toolkit/notification/schema.json b/dist/formats/service_manual_service_toolkit/notification/schema.json index 978909b40..40e2060c2 100644 --- a/dist/formats/service_manual_service_toolkit/notification/schema.json +++ b/dist/formats/service_manual_service_toolkit/notification/schema.json @@ -301,23 +301,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -739,6 +772,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/service_manual_service_toolkit/publisher/schema.json b/dist/formats/service_manual_service_toolkit/publisher/schema.json index db16e1dd9..80981a454 100644 --- a/dist/formats/service_manual_service_toolkit/publisher/schema.json +++ b/dist/formats/service_manual_service_toolkit/publisher/schema.json @@ -252,23 +252,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -690,6 +723,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/service_manual_service_toolkit/publisher_v2/links.json b/dist/formats/service_manual_service_toolkit/publisher_v2/links.json index 21ab48322..a4b49e7b5 100644 --- a/dist/formats/service_manual_service_toolkit/publisher_v2/links.json +++ b/dist/formats/service_manual_service_toolkit/publisher_v2/links.json @@ -71,23 +71,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -509,6 +542,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/service_manual_service_toolkit/publisher_v2/schema.json b/dist/formats/service_manual_service_toolkit/publisher_v2/schema.json index f72e050e9..87e4a7412 100644 --- a/dist/formats/service_manual_service_toolkit/publisher_v2/schema.json +++ b/dist/formats/service_manual_service_toolkit/publisher_v2/schema.json @@ -247,23 +247,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -685,6 +718,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/service_manual_topic/frontend/schema.json b/dist/formats/service_manual_topic/frontend/schema.json index 3cc1de977..7d753f77f 100644 --- a/dist/formats/service_manual_topic/frontend/schema.json +++ b/dist/formats/service_manual_topic/frontend/schema.json @@ -269,23 +269,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -707,6 +740,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/service_manual_topic/notification/schema.json b/dist/formats/service_manual_topic/notification/schema.json index 872534709..5fc4dbfb6 100644 --- a/dist/formats/service_manual_topic/notification/schema.json +++ b/dist/formats/service_manual_topic/notification/schema.json @@ -262,23 +262,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -700,6 +733,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/service_manual_topic/publisher/schema.json b/dist/formats/service_manual_topic/publisher/schema.json index acb85d360..7da7b1ca8 100644 --- a/dist/formats/service_manual_topic/publisher/schema.json +++ b/dist/formats/service_manual_topic/publisher/schema.json @@ -225,23 +225,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -663,6 +696,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/service_manual_topic/publisher_v2/links.json b/dist/formats/service_manual_topic/publisher_v2/links.json index 03891bb1a..1fb2cce3c 100644 --- a/dist/formats/service_manual_topic/publisher_v2/links.json +++ b/dist/formats/service_manual_topic/publisher_v2/links.json @@ -83,23 +83,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -521,6 +554,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/service_manual_topic/publisher_v2/schema.json b/dist/formats/service_manual_topic/publisher_v2/schema.json index 006835859..8a2c5ccf6 100644 --- a/dist/formats/service_manual_topic/publisher_v2/schema.json +++ b/dist/formats/service_manual_topic/publisher_v2/schema.json @@ -208,23 +208,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -646,6 +679,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/specialist_document/frontend/schema.json b/dist/formats/specialist_document/frontend/schema.json index 5cd8c059d..d6f427553 100644 --- a/dist/formats/specialist_document/frontend/schema.json +++ b/dist/formats/specialist_document/frontend/schema.json @@ -294,23 +294,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -732,6 +765,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/specialist_document/notification/schema.json b/dist/formats/specialist_document/notification/schema.json index 71912b946..b9cd2f037 100644 --- a/dist/formats/specialist_document/notification/schema.json +++ b/dist/formats/specialist_document/notification/schema.json @@ -296,23 +296,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -734,6 +767,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/specialist_document/publisher/schema.json b/dist/formats/specialist_document/publisher/schema.json index a9a436e2f..efe95406c 100644 --- a/dist/formats/specialist_document/publisher/schema.json +++ b/dist/formats/specialist_document/publisher/schema.json @@ -249,23 +249,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -687,6 +720,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/specialist_document/publisher_v2/links.json b/dist/formats/specialist_document/publisher_v2/links.json index 21ab48322..a4b49e7b5 100644 --- a/dist/formats/specialist_document/publisher_v2/links.json +++ b/dist/formats/specialist_document/publisher_v2/links.json @@ -71,23 +71,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -509,6 +542,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/specialist_document/publisher_v2/schema.json b/dist/formats/specialist_document/publisher_v2/schema.json index b85fcf6dd..7606a7e37 100644 --- a/dist/formats/specialist_document/publisher_v2/schema.json +++ b/dist/formats/specialist_document/publisher_v2/schema.json @@ -224,23 +224,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -662,6 +695,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/speech/frontend/schema.json b/dist/formats/speech/frontend/schema.json index 10db8b8ae..e22484f1c 100644 --- a/dist/formats/speech/frontend/schema.json +++ b/dist/formats/speech/frontend/schema.json @@ -304,23 +304,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -742,6 +775,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/speech/notification/schema.json b/dist/formats/speech/notification/schema.json index 1326c6be9..b9223e237 100644 --- a/dist/formats/speech/notification/schema.json +++ b/dist/formats/speech/notification/schema.json @@ -294,23 +294,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -732,6 +765,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/speech/publisher/schema.json b/dist/formats/speech/publisher/schema.json index 46fc681a0..bacbc983f 100644 --- a/dist/formats/speech/publisher/schema.json +++ b/dist/formats/speech/publisher/schema.json @@ -265,23 +265,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -703,6 +736,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/speech/publisher_v2/links.json b/dist/formats/speech/publisher_v2/links.json index 37d14b633..744ad2e3c 100644 --- a/dist/formats/speech/publisher_v2/links.json +++ b/dist/formats/speech/publisher_v2/links.json @@ -88,23 +88,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -526,6 +559,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/speech/publisher_v2/schema.json b/dist/formats/speech/publisher_v2/schema.json index 271e25570..8baa4f736 100644 --- a/dist/formats/speech/publisher_v2/schema.json +++ b/dist/formats/speech/publisher_v2/schema.json @@ -243,23 +243,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -681,6 +714,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/statistical_data_set/frontend/schema.json b/dist/formats/statistical_data_set/frontend/schema.json index d7cb3ffab..2813c1397 100644 --- a/dist/formats/statistical_data_set/frontend/schema.json +++ b/dist/formats/statistical_data_set/frontend/schema.json @@ -274,23 +274,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -712,6 +745,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/statistical_data_set/notification/schema.json b/dist/formats/statistical_data_set/notification/schema.json index d078ea93d..91b3d0e88 100644 --- a/dist/formats/statistical_data_set/notification/schema.json +++ b/dist/formats/statistical_data_set/notification/schema.json @@ -276,23 +276,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -714,6 +747,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/statistical_data_set/publisher/schema.json b/dist/formats/statistical_data_set/publisher/schema.json index e328384d7..159f25855 100644 --- a/dist/formats/statistical_data_set/publisher/schema.json +++ b/dist/formats/statistical_data_set/publisher/schema.json @@ -230,23 +230,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -668,6 +701,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/statistical_data_set/publisher_v2/links.json b/dist/formats/statistical_data_set/publisher_v2/links.json index 21ab48322..a4b49e7b5 100644 --- a/dist/formats/statistical_data_set/publisher_v2/links.json +++ b/dist/formats/statistical_data_set/publisher_v2/links.json @@ -71,23 +71,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -509,6 +542,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/statistical_data_set/publisher_v2/schema.json b/dist/formats/statistical_data_set/publisher_v2/schema.json index 00fac44cd..e1c67d601 100644 --- a/dist/formats/statistical_data_set/publisher_v2/schema.json +++ b/dist/formats/statistical_data_set/publisher_v2/schema.json @@ -225,23 +225,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -663,6 +696,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/statistics_announcement/frontend/schema.json b/dist/formats/statistics_announcement/frontend/schema.json index 595f30ef6..14464394a 100644 --- a/dist/formats/statistics_announcement/frontend/schema.json +++ b/dist/formats/statistics_announcement/frontend/schema.json @@ -286,23 +286,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -724,6 +757,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/statistics_announcement/notification/schema.json b/dist/formats/statistics_announcement/notification/schema.json index 481d4fb83..a7c1d9f5c 100644 --- a/dist/formats/statistics_announcement/notification/schema.json +++ b/dist/formats/statistics_announcement/notification/schema.json @@ -288,23 +288,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -726,6 +759,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/statistics_announcement/publisher/schema.json b/dist/formats/statistics_announcement/publisher/schema.json index deb1197b3..b60a04239 100644 --- a/dist/formats/statistics_announcement/publisher/schema.json +++ b/dist/formats/statistics_announcement/publisher/schema.json @@ -239,23 +239,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -677,6 +710,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/statistics_announcement/publisher_v2/links.json b/dist/formats/statistics_announcement/publisher_v2/links.json index 29e823ae3..9f09011a4 100644 --- a/dist/formats/statistics_announcement/publisher_v2/links.json +++ b/dist/formats/statistics_announcement/publisher_v2/links.json @@ -71,23 +71,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -509,6 +542,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/statistics_announcement/publisher_v2/schema.json b/dist/formats/statistics_announcement/publisher_v2/schema.json index e2505c626..cc25bd40f 100644 --- a/dist/formats/statistics_announcement/publisher_v2/schema.json +++ b/dist/formats/statistics_announcement/publisher_v2/schema.json @@ -234,23 +234,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -672,6 +705,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/take_part/frontend/schema.json b/dist/formats/take_part/frontend/schema.json index dca3b7741..c7bd9e170 100644 --- a/dist/formats/take_part/frontend/schema.json +++ b/dist/formats/take_part/frontend/schema.json @@ -260,23 +260,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -698,6 +731,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/take_part/notification/schema.json b/dist/formats/take_part/notification/schema.json index c097b8f9c..f253700d4 100644 --- a/dist/formats/take_part/notification/schema.json +++ b/dist/formats/take_part/notification/schema.json @@ -262,23 +262,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -700,6 +733,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/take_part/publisher/schema.json b/dist/formats/take_part/publisher/schema.json index c67c858ab..09d2b4193 100644 --- a/dist/formats/take_part/publisher/schema.json +++ b/dist/formats/take_part/publisher/schema.json @@ -213,23 +213,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -651,6 +684,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/take_part/publisher_v2/links.json b/dist/formats/take_part/publisher_v2/links.json index 21ab48322..a4b49e7b5 100644 --- a/dist/formats/take_part/publisher_v2/links.json +++ b/dist/formats/take_part/publisher_v2/links.json @@ -71,23 +71,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -509,6 +542,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/take_part/publisher_v2/schema.json b/dist/formats/take_part/publisher_v2/schema.json index 3c1a85ede..f7a112d21 100644 --- a/dist/formats/take_part/publisher_v2/schema.json +++ b/dist/formats/take_part/publisher_v2/schema.json @@ -208,23 +208,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -646,6 +679,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/taxon/frontend/schema.json b/dist/formats/taxon/frontend/schema.json index 94121d964..14e0d9b39 100644 --- a/dist/formats/taxon/frontend/schema.json +++ b/dist/formats/taxon/frontend/schema.json @@ -260,23 +260,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -698,6 +731,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/taxon/notification/schema.json b/dist/formats/taxon/notification/schema.json index 07b04a5e5..285a1bbd8 100644 --- a/dist/formats/taxon/notification/schema.json +++ b/dist/formats/taxon/notification/schema.json @@ -259,23 +259,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -697,6 +730,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/taxon/publisher/schema.json b/dist/formats/taxon/publisher/schema.json index 2a0e2107e..07eb78e78 100644 --- a/dist/formats/taxon/publisher/schema.json +++ b/dist/formats/taxon/publisher/schema.json @@ -214,23 +214,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -652,6 +685,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/taxon/publisher_v2/links.json b/dist/formats/taxon/publisher_v2/links.json index 5f2625547..a41e833e3 100644 --- a/dist/formats/taxon/publisher_v2/links.json +++ b/dist/formats/taxon/publisher_v2/links.json @@ -75,23 +75,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -513,6 +546,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/taxon/publisher_v2/schema.json b/dist/formats/taxon/publisher_v2/schema.json index e4c52d852..4cb588072 100644 --- a/dist/formats/taxon/publisher_v2/schema.json +++ b/dist/formats/taxon/publisher_v2/schema.json @@ -205,23 +205,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -643,6 +676,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/topic/frontend/schema.json b/dist/formats/topic/frontend/schema.json index 8fd280879..896a99a49 100644 --- a/dist/formats/topic/frontend/schema.json +++ b/dist/formats/topic/frontend/schema.json @@ -259,23 +259,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -697,6 +730,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/topic/notification/schema.json b/dist/formats/topic/notification/schema.json index 5b399c10a..a6bc98da9 100644 --- a/dist/formats/topic/notification/schema.json +++ b/dist/formats/topic/notification/schema.json @@ -258,23 +258,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -696,6 +729,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/topic/publisher/schema.json b/dist/formats/topic/publisher/schema.json index 88256a0d8..d822a6e45 100644 --- a/dist/formats/topic/publisher/schema.json +++ b/dist/formats/topic/publisher/schema.json @@ -217,23 +217,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -655,6 +688,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/topic/publisher_v2/links.json b/dist/formats/topic/publisher_v2/links.json index 5236aab12..3c8737e3d 100644 --- a/dist/formats/topic/publisher_v2/links.json +++ b/dist/formats/topic/publisher_v2/links.json @@ -79,23 +79,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -517,6 +550,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/topic/publisher_v2/schema.json b/dist/formats/topic/publisher_v2/schema.json index c4a194f41..3b60102fc 100644 --- a/dist/formats/topic/publisher_v2/schema.json +++ b/dist/formats/topic/publisher_v2/schema.json @@ -204,23 +204,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -642,6 +675,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/topical_event_about_page/frontend/schema.json b/dist/formats/topical_event_about_page/frontend/schema.json index 74ac3061c..4b5bfec5a 100644 --- a/dist/formats/topical_event_about_page/frontend/schema.json +++ b/dist/formats/topical_event_about_page/frontend/schema.json @@ -260,23 +260,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -698,6 +731,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/topical_event_about_page/notification/schema.json b/dist/formats/topical_event_about_page/notification/schema.json index d317b58d1..bde70d227 100644 --- a/dist/formats/topical_event_about_page/notification/schema.json +++ b/dist/formats/topical_event_about_page/notification/schema.json @@ -262,23 +262,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -700,6 +733,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/topical_event_about_page/publisher/schema.json b/dist/formats/topical_event_about_page/publisher/schema.json index 84a428c2e..aab0752ed 100644 --- a/dist/formats/topical_event_about_page/publisher/schema.json +++ b/dist/formats/topical_event_about_page/publisher/schema.json @@ -213,23 +213,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -651,6 +684,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/topical_event_about_page/publisher_v2/links.json b/dist/formats/topical_event_about_page/publisher_v2/links.json index 21ab48322..a4b49e7b5 100644 --- a/dist/formats/topical_event_about_page/publisher_v2/links.json +++ b/dist/formats/topical_event_about_page/publisher_v2/links.json @@ -71,23 +71,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -509,6 +542,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/topical_event_about_page/publisher_v2/schema.json b/dist/formats/topical_event_about_page/publisher_v2/schema.json index 8ee490566..18086ac96 100644 --- a/dist/formats/topical_event_about_page/publisher_v2/schema.json +++ b/dist/formats/topical_event_about_page/publisher_v2/schema.json @@ -208,23 +208,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -646,6 +679,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/travel_advice/frontend/schema.json b/dist/formats/travel_advice/frontend/schema.json index 3711d982c..adcfcd2c5 100644 --- a/dist/formats/travel_advice/frontend/schema.json +++ b/dist/formats/travel_advice/frontend/schema.json @@ -337,23 +337,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -775,6 +808,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/travel_advice/notification/schema.json b/dist/formats/travel_advice/notification/schema.json index 1f83982d8..30c463985 100644 --- a/dist/formats/travel_advice/notification/schema.json +++ b/dist/formats/travel_advice/notification/schema.json @@ -336,23 +336,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -774,6 +807,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/travel_advice/publisher/schema.json b/dist/formats/travel_advice/publisher/schema.json index 519e20ca7..b87b2a403 100644 --- a/dist/formats/travel_advice/publisher/schema.json +++ b/dist/formats/travel_advice/publisher/schema.json @@ -290,23 +290,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -728,6 +761,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/travel_advice/publisher_v2/links.json b/dist/formats/travel_advice/publisher_v2/links.json index 596fe6760..cdbfac5c5 100644 --- a/dist/formats/travel_advice/publisher_v2/links.json +++ b/dist/formats/travel_advice/publisher_v2/links.json @@ -74,23 +74,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -512,6 +545,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/travel_advice/publisher_v2/schema.json b/dist/formats/travel_advice/publisher_v2/schema.json index 1688d91cc..52e5086af 100644 --- a/dist/formats/travel_advice/publisher_v2/schema.json +++ b/dist/formats/travel_advice/publisher_v2/schema.json @@ -282,23 +282,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -720,6 +753,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/travel_advice_index/frontend/schema.json b/dist/formats/travel_advice_index/frontend/schema.json index 0c0a4bac6..97454d4fd 100644 --- a/dist/formats/travel_advice_index/frontend/schema.json +++ b/dist/formats/travel_advice_index/frontend/schema.json @@ -305,23 +305,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -743,6 +776,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/travel_advice_index/notification/schema.json b/dist/formats/travel_advice_index/notification/schema.json index 2b337badd..76f0f916c 100644 --- a/dist/formats/travel_advice_index/notification/schema.json +++ b/dist/formats/travel_advice_index/notification/schema.json @@ -304,23 +304,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -742,6 +775,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/travel_advice_index/publisher/schema.json b/dist/formats/travel_advice_index/publisher/schema.json index 550d5d3a8..72ca5e03f 100644 --- a/dist/formats/travel_advice_index/publisher/schema.json +++ b/dist/formats/travel_advice_index/publisher/schema.json @@ -258,23 +258,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -696,6 +729,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/travel_advice_index/publisher_v2/links.json b/dist/formats/travel_advice_index/publisher_v2/links.json index 596fe6760..cdbfac5c5 100644 --- a/dist/formats/travel_advice_index/publisher_v2/links.json +++ b/dist/formats/travel_advice_index/publisher_v2/links.json @@ -74,23 +74,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -512,6 +545,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/travel_advice_index/publisher_v2/schema.json b/dist/formats/travel_advice_index/publisher_v2/schema.json index 92da5cf71..bfbdff008 100644 --- a/dist/formats/travel_advice_index/publisher_v2/schema.json +++ b/dist/formats/travel_advice_index/publisher_v2/schema.json @@ -250,23 +250,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -688,6 +721,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/unpublishing/frontend/schema.json b/dist/formats/unpublishing/frontend/schema.json index 0038efacc..88fd61c5f 100644 --- a/dist/formats/unpublishing/frontend/schema.json +++ b/dist/formats/unpublishing/frontend/schema.json @@ -273,23 +273,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -711,6 +744,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/unpublishing/notification/schema.json b/dist/formats/unpublishing/notification/schema.json index f129b42ed..84b4ae53e 100644 --- a/dist/formats/unpublishing/notification/schema.json +++ b/dist/formats/unpublishing/notification/schema.json @@ -275,23 +275,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -713,6 +746,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/unpublishing/publisher/schema.json b/dist/formats/unpublishing/publisher/schema.json index ea9c24314..062cca3ae 100644 --- a/dist/formats/unpublishing/publisher/schema.json +++ b/dist/formats/unpublishing/publisher/schema.json @@ -226,23 +226,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -664,6 +697,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/unpublishing/publisher_v2/links.json b/dist/formats/unpublishing/publisher_v2/links.json index 21ab48322..a4b49e7b5 100644 --- a/dist/formats/unpublishing/publisher_v2/links.json +++ b/dist/formats/unpublishing/publisher_v2/links.json @@ -71,23 +71,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -509,6 +542,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/unpublishing/publisher_v2/schema.json b/dist/formats/unpublishing/publisher_v2/schema.json index b7bcffd03..4ed0e105d 100644 --- a/dist/formats/unpublishing/publisher_v2/schema.json +++ b/dist/formats/unpublishing/publisher_v2/schema.json @@ -221,23 +221,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -659,6 +692,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/working_group/frontend/schema.json b/dist/formats/working_group/frontend/schema.json index 73e59a5ea..d760101b5 100644 --- a/dist/formats/working_group/frontend/schema.json +++ b/dist/formats/working_group/frontend/schema.json @@ -256,23 +256,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -694,6 +727,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/working_group/notification/schema.json b/dist/formats/working_group/notification/schema.json index 287c57921..20d9bb1f3 100644 --- a/dist/formats/working_group/notification/schema.json +++ b/dist/formats/working_group/notification/schema.json @@ -258,23 +258,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -696,6 +729,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/working_group/publisher/schema.json b/dist/formats/working_group/publisher/schema.json index a9f1b8761..b55b113a7 100644 --- a/dist/formats/working_group/publisher/schema.json +++ b/dist/formats/working_group/publisher/schema.json @@ -209,23 +209,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -647,6 +680,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/working_group/publisher_v2/links.json b/dist/formats/working_group/publisher_v2/links.json index 21ab48322..a4b49e7b5 100644 --- a/dist/formats/working_group/publisher_v2/links.json +++ b/dist/formats/working_group/publisher_v2/links.json @@ -71,23 +71,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -509,6 +542,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/working_group/publisher_v2/schema.json b/dist/formats/working_group/publisher_v2/schema.json index bad075b95..0c1d90afc 100644 --- a/dist/formats/working_group/publisher_v2/schema.json +++ b/dist/formats/working_group/publisher_v2/schema.json @@ -204,23 +204,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -642,6 +675,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/world_location_news_article/frontend/schema.json b/dist/formats/world_location_news_article/frontend/schema.json index b6568903d..988b41fb5 100644 --- a/dist/formats/world_location_news_article/frontend/schema.json +++ b/dist/formats/world_location_news_article/frontend/schema.json @@ -283,23 +283,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -721,6 +754,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/world_location_news_article/notification/schema.json b/dist/formats/world_location_news_article/notification/schema.json index d4e0bbd2d..cba710309 100644 --- a/dist/formats/world_location_news_article/notification/schema.json +++ b/dist/formats/world_location_news_article/notification/schema.json @@ -276,23 +276,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -714,6 +747,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/world_location_news_article/publisher/schema.json b/dist/formats/world_location_news_article/publisher/schema.json index a8cd752a7..4dc947ef3 100644 --- a/dist/formats/world_location_news_article/publisher/schema.json +++ b/dist/formats/world_location_news_article/publisher/schema.json @@ -239,23 +239,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -677,6 +710,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/world_location_news_article/publisher_v2/links.json b/dist/formats/world_location_news_article/publisher_v2/links.json index 24baebb64..20be8fe44 100644 --- a/dist/formats/world_location_news_article/publisher_v2/links.json +++ b/dist/formats/world_location_news_article/publisher_v2/links.json @@ -80,23 +80,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -518,6 +551,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array", diff --git a/dist/formats/world_location_news_article/publisher_v2/schema.json b/dist/formats/world_location_news_article/publisher_v2/schema.json index 4b4adc774..170941bef 100644 --- a/dist/formats/world_location_news_article/publisher_v2/schema.json +++ b/dist/formats/world_location_news_article/publisher_v2/schema.json @@ -225,23 +225,56 @@ "external_related_links": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "title", - "url" - ], - "properties": { - "title": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "$ref": "#/definitions/external_link" + } + }, + "external_link": { + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "url" + ], + "properties": { + "title": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" } } }, + "internal_link_without_guid": { + "description": "Links to pages on GOV.UK without a corresponding GUID. eg A filtered list of publications", + "type": "object", + "additionalProperties": false, + "required": [ + "title", + "path" + ], + "properties": { + "title": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/absolute_fullpath" + } + } + }, + "internal_or_external_link": { + "anyOf": [ + { + "$ref": "#/definitions/external_link" + }, + { + "$ref": "#/definitions/internal_link_without_guid" + }, + { + "$ref": "#/definitions/guid" + } + ] + }, "government": { "type": "object", "additionalProperties": false, @@ -663,6 +696,31 @@ "description": "The maximum length of time the content should be cached, in seconds", "type": "integer" }, + "grouped_lists_of_links": { + "description": "Lists of links with titles in named groups", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "contents" + ], + "properties": { + "name": { + "description": "Title of the group", + "type": "string" + }, + "contents": { + "description": "An ordered list of links, either internal with GUID or external with URL and title", + "type": "array", + "items": { + "$ref": "#/definitions/internal_or_external_link" + } + } + } + } + }, "topic_groups": { "description": "Lists of items with titles & paths in named groups, used for showing curated links on browse pages and topics", "type": "array",