Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def getMaxUserLevelByUserId(userId: Muid)(
- implicit connection: Connection): Option[OrganizationMembership.Level.Value] = {
- val organizationMemberships = getAllByUserId(userId)
- if (organizationMemberships.exists(_.level == OrganizationMembership.Level.Admin)) {
- Some(OrganizationMembership.Level.Admin)
- } else if (organizationMemberships.exists(_.level == OrganizationMembership.Level.Member)) {
- Some(OrganizationMembership.Level.Member)
- } else if (organizationMemberships.exists(_.level == OrganizationMembership.Level.Guest)) {
- Some(OrganizationMembership.Level.Guest)
- } else {
- None
- }
- }
- def getMaxUserLevelByUserId(userId: Muid)(
- implicit connection: Connection): Option[OrganizationMembership.Level.Value] = {
- val organizationMemberships = getAllByUserId(userId)
- if (organizationMemberships.nonEmpty) {
- val levelMap = Map(
- OrganizationMembership.Level.Guest -> 0,
- OrganizationMembership.Level.Member -> 1,
- OrganizationMembership.Level.Admin -> 2
- )
- val maxLevel = organizationMemberships.foldLeft(OrganizationMembership.Level.Guest) {
- (level, organizationMembership) =>
- if (levelMap(organizationMembership.level) > levelMap(level)) {
- organizationMembership.level
- } else {
- level
- }
- }
- Some(maxLevel)
- } else {
- None
- }
- }
Add Comment
Please, Sign In to add comment