aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/NamespacedCodegen.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/NamespacedCodegen.scala')
-rw-r--r--src/main/scala/NamespacedCodegen.scala21
1 files changed, 11 insertions, 10 deletions
diff --git a/src/main/scala/NamespacedCodegen.scala b/src/main/scala/NamespacedCodegen.scala
index bddbdea..2ac41e0 100644
--- a/src/main/scala/NamespacedCodegen.scala
+++ b/src/main/scala/NamespacedCodegen.scala
@@ -24,7 +24,8 @@ object Generator {
outputPath: String,
manualForeignKeys: Map[(String, String), (String, String)],
schemaBaseClass: String,
- idType: Option[String]) = {
+ idType: Option[String],
+ schemaImports: List[String]) = {
val dc: DatabaseConfig[JdbcProfile] =
DatabaseConfig.forURI[JdbcProfile](uri)
val parsedSchemasOpt: Option[Map[String, List[String]]] =
@@ -39,7 +40,8 @@ object Generator {
outputPath,
manualForeignKeys,
schemaBaseClass,
- idType)
+ idType,
+ schemaImports)
generator.code // Yes... Files are written as a side effect
parsedSchemasOpt
.getOrElse(Map())
@@ -60,12 +62,10 @@ class PackageNameGenerator(pkg: String, dbModel: Model)
|""".stripMargin
}
-class ImportGenerator(dbModel: Model) extends SourceCodeGenerator(dbModel) {
- val baseImports: String =
- s"""
- |import xyz.driver.core.Id
- |
- |""".stripMargin
+class ImportGenerator(dbModel: Model, schemaImports: List[String])
+ extends SourceCodeGenerator(dbModel) {
+
+ val baseImports: String = schemaImports.map("import " + _).mkString("\n")
val hlistImports: String =
if (tables.exists(_.hlistEnabled))
@@ -95,12 +95,13 @@ class Generator(uri: URI,
outputPath: String,
manualForeignKeys: Map[(String, String), (String, String)],
schemaBaseClass: String,
- idType: Option[String])
+ idType: Option[String],
+ schemaImports: List[String])
extends SourceCodeGenerator(dbModel)
with OutputHelpers {
val packageName = new PackageNameGenerator(pkg, dbModel).code
- val allImports: String = new ImportGenerator(dbModel).code
+ val allImports: String = new ImportGenerator(dbModel, schemaImports).code
private val defaultIdImplementation =
"""|case class Id[T](v: Int)