diff options
Diffstat (limited to 'src/main/scala/xyz/driver/core/database/package.scala')
-rw-r--r-- | src/main/scala/xyz/driver/core/database/package.scala | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/main/scala/xyz/driver/core/database/package.scala b/src/main/scala/xyz/driver/core/database/package.scala new file mode 100644 index 0000000..c88260b --- /dev/null +++ b/src/main/scala/xyz/driver/core/database/package.scala @@ -0,0 +1,31 @@ +package xyz.driver.core + +import java.sql.{Date => SqlDate} +import java.util.Calendar + +import date.Date +import slick.dbio.{DBIOAction, NoStream} + +package object database { + + type Schema = { + def create: DBIOAction[Unit, NoStream, slick.dbio.Effect.Schema] + def drop: DBIOAction[Unit, NoStream, slick.dbio.Effect.Schema] + } + + private[database] def sqlDateToDate(sqlDate: SqlDate): Date = { + // NOTE: SQL date does not have a time component, so this date + // should only be interpreted in the running JVMs timezone. + val cal = Calendar.getInstance() + cal.setTime(sqlDate) + Date(cal.get(Calendar.YEAR), date.tagMonth(cal.get(Calendar.MONTH)), cal.get(Calendar.DAY_OF_MONTH)) + } + + private[database] def dateToSqlDate(date: Date): SqlDate = { + val cal = Calendar.getInstance() + cal.set(Calendar.YEAR, date.year - 1900) + cal.set(Calendar.MONTH, date.month) + cal.set(Calendar.DAY_OF_MONTH, date.day) + new SqlDate(cal.getTime.getTime) + } +} |