Advertisement
Guest User

Untitled

a guest
Nov 25th, 2015
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scala 1.11 KB | None | 0 0
  1. def find(loginInfo: LoginInfo): Future[Option[User]] = {
  2.     val userQuery = for {
  3.       dbLoginInfo <- loginInfoQuery(loginInfo)
  4.       dbUserLoginInfo <- slickUserLoginInfos.filter(_.loginInfoId === dbLoginInfo.id)
  5.       dbUser <- slickUsers.filter(_.id === dbUserLoginInfo.userID)
  6.       dbUserPermission <- slickUserPermissions.filter(_.userID === dbUser.id)
  7.       dbPermission <- slickPermissions.filter(_.id === dbUserPermission.permissionId)
  8.       dbUserRole <- slickUserRoles.filter(_.userID === dbUser.id)
  9.       dbRole <- slickPermissions.filter(_.id === dbUserRole.roleId)
  10.     } yield (dbUser, dbPermission, dbRole)
  11.     db.run(userQuery.result.headOption).map { dbUserOption =>
  12.       dbUserOption.map {
  13.         case (user, permissions, roles) =>
  14.           User(UUID.fromString(user.userID),
  15.             user.firstName,
  16.             user.lastName,
  17.             user.fullName,
  18.             user.jobTitle,
  19.             loginInfo,
  20.             user.email,
  21.             user.emailConfirmed,
  22.             Some(List()),
  23.             Some(List()),
  24.             Some(List()),
  25.             user.enabled)
  26.       }
  27.     }
  28.   }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement