diff -r 48479e4b89d4 -r 1a1347e8c5be base/src/sqwl/cms/datamodel.scala --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/base/src/sqwl/cms/datamodel.scala Thu Nov 29 12:20:20 2018 +0100 @@ -0,0 +1,33 @@ +package sqwl.cms + +import java.nio.file.Path + +trait Named { + def name: String +} + +trait Navigable { + def pathSegment: String +} + +trait iCategory extends Named with Navigable + +trait iTag extends Named with Navigable + +trait iArticle extends Navigable { + def title: String + def htmlContent: String + def category: Option[iCategory] + def tags: Seq[iTag] + def assets: Path +} + +trait iContent { + def articlesByTag(t: iTag): Seq[iArticle] + def articlesByCategory(c: iCategory): Seq[iArticle] + def tags: Seq[iTag] + def categories: Seq[iCategory] + def articleByPath(path: String): Option[iArticle] + def categoryByPath(path: String): Option[iCategory] + def tagByPath(path: String): Option[iTag] +}