From 2d37efd815846e976d1bf8aee5c20727bb89b09e Mon Sep 17 00:00:00 2001 From: vlad Date: Tue, 28 Feb 2017 22:54:07 -0800 Subject: Key mappers for generated code --- src/main/scala/xyz/driver/core/database/database.scala | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src/main/scala/xyz/driver/core/database/database.scala') diff --git a/src/main/scala/xyz/driver/core/database/database.scala b/src/main/scala/xyz/driver/core/database/database.scala index c14d0a5..b7a4165 100644 --- a/src/main/scala/xyz/driver/core/database/database.scala +++ b/src/main/scala/xyz/driver/core/database/database.scala @@ -111,6 +111,16 @@ package database { } } + trait KeyMappers extends ColumnTypes { + import profile.api._ + + def uuidKeyMapper[T] = + MappedColumnType + .base[Id[T], java.util.UUID](id => java.util.UUID.fromString(id.value), uuid => Id[T](uuid.toString)) + def serialKeyMapper[T] = MappedColumnType.base[Id[T], Long](_.value.toLong, serialId => Id[T](serialId.toString)) + def naturalKeyMapper[T] = MappedColumnType.base[Id[T], String](_.value, Id[T](_)) + } + trait DatabaseObject extends ColumnTypes { def createTables(): Future[Unit] def disconnect(): Unit -- cgit v1.2.3