From e6248de2110ce48952fb9aa0d8d56a5c6c12d7b6 Mon Sep 17 00:00:00 2001 From: Marjan Kalanaki <15894063+marjisound@users.noreply.github.com> Date: Mon, 29 Jun 2026 11:06:23 +0100 Subject: [PATCH 1/4] Update content-atom version to add football competition atom --- build.sbt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.sbt b/build.sbt index adac0ce..685f846 100644 --- a/build.sbt +++ b/build.sbt @@ -5,7 +5,7 @@ import sbtversionpolicy.withsbtrelease.ReleaseVersion // dependency versions val contentEntityVersion = "4.0.0" -val contentAtomVersion = "12.0.1" +val contentAtomVersion = "12.1.0-PREVIEW.add-new-atom-for-match-day.2026-06-29T0857.762a6566" val storyPackageVersion = "2.2.0" val thriftVersion = "0.23.0" val scroogeVersion = "22.1.0" // update plugins too if this version changes From 8cf99b421fecf32036cc459015e9a1e6d50723d9 Mon Sep 17 00:00:00 2001 From: Marjan Kalanaki <15894063+marjisound@users.noreply.github.com> Date: Mon, 29 Jun 2026 18:11:47 +0100 Subject: [PATCH 2/4] Add football competition atom to item response --- models/src/main/thrift/content/v1.thrift | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/models/src/main/thrift/content/v1.thrift b/models/src/main/thrift/content/v1.thrift index 7cde6ee..159d6c8 100644 --- a/models/src/main/thrift/content/v1.thrift +++ b/models/src/main/thrift/content/v1.thrift @@ -1830,6 +1830,8 @@ struct Atoms { 16: optional list audios 17: optional list emailsignups + + 18: optional list footballcompetitions } struct ContentStats { @@ -2276,6 +2278,8 @@ struct ItemResponse { 37: optional contentatom.Atom emailsignup 38: optional list deeplyRead + + 39: optional contentatom.Atom footballcompetition } struct TagsResponse { From e08151647175c8e54d345aae77c1a5c574dbcaec Mon Sep 17 00:00:00 2001 From: Marjan Kalanaki <15894063+marjisound@users.noreply.github.com> Date: Fri, 10 Jul 2026 15:32:10 +0100 Subject: [PATCH 3/4] Add json encoder and decoder for footballcompetition atom --- json/src/main/scala/com/gu/contentapi/json/CirceDecoders.scala | 1 + json/src/main/scala/com/gu/contentapi/json/CirceEncoders.scala | 1 + 2 files changed, 2 insertions(+) diff --git a/json/src/main/scala/com/gu/contentapi/json/CirceDecoders.scala b/json/src/main/scala/com/gu/contentapi/json/CirceDecoders.scala index ed472a9..bef357f 100644 --- a/json/src/main/scala/com/gu/contentapi/json/CirceDecoders.scala +++ b/json/src/main/scala/com/gu/contentapi/json/CirceDecoders.scala @@ -203,6 +203,7 @@ object CirceDecoders { implicit val audioAtomDecoder: Decoder[audio.AudioAtom] = deriveDecoder implicit val offPlatformDecoder: Decoder[audio.OffPlatform] = deriveDecoder implicit val emailSignUpAtomDecoder: Decoder[emailsignup.EmailSignUpAtom] = deriveDecoder + implicit val footballCompetitionAtomDecoder: Decoder[footballcompetition.FootballCompetitionAtom] = deriveDecoder implicit val atomDecoder: Decoder[contentatom.Atom] = deriveDecoder implicit val contentChangeDetailsDecoder: Decoder[contentatom.ContentChangeDetails] = deriveDecoder implicit val changeRecordDecoder: Decoder[contentatom.ChangeRecord] = deriveDecoder diff --git a/json/src/main/scala/com/gu/contentapi/json/CirceEncoders.scala b/json/src/main/scala/com/gu/contentapi/json/CirceEncoders.scala index 79f185c..43e153f 100644 --- a/json/src/main/scala/com/gu/contentapi/json/CirceEncoders.scala +++ b/json/src/main/scala/com/gu/contentapi/json/CirceEncoders.scala @@ -152,6 +152,7 @@ object CirceEncoders { implicit val audioAtomEncoder: Encoder[audio.AudioAtom] = deriveEncoder implicit val offPlatformEncoder: Encoder[audio.OffPlatform] = deriveEncoder implicit val emailSignUpAtomEncoder: Encoder[emailsignup.EmailSignUpAtom] = deriveEncoder + implicit val footballCompetitionAtomEncoder: Encoder[footballcompetition.FootballCompetitionAtom] = deriveEncoder implicit val atomEncoder: Encoder[contentatom.Atom] = deriveEncoder implicit val contentChangeDetailsEncoder: Encoder[contentatom.ContentChangeDetails] = deriveEncoder implicit val changeRecordEncoder: Encoder[contentatom.ChangeRecord] = deriveEncoder From 97e79ceffe83b16148c8007d81379033b943276d Mon Sep 17 00:00:00 2001 From: Marjan Kalanaki <15894063+marjisound@users.noreply.github.com> Date: Wed, 15 Jul 2026 14:01:15 +0100 Subject: [PATCH 4/4] make football competition atom temp --- build.sbt | 2 +- .../src/main/scala/com/gu/contentapi/json/CirceDecoders.scala | 2 +- .../src/main/scala/com/gu/contentapi/json/CirceEncoders.scala | 2 +- models/src/main/thrift/content/v1.thrift | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/build.sbt b/build.sbt index 685f846..bce2bd9 100644 --- a/build.sbt +++ b/build.sbt @@ -5,7 +5,7 @@ import sbtversionpolicy.withsbtrelease.ReleaseVersion // dependency versions val contentEntityVersion = "4.0.0" -val contentAtomVersion = "12.1.0-PREVIEW.add-new-atom-for-match-day.2026-06-29T0857.762a6566" +val contentAtomVersion = "12.1.0-PREVIEW.add-new-atom-for-match-day.2026-07-15T1141.302c1611" val storyPackageVersion = "2.2.0" val thriftVersion = "0.23.0" val scroogeVersion = "22.1.0" // update plugins too if this version changes diff --git a/json/src/main/scala/com/gu/contentapi/json/CirceDecoders.scala b/json/src/main/scala/com/gu/contentapi/json/CirceDecoders.scala index bef357f..c46bd4e 100644 --- a/json/src/main/scala/com/gu/contentapi/json/CirceDecoders.scala +++ b/json/src/main/scala/com/gu/contentapi/json/CirceDecoders.scala @@ -203,7 +203,7 @@ object CirceDecoders { implicit val audioAtomDecoder: Decoder[audio.AudioAtom] = deriveDecoder implicit val offPlatformDecoder: Decoder[audio.OffPlatform] = deriveDecoder implicit val emailSignUpAtomDecoder: Decoder[emailsignup.EmailSignUpAtom] = deriveDecoder - implicit val footballCompetitionAtomDecoder: Decoder[footballcompetition.FootballCompetitionAtom] = deriveDecoder + implicit val tempFootballCompetitionAtomDecoder: Decoder[tempfootballcompetition.TempFootballCompetitionAtom] = deriveDecoder implicit val atomDecoder: Decoder[contentatom.Atom] = deriveDecoder implicit val contentChangeDetailsDecoder: Decoder[contentatom.ContentChangeDetails] = deriveDecoder implicit val changeRecordDecoder: Decoder[contentatom.ChangeRecord] = deriveDecoder diff --git a/json/src/main/scala/com/gu/contentapi/json/CirceEncoders.scala b/json/src/main/scala/com/gu/contentapi/json/CirceEncoders.scala index 43e153f..6648bb0 100644 --- a/json/src/main/scala/com/gu/contentapi/json/CirceEncoders.scala +++ b/json/src/main/scala/com/gu/contentapi/json/CirceEncoders.scala @@ -152,7 +152,7 @@ object CirceEncoders { implicit val audioAtomEncoder: Encoder[audio.AudioAtom] = deriveEncoder implicit val offPlatformEncoder: Encoder[audio.OffPlatform] = deriveEncoder implicit val emailSignUpAtomEncoder: Encoder[emailsignup.EmailSignUpAtom] = deriveEncoder - implicit val footballCompetitionAtomEncoder: Encoder[footballcompetition.FootballCompetitionAtom] = deriveEncoder + implicit val tempFootballCompetitionAtomEncoder: Encoder[tempfootballcompetition.TempFootballCompetitionAtom] = deriveEncoder implicit val atomEncoder: Encoder[contentatom.Atom] = deriveEncoder implicit val contentChangeDetailsEncoder: Encoder[contentatom.ContentChangeDetails] = deriveEncoder implicit val changeRecordEncoder: Encoder[contentatom.ChangeRecord] = deriveEncoder diff --git a/models/src/main/thrift/content/v1.thrift b/models/src/main/thrift/content/v1.thrift index 159d6c8..4eeb191 100644 --- a/models/src/main/thrift/content/v1.thrift +++ b/models/src/main/thrift/content/v1.thrift @@ -1831,7 +1831,7 @@ struct Atoms { 17: optional list emailsignups - 18: optional list footballcompetitions + 18: optional list tempfootballcompetitions } struct ContentStats { @@ -2279,7 +2279,7 @@ struct ItemResponse { 38: optional list deeplyRead - 39: optional contentatom.Atom footballcompetition + 39: optional contentatom.Atom tempfootballcompetition } struct TagsResponse {