--- /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]
+}