Skip to content

Commit

Permalink
Merge pull request #1559 from guardian/play-3.0-upgrade
Browse files Browse the repository at this point in the history
Play 3.0 upgrade
  • Loading branch information
davidfurey authored May 9, 2024
2 parents 9c4cca1 + 7c3e961 commit 734f4ed
Show file tree
Hide file tree
Showing 45 changed files with 164 additions and 156 deletions.
2 changes: 1 addition & 1 deletion app/Components.scala
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ class AppComponents(context: Context, val config: ApplicationConfiguration)
allowedOrigins = Origins.Matching(Set(config.environment.applicationUrl))
)

override lazy val assets: Assets = new controllers.Assets(httpErrorHandler, assetsMetadata)
override lazy val assets: Assets = new controllers.Assets(httpErrorHandler, assetsMetadata, environment)

val router: Router = new Routes(httpErrorHandler, status, pandaAuth, v2Assets, v1Assets, views, faciaTool,
pressController, faciaToolV2, defaults, userDataController, faciaCapiProxy, thumbnail, front, collection, storiesVisible, vanityRedirects, troubleshoot, v2App, gridProxy, editions)
Expand Down
2 changes: 1 addition & 1 deletion app/config/Filters.scala
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package config

import akka.stream.Materializer
import org.apache.pekko.stream.Materializer
import play.api.mvc.ResponseHeader
import play.filters.gzip.GzipFilter

Expand Down
6 changes: 3 additions & 3 deletions app/controllers/CollectionController.scala
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@ import scala.concurrent.ExecutionContext
import com.gu.facia.client.models.CollectionConfigJson
import config.UpdateManager
import permissions.ConfigPermissionCheck
import play.api.libs.json.Json
import play.api.libs.json.{Json, OFormat}
import services.Press
import updates._
import util.Acl
import util.Requests._
import logging.Logging

object CollectionRequest {
implicit val jsonFormat = Json.format[CollectionRequest]
implicit val jsonFormat: OFormat[CollectionRequest] = Json.format[CollectionRequest]
}

case class CollectionRequest(
Expand All @@ -21,7 +21,7 @@ case class CollectionRequest(
)

object CreateCollectionResponse {
implicit val jsonFormat = Json.format[CreateCollectionResponse]
implicit val jsonFormat: OFormat[CreateCollectionResponse] = Json.format[CreateCollectionResponse]
}

case class CreateCollectionResponse(id: String)
Expand Down
4 changes: 2 additions & 2 deletions app/controllers/DefaultsController.scala
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@ import model.editions.{EditionsAppTemplates, FeastAppTemplates}
import model.editions.templates.CuratedPlatformDefinition
import model.{Cached, UserDataForDefaults}
import permissions.Permissions
import play.api.libs.json.{JsValue, Json}
import play.api.libs.json.{JsValue, Json, OWrites}
import switchboard.SwitchManager
import util.{Acl, AclJson}

object Defaults {
implicit val jsonFormat = Json.writes[Defaults]
implicit val jsonFormat: OWrites[Defaults] = Json.writes[Defaults]
}

case class Defaults(
Expand Down
5 changes: 2 additions & 3 deletions app/controllers/FaciaContentApiProxy.scala
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
package controllers

import java.net.{URI, URLEncoder}

import com.gu.contentapi.client.IAMEncoder
import metrics.FaciaToolMetrics
import model.Cached
import play.api.libs.concurrent.Futures
import play.api.libs.concurrent.{DefaultFutures, Futures}
import play.api.libs.concurrent.Futures._

import scala.concurrent.duration._
Expand All @@ -18,7 +17,7 @@ import scala.concurrent.ExecutionContext


class FaciaContentApiProxy(capi: Capi, val deps: BaseFaciaControllerComponents)(implicit ec: ExecutionContext) extends BaseFaciaController(deps) with Logging {
implicit val futures = new play.api.libs.concurrent.DefaultFutures(akka.actor.ActorSystem())
implicit val futures: DefaultFutures = new play.api.libs.concurrent.DefaultFutures(org.apache.pekko.actor.ActorSystem())
implicit class string2encodings(s: String) {
lazy val urlEncoded = URLEncoder.encode(s, "utf-8")
}
Expand Down
4 changes: 2 additions & 2 deletions app/controllers/FaciaToolV2Controller.scala
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import frontsapi.model.UpdateActions
import logging.Logging
import metrics.FaciaToolMetrics
import model.NoCache
import play.api.libs.json.Json
import play.api.libs.json.{Json, OFormat}
import services._
import updates._
import util.Acl
Expand All @@ -16,7 +16,7 @@ import permissions.CollectionPermissions
import scala.concurrent.{ExecutionContext, Future}

object CollectionSpec {
implicit val jsonFormat = Json.format[CollectionSpec]
implicit val jsonFormat: OFormat[CollectionSpec] = Json.format[CollectionSpec]
}

case class CollectionSpec(id: String, lastUpdated: Option[Long])
Expand Down
4 changes: 2 additions & 2 deletions app/controllers/PressController.scala
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@ package controllers
import com.amazonaws.services.dynamodbv2.AmazonDynamoDB
import org.scanamo.generic.auto.genericDerivedFormat
import org.scanamo.{Scanamo, Table}
import play.api.libs.json.Json
import play.api.libs.json.{Json, OFormat}
import software.amazon.awssdk.services.dynamodb.DynamoDbClient

object FrontPressRecord {
implicit val jsonFormat = Json.format[FrontPressRecord]
implicit val jsonFormat: OFormat[FrontPressRecord] = Json.format[FrontPressRecord]
}
case class FrontPressRecord (
stageName: String,
Expand Down
4 changes: 2 additions & 2 deletions app/controllers/StoriesVisibleController.scala
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
package controllers

import logging.Logging
import play.api.libs.json.Json
import play.api.libs.json.{Json, OFormat}
import services.ContainerService
import slices.Story

object StoriesVisibleRequest {
implicit val jsonFormat = Json.format[StoriesVisibleRequest]
implicit val jsonFormat: OFormat[StoriesVisibleRequest] = Json.format[StoriesVisibleRequest]
}

case class StoriesVisibleRequest(
Expand Down
7 changes: 3 additions & 4 deletions app/controllers/UserDataController.scala
Original file line number Diff line number Diff line change
Expand Up @@ -20,16 +20,15 @@ import org.scanamo.generic.semiauto._
import scala.util.{Failure, Success, Try}

class UserDataController(frontsApi: FrontsApi, dynamoClient: DynamoDbClient, val deps: BaseFaciaControllerComponents)(implicit ec: ExecutionContext) extends BaseFaciaController(deps) {
implicit val UserData: DynamoFormat[UserData] = deriveDynamoFormat[UserData]
implicit val Trail: DynamoFormat[Trail] = deriveDynamoFormat[Trail]
implicit val JsValue: DynamoFormat[JsValue] = DynamoFormat.xmap[JsValue, String](
implicit val jsValue: DynamoFormat[JsValue] = DynamoFormat.xmap[JsValue, String](
x => Try(Json.parse(x)) match {
case Success(y) => Right(y)
case Failure(t) => Left(TypeCoercionError(t))
},
x => (Json.stringify(x))
)

implicit val trail: DynamoFormat[Trail] = deriveDynamoFormat[Trail]
implicit val userData: DynamoFormat[UserData] = deriveDynamoFormat[UserData]
private lazy val userDataTable = Table[UserData](config.faciatool.userDataTable)

private def updateClipboardContentByFieldName(articles: Option[JsValue], userEmail: String, fieldName: String) = {
Expand Down
2 changes: 1 addition & 1 deletion app/filters/LoggingFilter.scala
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ package filters

import javax.inject.Inject
import scala.jdk.CollectionConverters._
import akka.stream.Materializer
import org.apache.pekko.stream.Materializer
import play.api.MarkerContext
import play.api.mvc._
import scala.concurrent.{ExecutionContext, Future}
Expand Down
2 changes: 1 addition & 1 deletion app/logging/Logging.scala
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@ package logging
import play.api.Logger

trait Logging {
implicit val logger = Logger(getClass)
implicit val logger: Logger = Logger(getClass)
}
2 changes: 1 addition & 1 deletion app/metrics/metrics.scala
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import java.io.File
import java.lang.management.{GarbageCollectorMXBean, ManagementFactory}
import java.util.concurrent.atomic.AtomicLong

import akka.actor.Scheduler
import org.apache.pekko.actor.Scheduler
import com.amazonaws.services.cloudwatch.model.{Dimension, StandardUnit}
import logging.Logging

Expand Down
4 changes: 2 additions & 2 deletions app/model/FeatureSwitches.scala
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package model

import play.api.libs.json.Json
import play.api.libs.json.{Json, OFormat}

object FeatureSwitch {
implicit val jsonFormat = Json.format[FeatureSwitch]
implicit val jsonFormat: OFormat[FeatureSwitch] = Json.format[FeatureSwitch]
}

case class FeatureSwitch(
Expand Down
6 changes: 3 additions & 3 deletions app/model/UserData.scala
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@ package model

import com.gu.facia.client.models.Trail
import org.scanamo.{DynamoFormat, TypeCoercionError}
import play.api.libs.json.{JsValue, Json}
import play.api.libs.json.{JsValue, Json, OFormat}

import scala.util.{Failure, Success, Try}

object UserData {
implicit val jsonFormat = Json.format[UserData]
implicit val jsonFormat: OFormat[UserData] = Json.format[UserData]

implicit val jsValueFormat: DynamoFormat[JsValue] = DynamoFormat.xmap[JsValue, String](
x => Try(Json.parse(x)) match {
Expand Down Expand Up @@ -39,7 +39,7 @@ case class UserData(
)

object UserDataForDefaults {
implicit val jsonFormat = Json.format[UserDataForDefaults]
implicit val jsonFormat: OFormat[UserDataForDefaults] = Json.format[UserDataForDefaults]

def fromUserData(userData: UserData, clipboardArticles: Option[List[Trail]]): UserDataForDefaults = {
val featureSwitches = userData.featureSwitches.fold(FeatureSwitches.all) { userFeatureSwitches =>
Expand Down
10 changes: 5 additions & 5 deletions app/model/editions/EditionsAppTemplates.scala
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import model.editions.templates.TemplateHelpers.Defaults
import model.editions.templates._
import model.editions.templates.feast.{FeastNorthernHemisphere, FeastSouthernHemisphere}
import org.postgresql.util.PGobject
import play.api.libs.json.Json
import play.api.libs.json.{Json, OFormat}
import services.editions.prefills.CapiQueryTimeWindow


Expand Down Expand Up @@ -70,7 +70,7 @@ object CuratedPlatform extends PlayEnum[CuratedPlatform] {
}

case object WeekDay extends Enumeration(1) {
implicit lazy val implicitConversions = scala.language.implicitConversions
implicit lazy val implicitConversions: languageFeature.implicitConversions = scala.language.implicitConversions

type WeekDay = Value
val Mon, Tues, Wed, Thurs, Fri, Sat, Sun = Value
Expand Down Expand Up @@ -133,11 +133,11 @@ object Edition extends PlayEnum[Edition] {
}

case class FrontPresentation(swatch: Swatch) {
implicit def frontPresentationFormat = Json.format[FrontPresentation]
implicit def frontPresentationFormat: OFormat[FrontPresentation] = Json.format[FrontPresentation]
}

object FrontPresentation {
implicit def frontPresentationFormat = Json.format[FrontPresentation]
implicit def frontPresentationFormat: OFormat[FrontPresentation] = Json.format[FrontPresentation]
}

case class CollectionPresentation()
Expand All @@ -152,7 +152,7 @@ case class CapiPrefillQuery(queryString: String, pathType: PathType) {
}

object CapiPrefillQuery {
implicit def format = Json.format[CapiPrefillQuery]
implicit def format: OFormat[CapiPrefillQuery] = Json.format[CapiPrefillQuery]
}

import model.editions.WeekDay._
Expand Down
10 changes: 5 additions & 5 deletions app/model/editions/EditionsCard.scala
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package model.editions
import enumeratum.EnumEntry.Uncapitalised
import enumeratum.{EnumEntry, PlayEnum}
import logging.Logging
import play.api.libs.json.Json
import play.api.libs.json.{JsResult, Json, OFormat}
import scalikejdbc.WrappedResultSet

case class Image (
Expand All @@ -17,13 +17,13 @@ case class Image (
}

object Image {
implicit val format = Json.format[Image]
implicit val format: OFormat[Image] = Json.format[Image]
}

case class CoverCardImages(mobile: Option[Image], tablet: Option[Image])

object CoverCardImages {
implicit val format = Json.format[CoverCardImages]
implicit val format: OFormat[CoverCardImages] = Json.format[CoverCardImages]
}

case class CardMetadata(
Expand All @@ -47,7 +47,7 @@ case class CardMetadata(
)

object CardMetadata {
implicit val format = Json.format[CardMetadata]
implicit val format: OFormat[CardMetadata] = Json.format[CardMetadata]

val default = CardMetadata(None, None, None, None, None, None, None, None, None, None, None, None, None)
}
Expand Down Expand Up @@ -109,7 +109,7 @@ case class EditionsCard(id: String, cardType: CardType, addedOn: Long, metadata:
}

object EditionsCard extends Logging {
implicit val writes = Json.format[EditionsCard]
implicit val writes: OFormat[EditionsCard] = Json.format[EditionsCard]

def fromRowOpt(rs: WrappedResultSet, prefix: String = ""): Option[EditionsCard] = {
for {
Expand Down
8 changes: 4 additions & 4 deletions app/model/editions/EditionsClientCollection.scala
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package model.editions

import model.editions.client.ClientCardMetadata
import play.api.libs.json.Json
import play.api.libs.json.{Json, OFormat}
import services.editions.prefills.CapiQueryTimeWindow

// Ideally the frontend can be changed so we don't have this weird modelling!
Expand Down Expand Up @@ -41,9 +41,9 @@ case class EditionsClientCollection(
case class EditionsFrontendCollectionWrapper(id: String, collection: EditionsClientCollection)

object EditionsFrontendCollectionWrapper {
implicit def cardFormat = Json.format[EditionsClientCard]
implicit def collectionFormat = Json.format[EditionsClientCollection]
implicit def collectionWrapperFormat = Json.format[EditionsFrontendCollectionWrapper]
implicit def cardFormat: OFormat[EditionsClientCard] = Json.format[EditionsClientCard]
implicit def collectionFormat: OFormat[EditionsClientCollection] = Json.format[EditionsClientCollection]
implicit def collectionWrapperFormat: OFormat[EditionsFrontendCollectionWrapper] = Json.format[EditionsFrontendCollectionWrapper]

def fromCollection(collection: EditionsCollection): EditionsFrontendCollectionWrapper = {
EditionsFrontendCollectionWrapper(
Expand Down
5 changes: 2 additions & 3 deletions app/model/editions/EditionsCollection.scala
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
package model.editions

import java.time.ZonedDateTime

import play.api.libs.json.Json
import play.api.libs.json.{Json, OFormat}
import scalikejdbc.WrappedResultSet
import services.editions.prefills.CapiQueryTimeWindow

Expand All @@ -25,7 +24,7 @@ case class EditionsCollection(
}

object EditionsCollection {
implicit val format = Json.format[EditionsCollection]
implicit val format: OFormat[EditionsCollection] = Json.format[EditionsCollection]

def fromRow(rs: WrappedResultSet, prefix: String = ""): EditionsCollection = {
val capiPrefillQuery: Option[CapiPrefillQuery] =
Expand Down
6 changes: 3 additions & 3 deletions app/model/editions/EditionsFront.scala
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
package model.editions

import org.postgresql.util.PGobject
import play.api.libs.json.Json
import play.api.libs.json.{Json, OFormat, OWrites}
import scalikejdbc.WrappedResultSet

object EditionsFrontMetadata {
implicit val format = Json.format[EditionsFrontMetadata]
implicit val format: OFormat[EditionsFrontMetadata] = Json.format[EditionsFrontMetadata]
}

case class EditionsFrontMetadata(nameOverride: Option[String], swatch: Option[Swatch]) {
Expand Down Expand Up @@ -45,7 +45,7 @@ case class EditionsFront(
}

object EditionsFront {
implicit val writes = Json.writes[EditionsFront]
implicit val writes: OWrites[EditionsFront] = Json.writes[EditionsFront]

def fromRow(rs: WrappedResultSet, prefix: String = ""): EditionsFront = {
EditionsFront(
Expand Down
8 changes: 3 additions & 5 deletions app/model/editions/IssueVersion.scala
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package model.editions

import play.api.libs.json.Json
import play.api.libs.json.{Format, Json, OFormat}
import scalikejdbc.WrappedResultSet
import enumeratum.{EnumEntry, PlayEnum}

Expand Down Expand Up @@ -28,8 +28,7 @@ case class IssueVersionEvent(
)

object IssueVersionEvent {
implicit val reads = Json.reads[IssueVersionEvent]
implicit val writes = Json.writes[IssueVersionEvent]
implicit val format: Format[IssueVersionEvent] = Json.format[IssueVersionEvent]

def fromRow(rs: WrappedResultSet): IssueVersionEvent = IssueVersionEvent(
rs.zonedDateTime("event_time").toInstant.toEpochMilli,
Expand All @@ -47,8 +46,7 @@ case class IssueVersion(
)

object IssueVersion {
implicit val reads = Json.reads[IssueVersion]
implicit val writes = Json.writes[IssueVersion]
implicit val format: OFormat[IssueVersion] = Json.format[IssueVersion]

def fromRow(rs: WrappedResultSet): IssueVersion = IssueVersion(
rs.string("version_id"),
Expand Down
Loading

0 comments on commit 734f4ed

Please sign in to comment.