Guest User

Untitled

a guest
Oct 16th, 2017
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.41 KB | None | 0 0
  1. def getMaxUserLevelByUserId(userId: Muid)(
  2. implicit connection: Connection): Option[OrganizationMembership.Level.Value] = {
  3. val organizationMemberships = getAllByUserId(userId)
  4.  
  5. if (organizationMemberships.exists(_.level == OrganizationMembership.Level.Admin)) {
  6. Some(OrganizationMembership.Level.Admin)
  7. } else if (organizationMemberships.exists(_.level == OrganizationMembership.Level.Member)) {
  8. Some(OrganizationMembership.Level.Member)
  9. } else if (organizationMemberships.exists(_.level == OrganizationMembership.Level.Guest)) {
  10. Some(OrganizationMembership.Level.Guest)
  11. } else {
  12. None
  13. }
  14. }
  15.  
  16. def getMaxUserLevelByUserId(userId: Muid)(
  17. implicit connection: Connection): Option[OrganizationMembership.Level.Value] = {
  18. val organizationMemberships = getAllByUserId(userId)
  19.  
  20. if (organizationMemberships.nonEmpty) {
  21.  
  22. val levelMap = Map(
  23. OrganizationMembership.Level.Guest -> 0,
  24. OrganizationMembership.Level.Member -> 1,
  25. OrganizationMembership.Level.Admin -> 2
  26. )
  27.  
  28. val maxLevel = organizationMemberships.foldLeft(OrganizationMembership.Level.Guest) {
  29. (level, organizationMembership) =>
  30. if (levelMap(organizationMembership.level) > levelMap(level)) {
  31. organizationMembership.level
  32. } else {
  33. level
  34. }
  35. }
  36.  
  37. Some(maxLevel)
  38.  
  39. } else {
  40.  
  41. None
  42.  
  43. }
  44. }
Add Comment
Please, Sign In to add comment