app/model/editions/EditionsIssueSkeleton.scala (40 lines of code) (raw):

package model.editions import org.postgresql.util.PGobject import play.api.libs.json.Json import services.editions.prefills.CapiQueryTimeWindow import java.time.{LocalDate, ZoneId} // Issue skeletons are what is generated when you create a new issue for a given date // (Date + Template) => Skeleton case class EditionsIssueSkeleton( issueDate: LocalDate, zoneId: ZoneId, fronts: List[EditionsFrontSkeleton] ) case class EditionsFrontSkeleton( name: String, collections: List[EditionsCollectionSkeleton], presentation: FrontPresentation, hidden: Boolean, isSpecial: Boolean ) { def metadata() = { val metadataParam = new PGobject() metadataParam.setType("jsonb") metadataParam.setValue( Json .toJson(EditionsFrontMetadata(None, Some(presentation.swatch))) .toString ) metadataParam } } case class EditionsCollectionSkeleton( name: String, items: List[EditionsCardSkeleton], prefill: Option[CapiPrefillQuery], capiQueryTimeWindow: CapiQueryTimeWindow, hidden: Boolean ) case class EditionsCardSkeleton( id: String, cardType: CardType, metadata: Option[EditionsCardMetadata] = None )